<?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>59411</bug_id>
          
          <creation_ts>2011-04-25 19:58:24 -0700</creation_ts>
          <short_desc>[EFL] Change cursor to LAZY_NATIVE_CURSOR</short_desc>
          <delta_ts>2011-04-27 23:46:21 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>392196</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-25 19:58:24 -0700</bug_when>
    <thetext>Other ports use LAZY_NATIVE_CURSOR, but EFL doesn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392209</commentid>
    <comment_count>1</comment_count>
      <attachid>91046</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-25 20:13:33 -0700</bug_when>
    <thetext>Created attachment 91046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392232</commentid>
    <comment_count>2</comment_count>
      <attachid>91051</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-25 21:22:45 -0700</bug_when>
    <thetext>Created attachment 91051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392788</commentid>
    <comment_count>3</comment_count>
      <attachid>91051</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 15:11:18 -0700</bug_when>
    <thetext>Comment on attachment 91051
Patch

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

Looks fine except for the , strangeness.  I think we only do the leading comma for initializer lists.

&gt; Source/WebCore/platform/efl/CursorEfl.cpp:62
&gt; +        &quot;cursor/pointer&quot;
&gt; +        , &quot;cursor/cross&quot;

I think we would normally write this &quot;foo&quot;, and put a comma after every line.  But I&apos;m not sure.

&gt; Source/WebCore/platform/efl/CursorEfl.cpp:104
&gt; +        , &quot;&quot;};

What&apos;s this for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394127</commentid>
    <comment_count>4</comment_count>
      <attachid>91411</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-27 19:43:15 -0700</bug_when>
    <thetext>Created attachment 91411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394128</commentid>
    <comment_count>5</comment_count>
      <attachid>91411</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-27 19:46:05 -0700</bug_when>
    <thetext>Comment on attachment 91411
Patch

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

&gt; Source/WebCore/platform/efl/CursorEfl.cpp:58
&gt; +static const char* getCursorString(Cursor::Type type)

We usually do not use &quot;get&quot; for getters.

&gt; Source/WebCore/platform/efl/WidgetEfl.cpp:266
&gt; +    const char *group = cursor.platformCursor();

* in the left side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394132</commentid>
    <comment_count>6</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-27 20:00:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 91051 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91051&amp;action=review
&gt; 
&gt; Looks fine except for the , strangeness.  I think we only do the leading comma for initializer lists.
&gt; 
&gt; &gt; Source/WebCore/platform/efl/CursorEfl.cpp:62
&gt; &gt; +        &quot;cursor/pointer&quot;
&gt; &gt; +        , &quot;cursor/cross&quot;
&gt; 
Thank you. It&apos;s my mistake and changed.

&gt; I think we would normally write this &quot;foo&quot;, and put a comma after every line.  But I&apos;m not sure.
&gt; 
&gt; &gt; Source/WebCore/platform/efl/CursorEfl.cpp:104
&gt; &gt; +        , &quot;&quot;};
&gt; 
&gt; What&apos;s this for?

WebCore::Cursor::Type have Custom, but EFL port doesn&apos;t support it yet.
&quot;&quot; at position of Custom will prevent exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394134</commentid>
    <comment_count>7</comment_count>
      <attachid>91413</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-27 20:01:35 -0700</bug_when>
    <thetext>Created attachment 91413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394135</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-27 20:02:31 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 91411 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91411&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/efl/CursorEfl.cpp:58
&gt; &gt; +static const char* getCursorString(Cursor::Type type)
&gt; 
changed to cursorString.

&gt; We usually do not use &quot;get&quot; for getters.
&gt; 
&gt; &gt; Source/WebCore/platform/efl/WidgetEfl.cpp:266
&gt; &gt; +    const char *group = cursor.platformCursor();
&gt; 
&gt; * in the left side.

Done.

Thank you for quick review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394140</commentid>
    <comment_count>9</comment_count>
      <attachid>91413</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-27 20:12:54 -0700</bug_when>
    <thetext>Comment on attachment 91413
Patch

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

&gt; Source/WebCore/platform/efl/CursorEfl.cpp:104
&gt; +        &quot;&quot;};

&gt;WebCore::Cursor::Type have Custom, but EFL port doesn&apos;t support it yet.
&gt;&quot;&quot; at position of Custom will prevent exception.

add a comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394172</commentid>
    <comment_count>10</comment_count>
      <attachid>91422</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-27 21:12:37 -0700</bug_when>
    <thetext>Created attachment 91422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394265</commentid>
    <comment_count>11</comment_count>
      <attachid>91422</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 23:46:15 -0700</bug_when>
    <thetext>Comment on attachment 91422
Patch

Clearing flags on attachment: 91422

Committed r85168: &lt;http://trac.webkit.org/changeset/85168&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394266</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 23:46:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91046</attachid>
            <date>2011-04-25 20:13:33 -0700</date>
            <delta_ts>2011-04-25 21:22:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59411-20110426121334.patch</filename>
            <type>text/plain</type>
            <size>13168</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0ODcwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjUgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIENoYW5nZSBjdXJzb3IgdG8gTEFaWV9OQVRJVkVf
Q1VSU09SCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQxMQorCisgICAgICAgIEVuYWJsZSBMQVpZX05BVElWRV9DVVJTT1Igb24gRUZMIGJ1aWxkLgor
CisgICAgICAgIE5vIHRlc3QgYWRkZWQgYmVjYXVzZSBmdW5jdGlvbmFsaXR5IGlzIHVuY2hhbmdl
ZC4KKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBBZGQgQ3Vyc29yLmNwcAorICAgICAg
ICAqIHBsYXRmb3JtL0N1cnNvci5oOiAKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6Q3Vyc29y
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvQ3Vyc29yRWZsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkN1cnNvcjo6Q3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6fkN1cnNvcik6
CisgICAgICAgIChXZWJDb3JlOjpnZXRDdXJzb3JTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcik6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1dp
ZGdldEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisKIDIw
MTEtMDQtMjUgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHNFZmwudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHNFZmwudHh0CShyZXZpc2lvbiA4NDc2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNF
ZmwudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICBwYWdlL2VmbC9EcmFnQ29udHJvbGxlckVmbC5jcHAKICAgcGFnZS9lZmwv
RXZlbnRIYW5kbGVyRWZsLmNwcAogICBwYWdlL2VmbC9GcmFtZUVmbC5jcHAKKyAgcGxhdGZvcm0v
Q3Vyc29yLmNwcAogICBwbGF0Zm9ybS9lZmwvQ2xpcGJvYXJkRWZsLmNwcAogICBwbGF0Zm9ybS9l
ZmwvQ29udGV4dE1lbnVFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9Db250ZXh0TWVudUl0ZW1FZmwu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkocmV2aXNpb24gODM3MTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCB0eXBlZGVmIHN0cnVjdCBISUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENV
UlNPUjsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkK
ICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAKQEAgLTE1NCw5
ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdXJz
b3ImIGZyb21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICAgICAgQ3Vyc29yKCkKLSNpZiAhUExB
VEZPUk0oRUZMKQogICAgICAgICAgICAgOiBtX3BsYXRmb3JtQ3Vyc29yKDApCi0jZW5kaWYKICAg
ICAgICAgewogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCShyZXZpc2lvbiA4MzcxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9DdXJzb3JFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywzNjcgKzQzLDczIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3Vyc29yOjpDdXJzb3IoUGxhdGZvcm1DdXJzb3IgcCkK
LXsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocCk7Ci19Ci0K
IEN1cnNvcjo6Q3Vyc29yKGNvbnN0IEN1cnNvciYgb3RoZXIpCisgICAgOiBtX3R5cGUob3RoZXIu
bV90eXBlKQorICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90
aGVyLm1faG90U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1
cnNvcikKIHsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9yZWYob3Ro
ZXIubV9wbGF0Zm9ybUN1cnNvcik7CiB9CiAKIEN1cnNvcjo6fkN1cnNvcigpCiB7Ci0gICAgaWYg
KG1fcGxhdGZvcm1DdXJzb3IpIHsKLSAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwobV9wbGF0
Zm9ybUN1cnNvcik7Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSAwOwotICAgIH0KLX0KLQot
Q3Vyc29yOjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90c3BvdCkKLSAg
ICA6IG1fcGxhdGZvcm1DdXJzb3IoMCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi1D
dXJzb3ImIEN1cnNvcjo6b3BlcmF0b3I9KGNvbnN0IEN1cnNvciYgb3RoZXIpCi17Ci0gICAgZWlu
YV9zdHJpbmdzaGFyZV9yZWYob3RoZXIubV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgZWluYV9zdHJp
bmdzaGFyZV9kZWwobV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgbV9wbGF0Zm9ybUN1cnNvciA9IG90
aGVyLm1fcGxhdGZvcm1DdXJzb3I7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1uYW1lc3BhY2Ug
ewotCi1jbGFzcyBDdXJzb3JzIHsKLXByb3RlY3RlZDoKLSAgICBDdXJzb3JzKCkKLSAgICAgICAg
OiBQb2ludGVyQ3Vyc29yKCJjdXJzb3IvcG9pbnRlciIpCi0gICAgICAgICwgTW92ZUN1cnNvcigi
Y3Vyc29yL21vdmUiKQotICAgICAgICAsIENyb3NzQ3Vyc29yKCJjdXJzb3IvY3Jvc3MiKQotICAg
ICAgICAsIEhhbmRDdXJzb3IoImN1cnNvci9oYW5kIikKLSAgICAgICAgLCBJQmVhbUN1cnNvcigi
Y3Vyc29yL2lfYmVhbSIpCi0gICAgICAgICwgV2FpdEN1cnNvcigiY3Vyc29yL3dhaXQiKQotICAg
ICAgICAsIEhlbHBDdXJzb3IoImN1cnNvci9oZWxwIikKLSAgICAgICAgLCBFYXN0UmVzaXplQ3Vy
c29yKCJjdXJzb3IvZWFzdF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoUmVzaXplQ3Vyc29yKCJj
dXJzb3Ivbm9ydGhfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RSZXNpemVDdXJzb3IoImN1
cnNvci9ub3J0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhXZXN0UmVzaXplQ3Vyc29y
KCJjdXJzb3Ivbm9ydGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFNvdXRoUmVzaXplQ3Vyc29y
KCJjdXJzb3Ivc291dGhfcmVzaXplIikKLSAgICAgICAgLCBTb3V0aEVhc3RSZXNpemVDdXJzb3Io
ImN1cnNvci9zb3V0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgU291dGhXZXN0UmVzaXplQ3Vy
c29yKCJjdXJzb3Ivc291dGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFdlc3RSZXNpemVDdXJz
b3IoImN1cnNvci93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhTb3V0aFJlc2l6ZUN1cnNv
cigiY3Vyc29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIpCi0gICAgICAgICwgRWFzdFdlc3RSZXNpemVD
dXJzb3IoImN1cnNvci9lYXN0X3dlc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RTb3V0
aFdlc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIikK
LSAgICAgICAgLCBOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF93
ZXN0X3NvdXRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBDb2x1bW5SZXNpemVDdXJzb3IoImN1
cnNvci9jb2x1bW5fcmVzaXplIikKLSAgICAgICAgLCBSb3dSZXNpemVDdXJzb3IoImN1cnNvci9y
b3dfcmVzaXplIikKLSAgICAgICAgLCBNaWRkbGVQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvbWlkZGxl
X3Bhbm5pbmciKQotICAgICAgICAsIEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvZWFzdF9wYW5u
aW5nIikKLSAgICAgICAgLCBOb3J0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF9wYW5uaW5n
IikKLSAgICAgICAgLCBOb3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfZWFzdF9w
YW5uaW5nIikKLSAgICAgICAgLCBOb3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhf
d2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0
aF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291
dGhfZWFzdF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJz
b3Ivc291dGhfd2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBXZXN0UGFubmluZ0N1cnNvcigiY3Vy
c29yL3dlc3RfcGFubmluZyIpCi0gICAgICAgICwgVmVydGljYWxUZXh0Q3Vyc29yKCJjdXJzb3Iv
dmVydGljYWxfdGV4dCIpCi0gICAgICAgICwgQ2VsbEN1cnNvcigiY3Vyc29yL2NlbGwiKQotICAg
ICAgICAsIENvbnRleHRNZW51Q3Vyc29yKCJjdXJzb3IvY29udGV4dF9tZW51IikKLSAgICAgICAg
LCBOb0Ryb3BDdXJzb3IoImN1cnNvci9ub19kcm9wIikKLSAgICAgICAgLCBDb3B5Q3Vyc29yKCJj
dXJzb3IvY29weSIpCi0gICAgICAgICwgUHJvZ3Jlc3NDdXJzb3IoImN1cnNvci9wcm9ncmVzcyIp
Ci0gICAgICAgICwgQWxpYXNDdXJzb3IoImN1cnNvci9hbGlhcyIpCi0gICAgICAgICwgTm9uZUN1
cnNvcigiY3Vyc29yL25vbmUiKQotICAgICAgICAsIE5vdEFsbG93ZWRDdXJzb3IoImN1cnNvci9u
b3RfYWxsb3dlZCIpCi0gICAgICAgICwgWm9vbUluQ3Vyc29yKCJjdXJzb3Ivem9vbV9pbiIpCi0g
ICAgICAgICwgWm9vbU91dEN1cnNvcigiY3Vyc29yL3pvb21fb3V0IikKLSAgICAgICAgLCBHcmFi
Q3Vyc29yKCJjdXJzb3IvZ3JhYiIpCi0gICAgICAgICwgR3JhYmJpbmdDdXJzb3IoImN1cnNvci9n
cmFiYmluZyIpCi0gICAgewotICAgIH0KLQotICAgIH5DdXJzb3JzKCkKLSAgICB7Ci0gICAgfQot
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIEN1cnNvcnMqIHNlbGYoKTsKLSAgICBzdGF0aWMgQ3Vyc29y
cyogc19zZWxmOwotCi0gICAgQ3Vyc29yIFBvaW50ZXJDdXJzb3I7Ci0gICAgQ3Vyc29yIE1vdmVD
dXJzb3I7Ci0gICAgQ3Vyc29yIENyb3NzQ3Vyc29yOwotICAgIEN1cnNvciBIYW5kQ3Vyc29yOwot
ICAgIEN1cnNvciBJQmVhbUN1cnNvcjsKLSAgICBDdXJzb3IgV2FpdEN1cnNvcjsKLSAgICBDdXJz
b3IgSGVscEN1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3Ig
Tm9ydGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAg
ICBDdXJzb3IgTm9ydGhXZXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFJlc2l6ZUN1
cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0
aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vy
c29yIE5vcnRoU291dGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RXZXN0UmVzaXplQ3Vy
c29yOwotICAgIEN1cnNvciBOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vy
c29yIE5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgQ29sdW1uUmVz
aXplQ3Vyc29yOwotICAgIEN1cnNvciBSb3dSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE1pZGRs
ZVBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNv
ciBOb3J0aFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFBhbm5pbmdDdXJzb3I7
Ci0gICAgQ3Vyc29yIE5vcnRoV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoUGFu
bmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJz
b3IgU291dGhXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgV2VzdFBhbm5pbmdDdXJzb3I7
Ci0gICAgQ3Vyc29yIFZlcnRpY2FsVGV4dEN1cnNvcjsKLSAgICBDdXJzb3IgQ2VsbEN1cnNvcjsK
LSAgICBDdXJzb3IgQ29udGV4dE1lbnVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vRHJvcEN1cnNvcjsK
LSAgICBDdXJzb3IgQ29weUN1cnNvcjsKLSAgICBDdXJzb3IgUHJvZ3Jlc3NDdXJzb3I7Ci0gICAg
Q3Vyc29yIEFsaWFzQ3Vyc29yOwotICAgIEN1cnNvciBOb25lQ3Vyc29yOwotICAgIEN1cnNvciBO
b3RBbGxvd2VkQ3Vyc29yOwotICAgIEN1cnNvciBab29tSW5DdXJzb3I7Ci0gICAgQ3Vyc29yIFpv
b21PdXRDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJiaW5n
Q3Vyc29yOwotfTsKLQotQ3Vyc29ycyogQ3Vyc29yczo6c19zZWxmID0gMDsKLQotQ3Vyc29ycyog
Q3Vyc29yczo6c2VsZigpCi17Ci0gICAgaWYgKCFzX3NlbGYpCi0gICAgICAgIHNfc2VsZiA9IG5l
dyBDdXJzb3JzKCk7Ci0KLSAgICByZXR1cm4gc19zZWxmOwotfQotCi19Ci0KLWNvbnN0IEN1cnNv
ciYgcG9pbnRlckN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+UG9pbnRl
ckN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5Nb3ZlQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGNyb3NzQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Dcm9zc0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBoYW5kQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigp
LT5IYW5kQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGlCZWFtQ3Vyc29yKCkKLXsKLSAgICBy
ZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5JQmVhbUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB3
YWl0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5XYWl0Q3Vyc29yOwot
fQotCi1jb25zdCBDdXJzb3ImIGhlbHBDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpz
ZWxmKCktPkhlbHBDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFJlc2l6ZUN1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6
OnNlbGYoKS0+Tm9ydGhSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0
UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RS
ZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UmVzaXplQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RSZXNpemVDdXJzb3I7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgc291dGhSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJz
b3JzOjpzZWxmKCktPlNvdXRoUmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRo
RWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhF
YXN0UmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFJlc2l6ZUN1cnNv
cigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UmVzaXplQ3Vyc29y
OwotfQotCi1jb25zdCBDdXJzb3ImIHdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBD
dXJzb3JzOjpzZWxmKCktPldlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9y
dGhTb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9y
dGhTb3V0aFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0V2VzdFJlc2l6ZUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFdlc3RSZXNpemVDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RTb3V0aFdlc3RSZXNpemVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29y
KCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RTb3V0aEVhc3RSZXNp
emVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29sdW1uUmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Db2x1bW5SZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgcm93UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigp
LT5Sb3dSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbWlkZGxlUGFubmluZ0N1cnNv
cigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+TWlkZGxlUGFubmluZ0N1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1
cnNvcnM6OnNlbGYoKS0+RWFzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9y
dGhQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFBh
bm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UGFubmluZ0N1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhFYXN0UGFubmluZ0N1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIHNvdXRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYo
KS0+U291dGhQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFBhbm5p
bmdDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlNvdXRoRWFzdFBhbm5p
bmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UGFubmluZ0N1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UGFubmluZ0N1cnNvcjsKLX0K
LQotY29uc3QgQ3Vyc29yJiB3ZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNv
cnM6OnNlbGYoKS0+V2VzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgdmVydGlj
YWxUZXh0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5WZXJ0aWNhbFRl
eHRDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY2VsbEN1cnNvcigpCi17Ci0gICAgcmV0dXJu
IEN1cnNvcnM6OnNlbGYoKS0+Q2VsbEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb250ZXh0
TWVudUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29udGV4dE1lbnVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5Ob0Ryb3BDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29weUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29weUN1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBwcm9ncmVzc0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNl
bGYoKS0+UHJvZ3Jlc3NDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgYWxpYXNDdXJzb3IoKQot
ewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkFsaWFzQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIG5vbmVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vbmVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm90QWxsb3dlZEN1cnNvcigpCi17Ci0gICAgcmV0
dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm90QWxsb3dlZEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29y
JiB6b29tSW5DdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlpvb21JbkN1
cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29tT3V0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5ab29tT3V0Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGdyYWJD
dXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkdyYWJDdXJzb3I7CiB9CiAK
LWNvbnN0IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQorc3RhdGljIGNvbnN0IGNoYXIqIGdldEN1
cnNvclN0cmluZyhDdXJzb3I6OlR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2Vs
ZigpLT5HcmFiYmluZ0N1cnNvcjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yU3RyaW5n
c1tdID0geworICAgICAgICAiY3Vyc29yL3BvaW50ZXIiCisgICAgICAgICwgImN1cnNvci9jcm9z
cyIKKyAgICAgICAgLCAiY3Vyc29yL2lfYmVhbSIKKyAgICAgICAgLCAiY3Vyc29yL2hhbmQiCisg
ICAgICAgICwgImN1cnNvci93YWl0IgorICAgICAgICAsICJjdXJzb3IvaGVscCIKKyAgICAgICAg
LCAiY3Vyc29yL2Vhc3RfcmVzaXplIgorICAgICAgICAsICJjdXJzb3Ivbm9ydGhfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3Ivbm9ydGhfZWFzdF9yZXNpemUiCisgICAgICAgICwgImN1cnNvci9u
b3J0aF93ZXN0X3Jlc2l6ZSIKKyAgICAgICAgLCAiY3Vyc29yL3NvdXRoX3Jlc2l6ZSIKKyAgICAg
ICAgLCAiY3Vyc29yL3NvdXRoX2Vhc3RfcmVzaXplIgorICAgICAgICAsICJjdXJzb3Ivc291dGhf
d2VzdF9yZXNpemUiCisgICAgICAgICwgImN1cnNvci93ZXN0X3Jlc2l6ZSIKKyAgICAgICAgLCAi
Y3Vyc29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIKKyAgICAgICAgLCAiY3Vyc29yL2Vhc3Rfd2VzdF9y
ZXNpemUiCisgICAgICAgICwgImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3Ivbm9ydGhfd2VzdF9zb3V0aF9lYXN0X3Jlc2l6ZSIKKyAgICAgICAg
LCAiY3Vyc29yL2NvbHVtbl9yZXNpemUiCisgICAgICAgICwgImN1cnNvci9yb3dfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3IvbWlkZGxlX3Bhbm5pbmciCisgICAgICAgICwgImN1cnNvci9lYXN0
X3Bhbm5pbmciCisgICAgICAgICwgImN1cnNvci9ub3J0aF9wYW5uaW5nIgorICAgICAgICAsICJj
dXJzb3Ivbm9ydGhfZWFzdF9wYW5uaW5nIgorICAgICAgICAsICJjdXJzb3Ivbm9ydGhfd2VzdF9w
YW5uaW5nIgorICAgICAgICAsICJjdXJzb3Ivc291dGhfcGFubmluZyIKKyAgICAgICAgLCAiY3Vy
c29yL3NvdXRoX2Vhc3RfcGFubmluZyIKKyAgICAgICAgLCAiY3Vyc29yL3NvdXRoX3dlc3RfcGFu
bmluZyIKKyAgICAgICAgLCAiY3Vyc29yL3dlc3RfcGFubmluZyIKKyAgICAgICAgLCAiY3Vyc29y
L21vdmUiCisgICAgICAgICwgImN1cnNvci92ZXJ0aWNhbF90ZXh0IgorICAgICAgICAsICJjdXJz
b3IvY2VsbCIKKyAgICAgICAgLCAiY3Vyc29yL2NvbnRleHRfbWVudSIKKyAgICAgICAgLCAiY3Vy
c29yL2FsaWFzIgorICAgICAgICAsICJjdXJzb3IvcHJvZ3Jlc3MiCisgICAgICAgICwgImN1cnNv
ci9ub19kcm9wIgorICAgICAgICAsICJjdXJzb3IvY29weSIKKyAgICAgICAgLCAiY3Vyc29yL25v
bmUiCisgICAgICAgICwgImN1cnNvci9ub3RfYWxsb3dlZCIKKyAgICAgICAgLCAiY3Vyc29yL3pv
b21faW4iCisgICAgICAgICwgImN1cnNvci96b29tX291dCIKKyAgICAgICAgLCAiY3Vyc29yL2dy
YWIiCisgICAgICAgICwgImN1cnNvci9ncmFiYmluZyIKKyAgICAgICAgLCAiIn07CisgICAgcmV0
dXJuIGN1cnNvclN0cmluZ3NbdHlwZV07Cit9CisKK3ZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9y
bUN1cnNvcigpIGNvbnN0Cit7CisgICAgaWYgKG1fcGxhdGZvcm1DdXJzb3IpCisgICAgICAgIHJl
dHVybjsKKyAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZ2V0Q3Vyc29yU3RyaW5nKG1fdHlwZSk7CiB9
CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwuY3BwCShy
ZXZpc2lvbiA4MzcxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBXaWRnZXQ6OnNldEN1
cnNvcihjb25zdCBDdXJzb3ImIGN1cgogICAgIGlmICghZXZhcygpKQogICAgICAgICAgcmV0dXJu
OwogCi0gICAgY29uc3QgY2hhciAqZ3JvdXAgPSBjdXJzb3IuaW1wbCgpOworICAgIGNvbnN0IGNo
YXIgKmdyb3VwID0gY3Vyc29yLnBsYXRmb3JtQ3Vyc29yKCk7CiAgICAgaWYgKCFncm91cCB8fCBT
dHJpbmcoZ3JvdXApID09IG1fZGF0YS0+bV9jdXJzb3JHcm91cCkKICAgICAgICAgcmV0dXJuOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91051</attachid>
            <date>2011-04-25 21:22:45 -0700</date>
            <delta_ts>2011-04-27 19:43:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59411-20110426132247.patch</filename>
            <type>text/plain</type>
            <size>13168</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0ODcwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjUgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIENoYW5nZSBjdXJzb3IgdG8gTEFaWV9OQVRJVkVf
Q1VSU09SCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQxMQorCisgICAgICAgIEVuYWJsZSBMQVpZX05BVElWRV9DVVJTT1Igb24gRUZMIGJ1aWxkLgor
CisgICAgICAgIE5vIHRlc3QgYWRkZWQgYmVjYXVzZSBmdW5jdGlvbmFsaXR5IGlzIHVuY2hhbmdl
ZC4KKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBBZGQgQ3Vyc29yLmNwcAorICAgICAg
ICAqIHBsYXRmb3JtL0N1cnNvci5oOiAKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6Q3Vyc29y
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvQ3Vyc29yRWZsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkN1cnNvcjo6Q3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6fkN1cnNvcik6
CisgICAgICAgIChXZWJDb3JlOjpnZXRDdXJzb3JTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcik6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1dp
ZGdldEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisKIDIw
MTEtMDQtMjUgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHNFZmwudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHNFZmwudHh0CShyZXZpc2lvbiA4NDc2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNF
ZmwudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICBwYWdlL2VmbC9EcmFnQ29udHJvbGxlckVmbC5jcHAKICAgcGFnZS9lZmwv
RXZlbnRIYW5kbGVyRWZsLmNwcAogICBwYWdlL2VmbC9GcmFtZUVmbC5jcHAKKyAgcGxhdGZvcm0v
Q3Vyc29yLmNwcAogICBwbGF0Zm9ybS9lZmwvQ2xpcGJvYXJkRWZsLmNwcAogICBwbGF0Zm9ybS9l
ZmwvQ29udGV4dE1lbnVFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9Db250ZXh0TWVudUl0ZW1FZmwu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkocmV2aXNpb24gODM3MTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCB0eXBlZGVmIHN0cnVjdCBISUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENV
UlNPUjsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkK
ICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAKQEAgLTE1NCw5
ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdXJz
b3ImIGZyb21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICAgICAgQ3Vyc29yKCkKLSNpZiAhUExB
VEZPUk0oRUZMKQogICAgICAgICAgICAgOiBtX3BsYXRmb3JtQ3Vyc29yKDApCi0jZW5kaWYKICAg
ICAgICAgewogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCShyZXZpc2lvbiA4MzcxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9DdXJzb3JFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywzNjcgKzQzLDczIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3Vyc29yOjpDdXJzb3IoUGxhdGZvcm1DdXJzb3IgcCkK
LXsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocCk7Ci19Ci0K
IEN1cnNvcjo6Q3Vyc29yKGNvbnN0IEN1cnNvciYgb3RoZXIpCisgICAgOiBtX3R5cGUob3RoZXIu
bV90eXBlKQorICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90
aGVyLm1faG90U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1
cnNvcikKIHsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9yZWYob3Ro
ZXIubV9wbGF0Zm9ybUN1cnNvcik7CiB9CiAKIEN1cnNvcjo6fkN1cnNvcigpCiB7Ci0gICAgaWYg
KG1fcGxhdGZvcm1DdXJzb3IpIHsKLSAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwobV9wbGF0
Zm9ybUN1cnNvcik7Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSAwOwotICAgIH0KLX0KLQot
Q3Vyc29yOjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90c3BvdCkKLSAg
ICA6IG1fcGxhdGZvcm1DdXJzb3IoMCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi1D
dXJzb3ImIEN1cnNvcjo6b3BlcmF0b3I9KGNvbnN0IEN1cnNvciYgb3RoZXIpCi17Ci0gICAgZWlu
YV9zdHJpbmdzaGFyZV9yZWYob3RoZXIubV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgZWluYV9zdHJp
bmdzaGFyZV9kZWwobV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgbV9wbGF0Zm9ybUN1cnNvciA9IG90
aGVyLm1fcGxhdGZvcm1DdXJzb3I7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1uYW1lc3BhY2Ug
ewotCi1jbGFzcyBDdXJzb3JzIHsKLXByb3RlY3RlZDoKLSAgICBDdXJzb3JzKCkKLSAgICAgICAg
OiBQb2ludGVyQ3Vyc29yKCJjdXJzb3IvcG9pbnRlciIpCi0gICAgICAgICwgTW92ZUN1cnNvcigi
Y3Vyc29yL21vdmUiKQotICAgICAgICAsIENyb3NzQ3Vyc29yKCJjdXJzb3IvY3Jvc3MiKQotICAg
ICAgICAsIEhhbmRDdXJzb3IoImN1cnNvci9oYW5kIikKLSAgICAgICAgLCBJQmVhbUN1cnNvcigi
Y3Vyc29yL2lfYmVhbSIpCi0gICAgICAgICwgV2FpdEN1cnNvcigiY3Vyc29yL3dhaXQiKQotICAg
ICAgICAsIEhlbHBDdXJzb3IoImN1cnNvci9oZWxwIikKLSAgICAgICAgLCBFYXN0UmVzaXplQ3Vy
c29yKCJjdXJzb3IvZWFzdF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoUmVzaXplQ3Vyc29yKCJj
dXJzb3Ivbm9ydGhfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RSZXNpemVDdXJzb3IoImN1
cnNvci9ub3J0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhXZXN0UmVzaXplQ3Vyc29y
KCJjdXJzb3Ivbm9ydGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFNvdXRoUmVzaXplQ3Vyc29y
KCJjdXJzb3Ivc291dGhfcmVzaXplIikKLSAgICAgICAgLCBTb3V0aEVhc3RSZXNpemVDdXJzb3Io
ImN1cnNvci9zb3V0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgU291dGhXZXN0UmVzaXplQ3Vy
c29yKCJjdXJzb3Ivc291dGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFdlc3RSZXNpemVDdXJz
b3IoImN1cnNvci93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhTb3V0aFJlc2l6ZUN1cnNv
cigiY3Vyc29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIpCi0gICAgICAgICwgRWFzdFdlc3RSZXNpemVD
dXJzb3IoImN1cnNvci9lYXN0X3dlc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RTb3V0
aFdlc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIikK
LSAgICAgICAgLCBOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF93
ZXN0X3NvdXRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBDb2x1bW5SZXNpemVDdXJzb3IoImN1
cnNvci9jb2x1bW5fcmVzaXplIikKLSAgICAgICAgLCBSb3dSZXNpemVDdXJzb3IoImN1cnNvci9y
b3dfcmVzaXplIikKLSAgICAgICAgLCBNaWRkbGVQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvbWlkZGxl
X3Bhbm5pbmciKQotICAgICAgICAsIEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvZWFzdF9wYW5u
aW5nIikKLSAgICAgICAgLCBOb3J0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF9wYW5uaW5n
IikKLSAgICAgICAgLCBOb3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfZWFzdF9w
YW5uaW5nIikKLSAgICAgICAgLCBOb3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhf
d2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0
aF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291
dGhfZWFzdF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJz
b3Ivc291dGhfd2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBXZXN0UGFubmluZ0N1cnNvcigiY3Vy
c29yL3dlc3RfcGFubmluZyIpCi0gICAgICAgICwgVmVydGljYWxUZXh0Q3Vyc29yKCJjdXJzb3Iv
dmVydGljYWxfdGV4dCIpCi0gICAgICAgICwgQ2VsbEN1cnNvcigiY3Vyc29yL2NlbGwiKQotICAg
ICAgICAsIENvbnRleHRNZW51Q3Vyc29yKCJjdXJzb3IvY29udGV4dF9tZW51IikKLSAgICAgICAg
LCBOb0Ryb3BDdXJzb3IoImN1cnNvci9ub19kcm9wIikKLSAgICAgICAgLCBDb3B5Q3Vyc29yKCJj
dXJzb3IvY29weSIpCi0gICAgICAgICwgUHJvZ3Jlc3NDdXJzb3IoImN1cnNvci9wcm9ncmVzcyIp
Ci0gICAgICAgICwgQWxpYXNDdXJzb3IoImN1cnNvci9hbGlhcyIpCi0gICAgICAgICwgTm9uZUN1
cnNvcigiY3Vyc29yL25vbmUiKQotICAgICAgICAsIE5vdEFsbG93ZWRDdXJzb3IoImN1cnNvci9u
b3RfYWxsb3dlZCIpCi0gICAgICAgICwgWm9vbUluQ3Vyc29yKCJjdXJzb3Ivem9vbV9pbiIpCi0g
ICAgICAgICwgWm9vbU91dEN1cnNvcigiY3Vyc29yL3pvb21fb3V0IikKLSAgICAgICAgLCBHcmFi
Q3Vyc29yKCJjdXJzb3IvZ3JhYiIpCi0gICAgICAgICwgR3JhYmJpbmdDdXJzb3IoImN1cnNvci9n
cmFiYmluZyIpCi0gICAgewotICAgIH0KLQotICAgIH5DdXJzb3JzKCkKLSAgICB7Ci0gICAgfQot
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIEN1cnNvcnMqIHNlbGYoKTsKLSAgICBzdGF0aWMgQ3Vyc29y
cyogc19zZWxmOwotCi0gICAgQ3Vyc29yIFBvaW50ZXJDdXJzb3I7Ci0gICAgQ3Vyc29yIE1vdmVD
dXJzb3I7Ci0gICAgQ3Vyc29yIENyb3NzQ3Vyc29yOwotICAgIEN1cnNvciBIYW5kQ3Vyc29yOwot
ICAgIEN1cnNvciBJQmVhbUN1cnNvcjsKLSAgICBDdXJzb3IgV2FpdEN1cnNvcjsKLSAgICBDdXJz
b3IgSGVscEN1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3Ig
Tm9ydGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAg
ICBDdXJzb3IgTm9ydGhXZXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFJlc2l6ZUN1
cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0
aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vy
c29yIE5vcnRoU291dGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RXZXN0UmVzaXplQ3Vy
c29yOwotICAgIEN1cnNvciBOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vy
c29yIE5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgQ29sdW1uUmVz
aXplQ3Vyc29yOwotICAgIEN1cnNvciBSb3dSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE1pZGRs
ZVBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNv
ciBOb3J0aFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFBhbm5pbmdDdXJzb3I7
Ci0gICAgQ3Vyc29yIE5vcnRoV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoUGFu
bmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJz
b3IgU291dGhXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgV2VzdFBhbm5pbmdDdXJzb3I7
Ci0gICAgQ3Vyc29yIFZlcnRpY2FsVGV4dEN1cnNvcjsKLSAgICBDdXJzb3IgQ2VsbEN1cnNvcjsK
LSAgICBDdXJzb3IgQ29udGV4dE1lbnVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vRHJvcEN1cnNvcjsK
LSAgICBDdXJzb3IgQ29weUN1cnNvcjsKLSAgICBDdXJzb3IgUHJvZ3Jlc3NDdXJzb3I7Ci0gICAg
Q3Vyc29yIEFsaWFzQ3Vyc29yOwotICAgIEN1cnNvciBOb25lQ3Vyc29yOwotICAgIEN1cnNvciBO
b3RBbGxvd2VkQ3Vyc29yOwotICAgIEN1cnNvciBab29tSW5DdXJzb3I7Ci0gICAgQ3Vyc29yIFpv
b21PdXRDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJiaW5n
Q3Vyc29yOwotfTsKLQotQ3Vyc29ycyogQ3Vyc29yczo6c19zZWxmID0gMDsKLQotQ3Vyc29ycyog
Q3Vyc29yczo6c2VsZigpCi17Ci0gICAgaWYgKCFzX3NlbGYpCi0gICAgICAgIHNfc2VsZiA9IG5l
dyBDdXJzb3JzKCk7Ci0KLSAgICByZXR1cm4gc19zZWxmOwotfQotCi19Ci0KLWNvbnN0IEN1cnNv
ciYgcG9pbnRlckN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+UG9pbnRl
ckN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5Nb3ZlQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGNyb3NzQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Dcm9zc0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBoYW5kQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigp
LT5IYW5kQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGlCZWFtQ3Vyc29yKCkKLXsKLSAgICBy
ZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5JQmVhbUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB3
YWl0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5XYWl0Q3Vyc29yOwot
fQotCi1jb25zdCBDdXJzb3ImIGhlbHBDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpz
ZWxmKCktPkhlbHBDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFJlc2l6ZUN1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6
OnNlbGYoKS0+Tm9ydGhSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0
UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RS
ZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UmVzaXplQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RSZXNpemVDdXJzb3I7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgc291dGhSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJz
b3JzOjpzZWxmKCktPlNvdXRoUmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRo
RWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhF
YXN0UmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFJlc2l6ZUN1cnNv
cigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UmVzaXplQ3Vyc29y
OwotfQotCi1jb25zdCBDdXJzb3ImIHdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBD
dXJzb3JzOjpzZWxmKCktPldlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9y
dGhTb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9y
dGhTb3V0aFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0V2VzdFJlc2l6ZUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFdlc3RSZXNpemVDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RTb3V0aFdlc3RSZXNpemVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29y
KCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RTb3V0aEVhc3RSZXNp
emVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29sdW1uUmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Db2x1bW5SZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgcm93UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigp
LT5Sb3dSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbWlkZGxlUGFubmluZ0N1cnNv
cigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+TWlkZGxlUGFubmluZ0N1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1
cnNvcnM6OnNlbGYoKS0+RWFzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9y
dGhQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFBh
bm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UGFubmluZ0N1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhFYXN0UGFubmluZ0N1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIHNvdXRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYo
KS0+U291dGhQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFBhbm5p
bmdDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlNvdXRoRWFzdFBhbm5p
bmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UGFubmluZ0N1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UGFubmluZ0N1cnNvcjsKLX0K
LQotY29uc3QgQ3Vyc29yJiB3ZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNv
cnM6OnNlbGYoKS0+V2VzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgdmVydGlj
YWxUZXh0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5WZXJ0aWNhbFRl
eHRDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY2VsbEN1cnNvcigpCi17Ci0gICAgcmV0dXJu
IEN1cnNvcnM6OnNlbGYoKS0+Q2VsbEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb250ZXh0
TWVudUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29udGV4dE1lbnVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5Ob0Ryb3BDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29weUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29weUN1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBwcm9ncmVzc0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNl
bGYoKS0+UHJvZ3Jlc3NDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgYWxpYXNDdXJzb3IoKQot
ewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkFsaWFzQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIG5vbmVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vbmVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm90QWxsb3dlZEN1cnNvcigpCi17Ci0gICAgcmV0
dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm90QWxsb3dlZEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29y
JiB6b29tSW5DdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlpvb21JbkN1
cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29tT3V0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5ab29tT3V0Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGdyYWJD
dXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkdyYWJDdXJzb3I7CiB9CiAK
LWNvbnN0IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQorc3RhdGljIGNvbnN0IGNoYXIqIGdldEN1
cnNvclN0cmluZyhDdXJzb3I6OlR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2Vs
ZigpLT5HcmFiYmluZ0N1cnNvcjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yU3RyaW5n
c1tdID0geworICAgICAgICAiY3Vyc29yL3BvaW50ZXIiCisgICAgICAgICwgImN1cnNvci9jcm9z
cyIKKyAgICAgICAgLCAiY3Vyc29yL2hhbmQiCisgICAgICAgICwgImN1cnNvci9pX2JlYW0iCisg
ICAgICAgICwgImN1cnNvci93YWl0IgorICAgICAgICAsICJjdXJzb3IvaGVscCIKKyAgICAgICAg
LCAiY3Vyc29yL2Vhc3RfcmVzaXplIgorICAgICAgICAsICJjdXJzb3Ivbm9ydGhfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3Ivbm9ydGhfZWFzdF9yZXNpemUiCisgICAgICAgICwgImN1cnNvci9u
b3J0aF93ZXN0X3Jlc2l6ZSIKKyAgICAgICAgLCAiY3Vyc29yL3NvdXRoX3Jlc2l6ZSIKKyAgICAg
ICAgLCAiY3Vyc29yL3NvdXRoX2Vhc3RfcmVzaXplIgorICAgICAgICAsICJjdXJzb3Ivc291dGhf
d2VzdF9yZXNpemUiCisgICAgICAgICwgImN1cnNvci93ZXN0X3Jlc2l6ZSIKKyAgICAgICAgLCAi
Y3Vyc29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIKKyAgICAgICAgLCAiY3Vyc29yL2Vhc3Rfd2VzdF9y
ZXNpemUiCisgICAgICAgICwgImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3Ivbm9ydGhfd2VzdF9zb3V0aF9lYXN0X3Jlc2l6ZSIKKyAgICAgICAg
LCAiY3Vyc29yL2NvbHVtbl9yZXNpemUiCisgICAgICAgICwgImN1cnNvci9yb3dfcmVzaXplIgor
ICAgICAgICAsICJjdXJzb3IvbWlkZGxlX3Bhbm5pbmciCisgICAgICAgICwgImN1cnNvci9lYXN0
X3Bhbm5pbmciCisgICAgICAgICwgImN1cnNvci9ub3J0aF9wYW5uaW5nIgorICAgICAgICAsICJj
dXJzb3Ivbm9ydGhfZWFzdF9wYW5uaW5nIgorICAgICAgICAsICJjdXJzb3Ivbm9ydGhfd2VzdF9w
YW5uaW5nIgorICAgICAgICAsICJjdXJzb3Ivc291dGhfcGFubmluZyIKKyAgICAgICAgLCAiY3Vy
c29yL3NvdXRoX2Vhc3RfcGFubmluZyIKKyAgICAgICAgLCAiY3Vyc29yL3NvdXRoX3dlc3RfcGFu
bmluZyIKKyAgICAgICAgLCAiY3Vyc29yL3dlc3RfcGFubmluZyIKKyAgICAgICAgLCAiY3Vyc29y
L21vdmUiCisgICAgICAgICwgImN1cnNvci92ZXJ0aWNhbF90ZXh0IgorICAgICAgICAsICJjdXJz
b3IvY2VsbCIKKyAgICAgICAgLCAiY3Vyc29yL2NvbnRleHRfbWVudSIKKyAgICAgICAgLCAiY3Vy
c29yL2FsaWFzIgorICAgICAgICAsICJjdXJzb3IvcHJvZ3Jlc3MiCisgICAgICAgICwgImN1cnNv
ci9ub19kcm9wIgorICAgICAgICAsICJjdXJzb3IvY29weSIKKyAgICAgICAgLCAiY3Vyc29yL25v
bmUiCisgICAgICAgICwgImN1cnNvci9ub3RfYWxsb3dlZCIKKyAgICAgICAgLCAiY3Vyc29yL3pv
b21faW4iCisgICAgICAgICwgImN1cnNvci96b29tX291dCIKKyAgICAgICAgLCAiY3Vyc29yL2dy
YWIiCisgICAgICAgICwgImN1cnNvci9ncmFiYmluZyIKKyAgICAgICAgLCAiIn07CisgICAgcmV0
dXJuIGN1cnNvclN0cmluZ3NbdHlwZV07Cit9CisKK3ZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9y
bUN1cnNvcigpIGNvbnN0Cit7CisgICAgaWYgKG1fcGxhdGZvcm1DdXJzb3IpCisgICAgICAgIHJl
dHVybjsKKyAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZ2V0Q3Vyc29yU3RyaW5nKG1fdHlwZSk7CiB9
CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwuY3BwCShy
ZXZpc2lvbiA4MzcxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9XaWRnZXRFZmwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBXaWRnZXQ6OnNldEN1
cnNvcihjb25zdCBDdXJzb3ImIGN1cgogICAgIGlmICghZXZhcygpKQogICAgICAgICAgcmV0dXJu
OwogCi0gICAgY29uc3QgY2hhciAqZ3JvdXAgPSBjdXJzb3IuaW1wbCgpOworICAgIGNvbnN0IGNo
YXIgKmdyb3VwID0gY3Vyc29yLnBsYXRmb3JtQ3Vyc29yKCk7CiAgICAgaWYgKCFncm91cCB8fCBT
dHJpbmcoZ3JvdXApID09IG1fZGF0YS0+bV9jdXJzb3JHcm91cCkKICAgICAgICAgcmV0dXJuOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91411</attachid>
            <date>2011-04-27 19:43:15 -0700</date>
            <delta_ts>2011-04-27 20:01:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59411-20110428114313.patch</filename>
            <type>text/plain</type>
            <size>13119</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTM5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjcgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIENoYW5nZSBjdXJzb3IgdG8gTEFaWV9OQVRJVkVf
Q1VSU09SCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQxMQorCisgICAgICAgIEVuYWJsZSBMQVpZX05BVElWRV9DVVJTT1Igb24gRUZMIGJ1aWxkLgor
CisgICAgICAgIE5vIHRlc3QgYWRkZWQgYmVjYXVzZSBmdW5jdGlvbmFsaXR5IGlzIHVuY2hhbmdl
ZC4KKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBBZGQgQ3Vyc29yLmNwcAorICAgICAg
ICAqIHBsYXRmb3JtL0N1cnNvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpDdXJzb3Ip
OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9DdXJzb3JFZmwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3Vyc29yOjpDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjp+Q3Vyc29yKToK
KyAgICAgICAgKFdlYkNvcmU6OmdldEN1cnNvclN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
dXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvV2lk
Z2V0RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0Q3Vyc29yKToKKwogMjAx
MS0wNC0yNyAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHNFZmwudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwu
dHh0CShyZXZpc2lvbiA4NTAzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICBwYWdlL2VmbC9EcmFnQ29udHJvbGxlckVmbC5jcHAKICAgcGFnZS9lZmwvRXZlbnRI
YW5kbGVyRWZsLmNwcAogICBwYWdlL2VmbC9GcmFtZUVmbC5jcHAKKyAgcGxhdGZvcm0vQ3Vyc29y
LmNwcAogICBwbGF0Zm9ybS9lZmwvQ2xpcGJvYXJkRWZsLmNwcAogICBwbGF0Zm9ybS9lZmwvQ29u
dGV4dE1lbnVFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9Db250ZXh0TWVudUl0ZW1FZmwuY3BwCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkocmV2aXNpb24gODUwMzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBA
QCB0eXBlZGVmIHN0cnVjdCBISUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENVUlNPUjsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKICNkZWZp
bmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAKQEAgLTE1NCw5ICsxNTQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdXJzb3ImIGZy
b21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICAgICAgQ3Vyc29yKCkKLSNpZiAhUExBVEZPUk0o
RUZMKQogICAgICAgICAgICAgOiBtX3BsYXRmb3JtQ3Vyc29yKDApCi0jZW5kaWYKICAgICAgICAg
ewogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9DdXJzb3JF
ZmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9DdXJzb3JF
ZmwuY3BwCShyZXZpc2lvbiA4NTAzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywzNjcgKzQzLDczIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotQ3Vyc29yOjpDdXJzb3IoUGxhdGZvcm1DdXJzb3IgcCkKLXsKLSAg
ICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocCk7Ci19Ci0KIEN1cnNv
cjo6Q3Vyc29yKGNvbnN0IEN1cnNvciYgb3RoZXIpCisgICAgOiBtX3R5cGUob3RoZXIubV90eXBl
KQorICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90aGVyLm1f
aG90U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1cnNvcikK
IHsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9yZWYob3RoZXIubV9w
bGF0Zm9ybUN1cnNvcik7CiB9CiAKIEN1cnNvcjo6fkN1cnNvcigpCiB7Ci0gICAgaWYgKG1fcGxh
dGZvcm1DdXJzb3IpIHsKLSAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwobV9wbGF0Zm9ybUN1
cnNvcik7Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSAwOwotICAgIH0KLX0KLQotQ3Vyc29y
OjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90c3BvdCkKLSAgICA6IG1f
cGxhdGZvcm1DdXJzb3IoMCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi1DdXJzb3Im
IEN1cnNvcjo6b3BlcmF0b3I9KGNvbnN0IEN1cnNvciYgb3RoZXIpCi17Ci0gICAgZWluYV9zdHJp
bmdzaGFyZV9yZWYob3RoZXIubV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwobV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgbV9wbGF0Zm9ybUN1cnNvciA9IG90aGVyLm1f
cGxhdGZvcm1DdXJzb3I7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1uYW1lc3BhY2UgewotCi1j
bGFzcyBDdXJzb3JzIHsKLXByb3RlY3RlZDoKLSAgICBDdXJzb3JzKCkKLSAgICAgICAgOiBQb2lu
dGVyQ3Vyc29yKCJjdXJzb3IvcG9pbnRlciIpCi0gICAgICAgICwgTW92ZUN1cnNvcigiY3Vyc29y
L21vdmUiKQotICAgICAgICAsIENyb3NzQ3Vyc29yKCJjdXJzb3IvY3Jvc3MiKQotICAgICAgICAs
IEhhbmRDdXJzb3IoImN1cnNvci9oYW5kIikKLSAgICAgICAgLCBJQmVhbUN1cnNvcigiY3Vyc29y
L2lfYmVhbSIpCi0gICAgICAgICwgV2FpdEN1cnNvcigiY3Vyc29yL3dhaXQiKQotICAgICAgICAs
IEhlbHBDdXJzb3IoImN1cnNvci9oZWxwIikKLSAgICAgICAgLCBFYXN0UmVzaXplQ3Vyc29yKCJj
dXJzb3IvZWFzdF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoUmVzaXplQ3Vyc29yKCJjdXJzb3Iv
bm9ydGhfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9u
b3J0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhXZXN0UmVzaXplQ3Vyc29yKCJjdXJz
b3Ivbm9ydGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFNvdXRoUmVzaXplQ3Vyc29yKCJjdXJz
b3Ivc291dGhfcmVzaXplIikKLSAgICAgICAgLCBTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNv
ci9zb3V0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgU291dGhXZXN0UmVzaXplQ3Vyc29yKCJj
dXJzb3Ivc291dGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFdlc3RSZXNpemVDdXJzb3IoImN1
cnNvci93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhTb3V0aFJlc2l6ZUN1cnNvcigiY3Vy
c29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIpCi0gICAgICAgICwgRWFzdFdlc3RSZXNpemVDdXJzb3Io
ImN1cnNvci9lYXN0X3dlc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RTb3V0aFdlc3RS
ZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIikKLSAgICAg
ICAgLCBOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF93ZXN0X3Nv
dXRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBDb2x1bW5SZXNpemVDdXJzb3IoImN1cnNvci9j
b2x1bW5fcmVzaXplIikKLSAgICAgICAgLCBSb3dSZXNpemVDdXJzb3IoImN1cnNvci9yb3dfcmVz
aXplIikKLSAgICAgICAgLCBNaWRkbGVQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvbWlkZGxlX3Bhbm5p
bmciKQotICAgICAgICAsIEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvZWFzdF9wYW5uaW5nIikK
LSAgICAgICAgLCBOb3J0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF9wYW5uaW5nIikKLSAg
ICAgICAgLCBOb3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfZWFzdF9wYW5uaW5n
IikKLSAgICAgICAgLCBOb3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfd2VzdF9w
YW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0aF9wYW5u
aW5nIikKLSAgICAgICAgLCBTb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291dGhfZWFz
dF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291
dGhfd2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBXZXN0UGFubmluZ0N1cnNvcigiY3Vyc29yL3dl
c3RfcGFubmluZyIpCi0gICAgICAgICwgVmVydGljYWxUZXh0Q3Vyc29yKCJjdXJzb3IvdmVydGlj
YWxfdGV4dCIpCi0gICAgICAgICwgQ2VsbEN1cnNvcigiY3Vyc29yL2NlbGwiKQotICAgICAgICAs
IENvbnRleHRNZW51Q3Vyc29yKCJjdXJzb3IvY29udGV4dF9tZW51IikKLSAgICAgICAgLCBOb0Ry
b3BDdXJzb3IoImN1cnNvci9ub19kcm9wIikKLSAgICAgICAgLCBDb3B5Q3Vyc29yKCJjdXJzb3Iv
Y29weSIpCi0gICAgICAgICwgUHJvZ3Jlc3NDdXJzb3IoImN1cnNvci9wcm9ncmVzcyIpCi0gICAg
ICAgICwgQWxpYXNDdXJzb3IoImN1cnNvci9hbGlhcyIpCi0gICAgICAgICwgTm9uZUN1cnNvcigi
Y3Vyc29yL25vbmUiKQotICAgICAgICAsIE5vdEFsbG93ZWRDdXJzb3IoImN1cnNvci9ub3RfYWxs
b3dlZCIpCi0gICAgICAgICwgWm9vbUluQ3Vyc29yKCJjdXJzb3Ivem9vbV9pbiIpCi0gICAgICAg
ICwgWm9vbU91dEN1cnNvcigiY3Vyc29yL3pvb21fb3V0IikKLSAgICAgICAgLCBHcmFiQ3Vyc29y
KCJjdXJzb3IvZ3JhYiIpCi0gICAgICAgICwgR3JhYmJpbmdDdXJzb3IoImN1cnNvci9ncmFiYmlu
ZyIpCi0gICAgewotICAgIH0KLQotICAgIH5DdXJzb3JzKCkKLSAgICB7Ci0gICAgfQotCi1wdWJs
aWM6Ci0gICAgc3RhdGljIEN1cnNvcnMqIHNlbGYoKTsKLSAgICBzdGF0aWMgQ3Vyc29ycyogc19z
ZWxmOwotCi0gICAgQ3Vyc29yIFBvaW50ZXJDdXJzb3I7Ci0gICAgQ3Vyc29yIE1vdmVDdXJzb3I7
Ci0gICAgQ3Vyc29yIENyb3NzQ3Vyc29yOwotICAgIEN1cnNvciBIYW5kQ3Vyc29yOwotICAgIEN1
cnNvciBJQmVhbUN1cnNvcjsKLSAgICBDdXJzb3IgV2FpdEN1cnNvcjsKLSAgICBDdXJzb3IgSGVs
cEN1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTm9ydGhS
ZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJz
b3IgTm9ydGhXZXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFJlc2l6ZUN1cnNvcjsK
LSAgICBDdXJzb3IgU291dGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFdlc3RS
ZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5v
cnRoU291dGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RXZXN0UmVzaXplQ3Vyc29yOwot
ICAgIEN1cnNvciBOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5v
cnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgQ29sdW1uUmVzaXplQ3Vy
c29yOwotICAgIEN1cnNvciBSb3dSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE1pZGRsZVBhbm5p
bmdDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNvciBOb3J0
aFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFBhbm5pbmdDdXJzb3I7Ci0gICAg
Q3Vyc29yIE5vcnRoV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoUGFubmluZ0N1
cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgU291
dGhXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAg
Q3Vyc29yIFZlcnRpY2FsVGV4dEN1cnNvcjsKLSAgICBDdXJzb3IgQ2VsbEN1cnNvcjsKLSAgICBD
dXJzb3IgQ29udGV4dE1lbnVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vRHJvcEN1cnNvcjsKLSAgICBD
dXJzb3IgQ29weUN1cnNvcjsKLSAgICBDdXJzb3IgUHJvZ3Jlc3NDdXJzb3I7Ci0gICAgQ3Vyc29y
IEFsaWFzQ3Vyc29yOwotICAgIEN1cnNvciBOb25lQ3Vyc29yOwotICAgIEN1cnNvciBOb3RBbGxv
d2VkQ3Vyc29yOwotICAgIEN1cnNvciBab29tSW5DdXJzb3I7Ci0gICAgQ3Vyc29yIFpvb21PdXRD
dXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJiaW5nQ3Vyc29y
OwotfTsKLQotQ3Vyc29ycyogQ3Vyc29yczo6c19zZWxmID0gMDsKLQotQ3Vyc29ycyogQ3Vyc29y
czo6c2VsZigpCi17Ci0gICAgaWYgKCFzX3NlbGYpCi0gICAgICAgIHNfc2VsZiA9IG5ldyBDdXJz
b3JzKCk7Ci0KLSAgICByZXR1cm4gc19zZWxmOwotfQotCi19Ci0KLWNvbnN0IEN1cnNvciYgcG9p
bnRlckN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+UG9pbnRlckN1cnNv
cjsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5Nb3ZlQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGNyb3NzQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Dcm9zc0N1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBoYW5kQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5IYW5k
Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGlCZWFtQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5JQmVhbUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB3YWl0Q3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5XYWl0Q3Vyc29yOwotfQotCi1j
b25zdCBDdXJzb3ImIGhlbHBDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCkt
PkhlbHBDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0g
ICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBub3J0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYo
KS0+Tm9ydGhSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UmVzaXpl
Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RSZXNpemVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgc291dGhSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpz
ZWxmKCktPlNvdXRoUmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFJl
c2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhFYXN0UmVz
aXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFJlc2l6ZUN1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UmVzaXplQ3Vyc29yOwotfQot
Ci1jb25zdCBDdXJzb3ImIHdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3Jz
OjpzZWxmKCktPldlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhTb3V0
aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhTb3V0
aFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0V2VzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFdlc3RSZXNpemVDdXJzb3I7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsK
LSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29sdW1uUmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gQ3Vyc29yczo6c2VsZigpLT5Db2x1bW5SZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgcm93UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Sb3dS
ZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbWlkZGxlUGFubmluZ0N1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+TWlkZGxlUGFubmluZ0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBlYXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6
OnNlbGYoKS0+RWFzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhQYW5u
aW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFBhbm5pbmdD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UGFubmluZ0N1cnNvcigpCi17Ci0g
ICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhFYXN0UGFubmluZ0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vy
c29yczo6c2VsZigpLT5Ob3J0aFdlc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3Im
IHNvdXRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291
dGhQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFBhbm5pbmdDdXJz
b3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlNvdXRoRWFzdFBhbm5pbmdDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAg
cmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UGFubmluZ0N1cnNvcjsKLX0KLQotY29u
c3QgQ3Vyc29yJiB3ZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNl
bGYoKS0+V2VzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgdmVydGljYWxUZXh0
Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5WZXJ0aWNhbFRleHRDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY2VsbEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNv
cnM6OnNlbGYoKS0+Q2VsbEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb250ZXh0TWVudUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29udGV4dE1lbnVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5Ob0Ryb3BDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29weUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29weUN1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBwcm9ncmVzc0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+
UHJvZ3Jlc3NDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgYWxpYXNDdXJzb3IoKQotewotICAg
IHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkFsaWFzQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3Im
IG5vbmVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vbmVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm90QWxsb3dlZEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1
cnNvcnM6OnNlbGYoKS0+Tm90QWxsb3dlZEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29t
SW5DdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlpvb21JbkN1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiB6b29tT3V0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5ab29tT3V0Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGdyYWJDdXJzb3Io
KQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkdyYWJDdXJzb3I7CiB9CiAKLWNvbnN0
IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQorc3RhdGljIGNvbnN0IGNoYXIqIGdldEN1cnNvclN0
cmluZyhDdXJzb3I6OlR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5H
cmFiYmluZ0N1cnNvcjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yU3RyaW5nc1tdID0g
eworICAgICAgICAiY3Vyc29yL3BvaW50ZXIiLAorICAgICAgICAiY3Vyc29yL2Nyb3NzIiwKKyAg
ICAgICAgImN1cnNvci9oYW5kIiwKKyAgICAgICAgImN1cnNvci9pX2JlYW0iLAorICAgICAgICAi
Y3Vyc29yL3dhaXQiLAorICAgICAgICAiY3Vyc29yL2hlbHAiLAorICAgICAgICAiY3Vyc29yL2Vh
c3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF9yZXNpemUiLAorICAgICAgICAiY3Vy
c29yL25vcnRoX2Vhc3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF93ZXN0X3Jlc2l6
ZSIsCisgICAgICAgICJjdXJzb3Ivc291dGhfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9zb3V0
aF9lYXN0X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3Ivc291dGhfd2VzdF9yZXNpemUiLAorICAg
ICAgICAiY3Vyc29yL3dlc3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF9zb3V0aF9y
ZXNpemUiLAorICAgICAgICAiY3Vyc29yL2Vhc3Rfd2VzdF9yZXNpemUiLAorICAgICAgICAiY3Vy
c29yL25vcnRoX2Vhc3Rfc291dGhfd2VzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL25vcnRo
X3dlc3Rfc291dGhfZWFzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL2NvbHVtbl9yZXNpemUi
LAorICAgICAgICAiY3Vyc29yL3Jvd19yZXNpemUiLAorICAgICAgICAiY3Vyc29yL21pZGRsZV9w
YW5uaW5nIiwKKyAgICAgICAgImN1cnNvci9lYXN0X3Bhbm5pbmciLAorICAgICAgICAiY3Vyc29y
L25vcnRoX3Bhbm5pbmciLAorICAgICAgICAiY3Vyc29yL25vcnRoX2Vhc3RfcGFubmluZyIsCisg
ICAgICAgICJjdXJzb3Ivbm9ydGhfd2VzdF9wYW5uaW5nIiwKKyAgICAgICAgImN1cnNvci9zb3V0
aF9wYW5uaW5nIiwKKyAgICAgICAgImN1cnNvci9zb3V0aF9lYXN0X3Bhbm5pbmciLAorICAgICAg
ICAiY3Vyc29yL3NvdXRoX3dlc3RfcGFubmluZyIsCisgICAgICAgICJjdXJzb3Ivd2VzdF9wYW5u
aW5nIiwKKyAgICAgICAgImN1cnNvci9tb3ZlIiwKKyAgICAgICAgImN1cnNvci92ZXJ0aWNhbF90
ZXh0IiwKKyAgICAgICAgImN1cnNvci9jZWxsIiwKKyAgICAgICAgImN1cnNvci9jb250ZXh0X21l
bnUiLAorICAgICAgICAiY3Vyc29yL2FsaWFzIiwKKyAgICAgICAgImN1cnNvci9wcm9ncmVzcyIs
CisgICAgICAgICJjdXJzb3Ivbm9fZHJvcCIsCisgICAgICAgICJjdXJzb3IvY29weSIsCisgICAg
ICAgICJjdXJzb3Ivbm9uZSIsCisgICAgICAgICJjdXJzb3Ivbm90X2FsbG93ZWQiLAorICAgICAg
ICAiY3Vyc29yL3pvb21faW4iLAorICAgICAgICAiY3Vyc29yL3pvb21fb3V0IiwKKyAgICAgICAg
ImN1cnNvci9ncmFiIiwKKyAgICAgICAgImN1cnNvci9ncmFiYmluZyIsCisgICAgICAgICIifTsK
KyAgICByZXR1cm4gY3Vyc29yU3RyaW5nc1t0eXBlXTsKK30KKwordm9pZCBDdXJzb3I6OmVuc3Vy
ZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKK3sKKyAgICBpZiAobV9wbGF0Zm9ybUN1cnNvcikKKyAg
ICAgICAgcmV0dXJuOworICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBnZXRDdXJzb3JTdHJpbmcobV90
eXBlKTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdldEVm
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdldEVm
bC5jcHAJKHJldmlzaW9uIDg1MDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dp
ZGdldEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdpZGdl
dDo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3VyCiAgICAgaWYgKCFldmFzKCkpCiAgICAgICAg
ICByZXR1cm47CiAKLSAgICBjb25zdCBjaGFyICpncm91cCA9IGN1cnNvci5pbXBsKCk7CisgICAg
Y29uc3QgY2hhciAqZ3JvdXAgPSBjdXJzb3IucGxhdGZvcm1DdXJzb3IoKTsKICAgICBpZiAoIWdy
b3VwIHx8IFN0cmluZyhncm91cCkgPT0gbV9kYXRhLT5tX2N1cnNvckdyb3VwKQogICAgICAgICBy
ZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91413</attachid>
            <date>2011-04-27 20:01:35 -0700</date>
            <delta_ts>2011-04-27 21:12:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59411-20110428120133.patch</filename>
            <type>text/plain</type>
            <size>13113</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTM5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjcgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIENoYW5nZSBjdXJzb3IgdG8gTEFaWV9OQVRJVkVf
Q1VSU09SCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTQxMQorCisgICAgICAgIEVuYWJsZSBMQVpZX05BVElWRV9DVVJTT1Igb24gRUZMIGJ1aWxkLgor
CisgICAgICAgIE5vIHRlc3QgYWRkZWQgYmVjYXVzZSBmdW5jdGlvbmFsaXR5IGlzIHVuY2hhbmdl
ZC4KKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBBZGQgQ3Vyc29yLmNwcAorICAgICAg
ICAqIHBsYXRmb3JtL0N1cnNvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpDdXJzb3Ip
OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9DdXJzb3JFZmwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3Vyc29yOjpDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjp+Q3Vyc29yKToK
KyAgICAgICAgKFdlYkNvcmU6OmdldEN1cnNvclN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
dXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvV2lk
Z2V0RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0Q3Vyc29yKToKKwogMjAx
MS0wNC0yNyAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHNFZmwudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwu
dHh0CShyZXZpc2lvbiA4NTAzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICBwYWdlL2VmbC9EcmFnQ29udHJvbGxlckVmbC5jcHAKICAgcGFnZS9lZmwvRXZlbnRI
YW5kbGVyRWZsLmNwcAogICBwYWdlL2VmbC9GcmFtZUVmbC5jcHAKKyAgcGxhdGZvcm0vQ3Vyc29y
LmNwcAogICBwbGF0Zm9ybS9lZmwvQ2xpcGJvYXJkRWZsLmNwcAogICBwbGF0Zm9ybS9lZmwvQ29u
dGV4dE1lbnVFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9Db250ZXh0TWVudUl0ZW1FZmwuY3BwCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkocmV2aXNpb24gODUwMzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBA
QCB0eXBlZGVmIHN0cnVjdCBISUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENVUlNPUjsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKICNkZWZp
bmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAKQEAgLTE1NCw5ICsxNTQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdXJzb3ImIGZy
b21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICAgICAgQ3Vyc29yKCkKLSNpZiAhUExBVEZPUk0o
RUZMKQogICAgICAgICAgICAgOiBtX3BsYXRmb3JtQ3Vyc29yKDApCi0jZW5kaWYKICAgICAgICAg
ewogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9DdXJzb3JF
ZmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9DdXJzb3JF
ZmwuY3BwCShyZXZpc2lvbiA4NTAzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9D
dXJzb3JFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywzNjcgKzQzLDczIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotQ3Vyc29yOjpDdXJzb3IoUGxhdGZvcm1DdXJzb3IgcCkKLXsKLSAg
ICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocCk7Ci19Ci0KIEN1cnNv
cjo6Q3Vyc29yKGNvbnN0IEN1cnNvciYgb3RoZXIpCisgICAgOiBtX3R5cGUob3RoZXIubV90eXBl
KQorICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90aGVyLm1f
aG90U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1cnNvcikK
IHsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gZWluYV9zdHJpbmdzaGFyZV9yZWYob3RoZXIubV9w
bGF0Zm9ybUN1cnNvcik7CiB9CiAKIEN1cnNvcjo6fkN1cnNvcigpCiB7Ci0gICAgaWYgKG1fcGxh
dGZvcm1DdXJzb3IpIHsKLSAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwobV9wbGF0Zm9ybUN1
cnNvcik7Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSAwOwotICAgIH0KLX0KLQotQ3Vyc29y
OjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90c3BvdCkKLSAgICA6IG1f
cGxhdGZvcm1DdXJzb3IoMCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi1DdXJzb3Im
IEN1cnNvcjo6b3BlcmF0b3I9KGNvbnN0IEN1cnNvciYgb3RoZXIpCi17Ci0gICAgZWluYV9zdHJp
bmdzaGFyZV9yZWYob3RoZXIubV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwobV9wbGF0Zm9ybUN1cnNvcik7Ci0gICAgbV9wbGF0Zm9ybUN1cnNvciA9IG90aGVyLm1f
cGxhdGZvcm1DdXJzb3I7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1uYW1lc3BhY2UgewotCi1j
bGFzcyBDdXJzb3JzIHsKLXByb3RlY3RlZDoKLSAgICBDdXJzb3JzKCkKLSAgICAgICAgOiBQb2lu
dGVyQ3Vyc29yKCJjdXJzb3IvcG9pbnRlciIpCi0gICAgICAgICwgTW92ZUN1cnNvcigiY3Vyc29y
L21vdmUiKQotICAgICAgICAsIENyb3NzQ3Vyc29yKCJjdXJzb3IvY3Jvc3MiKQotICAgICAgICAs
IEhhbmRDdXJzb3IoImN1cnNvci9oYW5kIikKLSAgICAgICAgLCBJQmVhbUN1cnNvcigiY3Vyc29y
L2lfYmVhbSIpCi0gICAgICAgICwgV2FpdEN1cnNvcigiY3Vyc29yL3dhaXQiKQotICAgICAgICAs
IEhlbHBDdXJzb3IoImN1cnNvci9oZWxwIikKLSAgICAgICAgLCBFYXN0UmVzaXplQ3Vyc29yKCJj
dXJzb3IvZWFzdF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoUmVzaXplQ3Vyc29yKCJjdXJzb3Iv
bm9ydGhfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9u
b3J0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhXZXN0UmVzaXplQ3Vyc29yKCJjdXJz
b3Ivbm9ydGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFNvdXRoUmVzaXplQ3Vyc29yKCJjdXJz
b3Ivc291dGhfcmVzaXplIikKLSAgICAgICAgLCBTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNv
ci9zb3V0aF9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgU291dGhXZXN0UmVzaXplQ3Vyc29yKCJj
dXJzb3Ivc291dGhfd2VzdF9yZXNpemUiKQotICAgICAgICAsIFdlc3RSZXNpemVDdXJzb3IoImN1
cnNvci93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhTb3V0aFJlc2l6ZUN1cnNvcigiY3Vy
c29yL25vcnRoX3NvdXRoX3Jlc2l6ZSIpCi0gICAgICAgICwgRWFzdFdlc3RSZXNpemVDdXJzb3Io
ImN1cnNvci9lYXN0X3dlc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aEVhc3RTb3V0aFdlc3RS
ZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF9lYXN0X3NvdXRoX3dlc3RfcmVzaXplIikKLSAgICAg
ICAgLCBOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoImN1cnNvci9ub3J0aF93ZXN0X3Nv
dXRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBDb2x1bW5SZXNpemVDdXJzb3IoImN1cnNvci9j
b2x1bW5fcmVzaXplIikKLSAgICAgICAgLCBSb3dSZXNpemVDdXJzb3IoImN1cnNvci9yb3dfcmVz
aXplIikKLSAgICAgICAgLCBNaWRkbGVQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvbWlkZGxlX3Bhbm5p
bmciKQotICAgICAgICAsIEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3IvZWFzdF9wYW5uaW5nIikK
LSAgICAgICAgLCBOb3J0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF9wYW5uaW5nIikKLSAg
ICAgICAgLCBOb3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfZWFzdF9wYW5uaW5n
IikKLSAgICAgICAgLCBOb3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivbm9ydGhfd2VzdF9w
YW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0aF9wYW5u
aW5nIikKLSAgICAgICAgLCBTb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291dGhfZWFz
dF9wYW5uaW5nIikKLSAgICAgICAgLCBTb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivc291
dGhfd2VzdF9wYW5uaW5nIikKLSAgICAgICAgLCBXZXN0UGFubmluZ0N1cnNvcigiY3Vyc29yL3dl
c3RfcGFubmluZyIpCi0gICAgICAgICwgVmVydGljYWxUZXh0Q3Vyc29yKCJjdXJzb3IvdmVydGlj
YWxfdGV4dCIpCi0gICAgICAgICwgQ2VsbEN1cnNvcigiY3Vyc29yL2NlbGwiKQotICAgICAgICAs
IENvbnRleHRNZW51Q3Vyc29yKCJjdXJzb3IvY29udGV4dF9tZW51IikKLSAgICAgICAgLCBOb0Ry
b3BDdXJzb3IoImN1cnNvci9ub19kcm9wIikKLSAgICAgICAgLCBDb3B5Q3Vyc29yKCJjdXJzb3Iv
Y29weSIpCi0gICAgICAgICwgUHJvZ3Jlc3NDdXJzb3IoImN1cnNvci9wcm9ncmVzcyIpCi0gICAg
ICAgICwgQWxpYXNDdXJzb3IoImN1cnNvci9hbGlhcyIpCi0gICAgICAgICwgTm9uZUN1cnNvcigi
Y3Vyc29yL25vbmUiKQotICAgICAgICAsIE5vdEFsbG93ZWRDdXJzb3IoImN1cnNvci9ub3RfYWxs
b3dlZCIpCi0gICAgICAgICwgWm9vbUluQ3Vyc29yKCJjdXJzb3Ivem9vbV9pbiIpCi0gICAgICAg
ICwgWm9vbU91dEN1cnNvcigiY3Vyc29yL3pvb21fb3V0IikKLSAgICAgICAgLCBHcmFiQ3Vyc29y
KCJjdXJzb3IvZ3JhYiIpCi0gICAgICAgICwgR3JhYmJpbmdDdXJzb3IoImN1cnNvci9ncmFiYmlu
ZyIpCi0gICAgewotICAgIH0KLQotICAgIH5DdXJzb3JzKCkKLSAgICB7Ci0gICAgfQotCi1wdWJs
aWM6Ci0gICAgc3RhdGljIEN1cnNvcnMqIHNlbGYoKTsKLSAgICBzdGF0aWMgQ3Vyc29ycyogc19z
ZWxmOwotCi0gICAgQ3Vyc29yIFBvaW50ZXJDdXJzb3I7Ci0gICAgQ3Vyc29yIE1vdmVDdXJzb3I7
Ci0gICAgQ3Vyc29yIENyb3NzQ3Vyc29yOwotICAgIEN1cnNvciBIYW5kQ3Vyc29yOwotICAgIEN1
cnNvciBJQmVhbUN1cnNvcjsKLSAgICBDdXJzb3IgV2FpdEN1cnNvcjsKLSAgICBDdXJzb3IgSGVs
cEN1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTm9ydGhS
ZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJz
b3IgTm9ydGhXZXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFJlc2l6ZUN1cnNvcjsK
LSAgICBDdXJzb3IgU291dGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0aFdlc3RS
ZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5v
cnRoU291dGhSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RXZXN0UmVzaXplQ3Vyc29yOwot
ICAgIEN1cnNvciBOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5v
cnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgQ29sdW1uUmVzaXplQ3Vy
c29yOwotICAgIEN1cnNvciBSb3dSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIE1pZGRsZVBhbm5p
bmdDdXJzb3I7Ci0gICAgQ3Vyc29yIEVhc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNvciBOb3J0
aFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRoRWFzdFBhbm5pbmdDdXJzb3I7Ci0gICAg
Q3Vyc29yIE5vcnRoV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoUGFubmluZ0N1
cnNvcjsKLSAgICBDdXJzb3IgU291dGhFYXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgU291
dGhXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgV2VzdFBhbm5pbmdDdXJzb3I7Ci0gICAg
Q3Vyc29yIFZlcnRpY2FsVGV4dEN1cnNvcjsKLSAgICBDdXJzb3IgQ2VsbEN1cnNvcjsKLSAgICBD
dXJzb3IgQ29udGV4dE1lbnVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vRHJvcEN1cnNvcjsKLSAgICBD
dXJzb3IgQ29weUN1cnNvcjsKLSAgICBDdXJzb3IgUHJvZ3Jlc3NDdXJzb3I7Ci0gICAgQ3Vyc29y
IEFsaWFzQ3Vyc29yOwotICAgIEN1cnNvciBOb25lQ3Vyc29yOwotICAgIEN1cnNvciBOb3RBbGxv
d2VkQ3Vyc29yOwotICAgIEN1cnNvciBab29tSW5DdXJzb3I7Ci0gICAgQ3Vyc29yIFpvb21PdXRD
dXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJDdXJzb3I7Ci0gICAgQ3Vyc29yIEdyYWJiaW5nQ3Vyc29y
OwotfTsKLQotQ3Vyc29ycyogQ3Vyc29yczo6c19zZWxmID0gMDsKLQotQ3Vyc29ycyogQ3Vyc29y
czo6c2VsZigpCi17Ci0gICAgaWYgKCFzX3NlbGYpCi0gICAgICAgIHNfc2VsZiA9IG5ldyBDdXJz
b3JzKCk7Ci0KLSAgICByZXR1cm4gc19zZWxmOwotfQotCi19Ci0KLWNvbnN0IEN1cnNvciYgcG9p
bnRlckN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+UG9pbnRlckN1cnNv
cjsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5Nb3ZlQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGNyb3NzQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Dcm9zc0N1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBoYW5kQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5IYW5k
Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGlCZWFtQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Q3Vyc29yczo6c2VsZigpLT5JQmVhbUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB3YWl0Q3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5XYWl0Q3Vyc29yOwotfQotCi1j
b25zdCBDdXJzb3ImIGhlbHBDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCkt
PkhlbHBDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0g
ICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBub3J0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYo
KS0+Tm9ydGhSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UmVzaXpl
Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RSZXNpemVD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgc291dGhSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpz
ZWxmKCktPlNvdXRoUmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFJl
c2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhFYXN0UmVz
aXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFJlc2l6ZUN1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UmVzaXplQ3Vyc29yOwotfQot
Ci1jb25zdCBDdXJzb3ImIHdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3Jz
OjpzZWxmKCktPldlc3RSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhTb3V0
aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhTb3V0
aFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0V2VzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+RWFzdFdlc3RSZXNpemVDdXJzb3I7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsK
LSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29sdW1uUmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gQ3Vyc29yczo6c2VsZigpLT5Db2x1bW5SZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgcm93UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Sb3dS
ZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbWlkZGxlUGFubmluZ0N1cnNvcigpCi17
Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+TWlkZGxlUGFubmluZ0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBlYXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6
OnNlbGYoKS0+RWFzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhQYW5u
aW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFBhbm5pbmdD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0UGFubmluZ0N1cnNvcigpCi17Ci0g
ICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9ydGhFYXN0UGFubmluZ0N1cnNvcjsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vy
c29yczo6c2VsZigpLT5Ob3J0aFdlc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3Im
IHNvdXRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291
dGhQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFBhbm5pbmdDdXJz
b3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlNvdXRoRWFzdFBhbm5pbmdDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAg
cmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhXZXN0UGFubmluZ0N1cnNvcjsKLX0KLQotY29u
c3QgQ3Vyc29yJiB3ZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNl
bGYoKS0+V2VzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgdmVydGljYWxUZXh0
Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5WZXJ0aWNhbFRleHRDdXJz
b3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY2VsbEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNv
cnM6OnNlbGYoKS0+Q2VsbEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb250ZXh0TWVudUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29udGV4dE1lbnVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5Ob0Ryb3BDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29weUN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Q29weUN1cnNvcjsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBwcm9ncmVzc0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+
UHJvZ3Jlc3NDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgYWxpYXNDdXJzb3IoKQotewotICAg
IHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkFsaWFzQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3Im
IG5vbmVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vbmVDdXJzb3I7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm90QWxsb3dlZEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1
cnNvcnM6OnNlbGYoKS0+Tm90QWxsb3dlZEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29t
SW5DdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlpvb21JbkN1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiB6b29tT3V0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5ab29tT3V0Q3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGdyYWJDdXJzb3Io
KQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkdyYWJDdXJzb3I7CiB9CiAKLWNvbnN0
IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQorc3RhdGljIGNvbnN0IGNoYXIqIGN1cnNvclN0cmlu
ZyhDdXJzb3I6OlR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5HcmFi
YmluZ0N1cnNvcjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yU3RyaW5nc1tdID0gewor
ICAgICAgICAiY3Vyc29yL3BvaW50ZXIiLAorICAgICAgICAiY3Vyc29yL2Nyb3NzIiwKKyAgICAg
ICAgImN1cnNvci9oYW5kIiwKKyAgICAgICAgImN1cnNvci9pX2JlYW0iLAorICAgICAgICAiY3Vy
c29yL3dhaXQiLAorICAgICAgICAiY3Vyc29yL2hlbHAiLAorICAgICAgICAiY3Vyc29yL2Vhc3Rf
cmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF9yZXNpemUiLAorICAgICAgICAiY3Vyc29y
L25vcnRoX2Vhc3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF93ZXN0X3Jlc2l6ZSIs
CisgICAgICAgICJjdXJzb3Ivc291dGhfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9zb3V0aF9l
YXN0X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3Ivc291dGhfd2VzdF9yZXNpemUiLAorICAgICAg
ICAiY3Vyc29yL3dlc3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9ub3J0aF9zb3V0aF9yZXNp
emUiLAorICAgICAgICAiY3Vyc29yL2Vhc3Rfd2VzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29y
L25vcnRoX2Vhc3Rfc291dGhfd2VzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL25vcnRoX3dl
c3Rfc291dGhfZWFzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL2NvbHVtbl9yZXNpemUiLAor
ICAgICAgICAiY3Vyc29yL3Jvd19yZXNpemUiLAorICAgICAgICAiY3Vyc29yL21pZGRsZV9wYW5u
aW5nIiwKKyAgICAgICAgImN1cnNvci9lYXN0X3Bhbm5pbmciLAorICAgICAgICAiY3Vyc29yL25v
cnRoX3Bhbm5pbmciLAorICAgICAgICAiY3Vyc29yL25vcnRoX2Vhc3RfcGFubmluZyIsCisgICAg
ICAgICJjdXJzb3Ivbm9ydGhfd2VzdF9wYW5uaW5nIiwKKyAgICAgICAgImN1cnNvci9zb3V0aF9w
YW5uaW5nIiwKKyAgICAgICAgImN1cnNvci9zb3V0aF9lYXN0X3Bhbm5pbmciLAorICAgICAgICAi
Y3Vyc29yL3NvdXRoX3dlc3RfcGFubmluZyIsCisgICAgICAgICJjdXJzb3Ivd2VzdF9wYW5uaW5n
IiwKKyAgICAgICAgImN1cnNvci9tb3ZlIiwKKyAgICAgICAgImN1cnNvci92ZXJ0aWNhbF90ZXh0
IiwKKyAgICAgICAgImN1cnNvci9jZWxsIiwKKyAgICAgICAgImN1cnNvci9jb250ZXh0X21lbnUi
LAorICAgICAgICAiY3Vyc29yL2FsaWFzIiwKKyAgICAgICAgImN1cnNvci9wcm9ncmVzcyIsCisg
ICAgICAgICJjdXJzb3Ivbm9fZHJvcCIsCisgICAgICAgICJjdXJzb3IvY29weSIsCisgICAgICAg
ICJjdXJzb3Ivbm9uZSIsCisgICAgICAgICJjdXJzb3Ivbm90X2FsbG93ZWQiLAorICAgICAgICAi
Y3Vyc29yL3pvb21faW4iLAorICAgICAgICAiY3Vyc29yL3pvb21fb3V0IiwKKyAgICAgICAgImN1
cnNvci9ncmFiIiwKKyAgICAgICAgImN1cnNvci9ncmFiYmluZyIsCisgICAgICAgICIifTsKKyAg
ICByZXR1cm4gY3Vyc29yU3RyaW5nc1t0eXBlXTsKK30KKwordm9pZCBDdXJzb3I6OmVuc3VyZVBs
YXRmb3JtQ3Vyc29yKCkgY29uc3QKK3sKKyAgICBpZiAobV9wbGF0Zm9ybUN1cnNvcikKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjdXJzb3JTdHJpbmcobV90eXBlKTsK
IH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdldEVmbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdldEVmbC5jcHAJ
KHJldmlzaW9uIDg1MDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdldEVm
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdpZGdldDo6c2V0
Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3VyCiAgICAgaWYgKCFldmFzKCkpCiAgICAgICAgICByZXR1
cm47CiAKLSAgICBjb25zdCBjaGFyICpncm91cCA9IGN1cnNvci5pbXBsKCk7CisgICAgY29uc3Qg
Y2hhciogZ3JvdXAgPSBjdXJzb3IucGxhdGZvcm1DdXJzb3IoKTsKICAgICBpZiAoIWdyb3VwIHx8
IFN0cmluZyhncm91cCkgPT0gbV9kYXRhLT5tX2N1cnNvckdyb3VwKQogICAgICAgICByZXR1cm47
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91422</attachid>
            <date>2011-04-27 21:12:37 -0700</date>
            <delta_ts>2011-04-27 23:46:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59411-20110428131235.patch</filename>
            <type>text/plain</type>
            <size>13179</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTM5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjcgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudG9u
aW8gR29tZXMuCisKKyAgICAgICAgW0VGTF0gQ2hhbmdlIGN1cnNvciB0byBMQVpZX05BVElWRV9D
VVJTT1IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
NDExCisKKyAgICAgICAgRW5hYmxlIExBWllfTkFUSVZFX0NVUlNPUiBvbiBFRkwgYnVpbGQuCisK
KyAgICAgICAgTm8gdGVzdCBhZGRlZCBiZWNhdXNlIGZ1bmN0aW9uYWxpdHkgaXMgdW5jaGFuZ2Vk
LgorCisgICAgICAgICogQ01ha2VMaXN0c0VmbC50eHQ6IEFkZCBDdXJzb3IuY3BwCisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6
CisgICAgICAgICogcGxhdGZvcm0vZWZsL0N1cnNvckVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJzb3I6OkN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6On5DdXJzb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0Q3Vyc29yU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkN1
cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9XaWRn
ZXRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRDdXJzb3IpOgorCiAyMDEx
LTA0LTI3ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0c0VmbC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50
eHQJKHJldmlzaW9uIDg1MDM5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgIHBhZ2UvZWZsL0RyYWdDb250cm9sbGVyRWZsLmNwcAogICBwYWdlL2VmbC9FdmVudEhh
bmRsZXJFZmwuY3BwCiAgIHBhZ2UvZWZsL0ZyYW1lRWZsLmNwcAorICBwbGF0Zm9ybS9DdXJzb3Iu
Y3BwCiAgIHBsYXRmb3JtL2VmbC9DbGlwYm9hcmRFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9Db250
ZXh0TWVudUVmbC5jcHAKICAgcGxhdGZvcm0vZWZsL0NvbnRleHRNZW51SXRlbUVmbC5jcHAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCShyZXZpc2lvbiA4NTAzOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBA
IHR5cGVkZWYgc3RydWN0IEhJQ09OX18gKkhJQ09OOwogdHlwZWRlZiBISUNPTiBIQ1VSU09SOwog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQogI2RlZmlu
ZSBXVEZfVVNFX0xBWllfTkFUSVZFX0NVUlNPUiAxCiAjZW5kaWYKIApAQCAtMTU0LDkgKzE1NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGNvbnN0IEN1cnNvciYgZnJv
bVR5cGUoQ3Vyc29yOjpUeXBlKTsKIAogICAgICAgICBDdXJzb3IoKQotI2lmICFQTEFURk9STShF
RkwpCiAgICAgICAgICAgICA6IG1fcGxhdGZvcm1DdXJzb3IoMCkKLSNlbmRpZgogICAgICAgICB7
CiAgICAgICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0N1cnNvckVm
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0N1cnNvckVm
bC5jcHAJKHJldmlzaW9uIDg1MDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0N1
cnNvckVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDM2NyArNDMsNzMgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1DdXJzb3I6OkN1cnNvcihQbGF0Zm9ybUN1cnNvciBwKQotewotICAg
IG1fcGxhdGZvcm1DdXJzb3IgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChwKTsKLX0KLQogQ3Vyc29y
OjpDdXJzb3IoY29uc3QgQ3Vyc29yJiBvdGhlcikKKyAgICA6IG1fdHlwZShvdGhlci5tX3R5cGUp
CisgICAgLCBtX2ltYWdlKG90aGVyLm1faW1hZ2UpCisgICAgLCBtX2hvdFNwb3Qob3RoZXIubV9o
b3RTcG90KQorICAgICwgbV9wbGF0Zm9ybUN1cnNvcihvdGhlci5tX3BsYXRmb3JtQ3Vyc29yKQog
ewotICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBlaW5hX3N0cmluZ3NoYXJlX3JlZihvdGhlci5tX3Bs
YXRmb3JtQ3Vyc29yKTsKIH0KIAogQ3Vyc29yOjp+Q3Vyc29yKCkKIHsKLSAgICBpZiAobV9wbGF0
Zm9ybUN1cnNvcikgewotICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChtX3BsYXRmb3JtQ3Vy
c29yKTsKLSAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IDA7Ci0gICAgfQotfQotCi1DdXJzb3I6
OkN1cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RzcG90KQotICAgIDogbV9w
bGF0Zm9ybUN1cnNvcigwKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLUN1cnNvciYg
Q3Vyc29yOjpvcGVyYXRvcj0oY29uc3QgQ3Vyc29yJiBvdGhlcikKLXsKLSAgICBlaW5hX3N0cmlu
Z3NoYXJlX3JlZihvdGhlci5tX3BsYXRmb3JtQ3Vyc29yKTsKLSAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChtX3BsYXRmb3JtQ3Vyc29yKTsKLSAgICBtX3BsYXRmb3JtQ3Vyc29yID0gb3RoZXIubV9w
bGF0Zm9ybUN1cnNvcjsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLW5hbWVzcGFjZSB7Ci0KLWNs
YXNzIEN1cnNvcnMgewotcHJvdGVjdGVkOgotICAgIEN1cnNvcnMoKQotICAgICAgICA6IFBvaW50
ZXJDdXJzb3IoImN1cnNvci9wb2ludGVyIikKLSAgICAgICAgLCBNb3ZlQ3Vyc29yKCJjdXJzb3Iv
bW92ZSIpCi0gICAgICAgICwgQ3Jvc3NDdXJzb3IoImN1cnNvci9jcm9zcyIpCi0gICAgICAgICwg
SGFuZEN1cnNvcigiY3Vyc29yL2hhbmQiKQotICAgICAgICAsIElCZWFtQ3Vyc29yKCJjdXJzb3Iv
aV9iZWFtIikKLSAgICAgICAgLCBXYWl0Q3Vyc29yKCJjdXJzb3Ivd2FpdCIpCi0gICAgICAgICwg
SGVscEN1cnNvcigiY3Vyc29yL2hlbHAiKQotICAgICAgICAsIEVhc3RSZXNpemVDdXJzb3IoImN1
cnNvci9lYXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgTm9ydGhSZXNpemVDdXJzb3IoImN1cnNvci9u
b3J0aF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoRWFzdFJlc2l6ZUN1cnNvcigiY3Vyc29yL25v
cnRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aFdlc3RSZXNpemVDdXJzb3IoImN1cnNv
ci9ub3J0aF93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgU291dGhSZXNpemVDdXJzb3IoImN1cnNv
ci9zb3V0aF9yZXNpemUiKQotICAgICAgICAsIFNvdXRoRWFzdFJlc2l6ZUN1cnNvcigiY3Vyc29y
L3NvdXRoX2Vhc3RfcmVzaXplIikKLSAgICAgICAgLCBTb3V0aFdlc3RSZXNpemVDdXJzb3IoImN1
cnNvci9zb3V0aF93ZXN0X3Jlc2l6ZSIpCi0gICAgICAgICwgV2VzdFJlc2l6ZUN1cnNvcigiY3Vy
c29yL3dlc3RfcmVzaXplIikKLSAgICAgICAgLCBOb3J0aFNvdXRoUmVzaXplQ3Vyc29yKCJjdXJz
b3Ivbm9ydGhfc291dGhfcmVzaXplIikKLSAgICAgICAgLCBFYXN0V2VzdFJlc2l6ZUN1cnNvcigi
Y3Vyc29yL2Vhc3Rfd2VzdF9yZXNpemUiKQotICAgICAgICAsIE5vcnRoRWFzdFNvdXRoV2VzdFJl
c2l6ZUN1cnNvcigiY3Vyc29yL25vcnRoX2Vhc3Rfc291dGhfd2VzdF9yZXNpemUiKQotICAgICAg
ICAsIE5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcigiY3Vyc29yL25vcnRoX3dlc3Rfc291
dGhfZWFzdF9yZXNpemUiKQotICAgICAgICAsIENvbHVtblJlc2l6ZUN1cnNvcigiY3Vyc29yL2Nv
bHVtbl9yZXNpemUiKQotICAgICAgICAsIFJvd1Jlc2l6ZUN1cnNvcigiY3Vyc29yL3Jvd19yZXNp
emUiKQotICAgICAgICAsIE1pZGRsZVBhbm5pbmdDdXJzb3IoImN1cnNvci9taWRkbGVfcGFubmlu
ZyIpCi0gICAgICAgICwgRWFzdFBhbm5pbmdDdXJzb3IoImN1cnNvci9lYXN0X3Bhbm5pbmciKQot
ICAgICAgICAsIE5vcnRoUGFubmluZ0N1cnNvcigiY3Vyc29yL25vcnRoX3Bhbm5pbmciKQotICAg
ICAgICAsIE5vcnRoRWFzdFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF9lYXN0X3Bhbm5pbmci
KQotICAgICAgICAsIE5vcnRoV2VzdFBhbm5pbmdDdXJzb3IoImN1cnNvci9ub3J0aF93ZXN0X3Bh
bm5pbmciKQotICAgICAgICAsIFNvdXRoUGFubmluZ0N1cnNvcigiY3Vyc29yL3NvdXRoX3Bhbm5p
bmciKQotICAgICAgICAsIFNvdXRoRWFzdFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0aF9lYXN0
X3Bhbm5pbmciKQotICAgICAgICAsIFNvdXRoV2VzdFBhbm5pbmdDdXJzb3IoImN1cnNvci9zb3V0
aF93ZXN0X3Bhbm5pbmciKQotICAgICAgICAsIFdlc3RQYW5uaW5nQ3Vyc29yKCJjdXJzb3Ivd2Vz
dF9wYW5uaW5nIikKLSAgICAgICAgLCBWZXJ0aWNhbFRleHRDdXJzb3IoImN1cnNvci92ZXJ0aWNh
bF90ZXh0IikKLSAgICAgICAgLCBDZWxsQ3Vyc29yKCJjdXJzb3IvY2VsbCIpCi0gICAgICAgICwg
Q29udGV4dE1lbnVDdXJzb3IoImN1cnNvci9jb250ZXh0X21lbnUiKQotICAgICAgICAsIE5vRHJv
cEN1cnNvcigiY3Vyc29yL25vX2Ryb3AiKQotICAgICAgICAsIENvcHlDdXJzb3IoImN1cnNvci9j
b3B5IikKLSAgICAgICAgLCBQcm9ncmVzc0N1cnNvcigiY3Vyc29yL3Byb2dyZXNzIikKLSAgICAg
ICAgLCBBbGlhc0N1cnNvcigiY3Vyc29yL2FsaWFzIikKLSAgICAgICAgLCBOb25lQ3Vyc29yKCJj
dXJzb3Ivbm9uZSIpCi0gICAgICAgICwgTm90QWxsb3dlZEN1cnNvcigiY3Vyc29yL25vdF9hbGxv
d2VkIikKLSAgICAgICAgLCBab29tSW5DdXJzb3IoImN1cnNvci96b29tX2luIikKLSAgICAgICAg
LCBab29tT3V0Q3Vyc29yKCJjdXJzb3Ivem9vbV9vdXQiKQotICAgICAgICAsIEdyYWJDdXJzb3Io
ImN1cnNvci9ncmFiIikKLSAgICAgICAgLCBHcmFiYmluZ0N1cnNvcigiY3Vyc29yL2dyYWJiaW5n
IikKLSAgICB7Ci0gICAgfQotCi0gICAgfkN1cnNvcnMoKQotICAgIHsKLSAgICB9Ci0KLXB1Ymxp
YzoKLSAgICBzdGF0aWMgQ3Vyc29ycyogc2VsZigpOwotICAgIHN0YXRpYyBDdXJzb3JzKiBzX3Nl
bGY7Ci0KLSAgICBDdXJzb3IgUG9pbnRlckN1cnNvcjsKLSAgICBDdXJzb3IgTW92ZUN1cnNvcjsK
LSAgICBDdXJzb3IgQ3Jvc3NDdXJzb3I7Ci0gICAgQ3Vyc29yIEhhbmRDdXJzb3I7Ci0gICAgQ3Vy
c29yIElCZWFtQ3Vyc29yOwotICAgIEN1cnNvciBXYWl0Q3Vyc29yOwotICAgIEN1cnNvciBIZWxw
Q3Vyc29yOwotICAgIEN1cnNvciBFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBOb3J0aFJl
c2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTm9ydGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNv
ciBOb3J0aFdlc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoUmVzaXplQ3Vyc29yOwot
ICAgIEN1cnNvciBTb3V0aEVhc3RSZXNpemVDdXJzb3I7Ci0gICAgQ3Vyc29yIFNvdXRoV2VzdFJl
c2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgV2VzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTm9y
dGhTb3V0aFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFdlc3RSZXNpemVDdXJzb3I7Ci0g
ICAgQ3Vyc29yIE5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTm9y
dGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yOwotICAgIEN1cnNvciBDb2x1bW5SZXNpemVDdXJz
b3I7Ci0gICAgQ3Vyc29yIFJvd1Jlc2l6ZUN1cnNvcjsKLSAgICBDdXJzb3IgTWlkZGxlUGFubmlu
Z0N1cnNvcjsKLSAgICBDdXJzb3IgRWFzdFBhbm5pbmdDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vcnRo
UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgTm9ydGhFYXN0UGFubmluZ0N1cnNvcjsKLSAgICBD
dXJzb3IgTm9ydGhXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBDdXJzb3IgU291dGhQYW5uaW5nQ3Vy
c29yOwotICAgIEN1cnNvciBTb3V0aEVhc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNvciBTb3V0
aFdlc3RQYW5uaW5nQ3Vyc29yOwotICAgIEN1cnNvciBXZXN0UGFubmluZ0N1cnNvcjsKLSAgICBD
dXJzb3IgVmVydGljYWxUZXh0Q3Vyc29yOwotICAgIEN1cnNvciBDZWxsQ3Vyc29yOwotICAgIEN1
cnNvciBDb250ZXh0TWVudUN1cnNvcjsKLSAgICBDdXJzb3IgTm9Ecm9wQ3Vyc29yOwotICAgIEN1
cnNvciBDb3B5Q3Vyc29yOwotICAgIEN1cnNvciBQcm9ncmVzc0N1cnNvcjsKLSAgICBDdXJzb3Ig
QWxpYXNDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vbmVDdXJzb3I7Ci0gICAgQ3Vyc29yIE5vdEFsbG93
ZWRDdXJzb3I7Ci0gICAgQ3Vyc29yIFpvb21JbkN1cnNvcjsKLSAgICBDdXJzb3IgWm9vbU91dEN1
cnNvcjsKLSAgICBDdXJzb3IgR3JhYkN1cnNvcjsKLSAgICBDdXJzb3IgR3JhYmJpbmdDdXJzb3I7
Ci19OwotCi1DdXJzb3JzKiBDdXJzb3JzOjpzX3NlbGYgPSAwOwotCi1DdXJzb3JzKiBDdXJzb3Jz
OjpzZWxmKCkKLXsKLSAgICBpZiAoIXNfc2VsZikKLSAgICAgICAgc19zZWxmID0gbmV3IEN1cnNv
cnMoKTsKLQotICAgIHJldHVybiBzX3NlbGY7Ci19Ci0KLX0KLQotY29uc3QgQ3Vyc29yJiBwb2lu
dGVyQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Qb2ludGVyQ3Vyc29y
OwotfQotCi1jb25zdCBDdXJzb3ImIG1vdmVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3Jz
OjpzZWxmKCktPk1vdmVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY3Jvc3NDdXJzb3IoKQot
ewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkNyb3NzQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIGhhbmRDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkhhbmRD
dXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaUJlYW1DdXJzb3IoKQotewotICAgIHJldHVybiBD
dXJzb3JzOjpzZWxmKCktPklCZWFtQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHdhaXRDdXJz
b3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPldhaXRDdXJzb3I7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgaGVscEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+
SGVscEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5FYXN0UmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIG5vcnRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigp
LT5Ob3J0aFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RSZXNpemVD
dXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vcnRoRWFzdFJlc2l6ZUN1
cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAg
IHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vcnRoV2VzdFJlc2l6ZUN1cnNvcjsKLX0KLQotY29u
c3QgQ3Vyc29yJiBzb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNl
bGYoKS0+U291dGhSZXNpemVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UmVz
aXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Tb3V0aEVhc3RSZXNp
emVDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsK
LSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Tb3V0aFdlc3RSZXNpemVDdXJzb3I7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgd2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6
OnNlbGYoKS0+V2VzdFJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFNvdXRo
UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aFNvdXRo
UmVzaXplQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RXZXN0UmVzaXplQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5FYXN0V2VzdFJlc2l6ZUN1cnNvcjsKLX0K
LQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAg
IHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoKQotewot
ICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNv
cjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb2x1bW5SZXNpemVDdXJzb3IoKQotewotICAgIHJldHVy
biBDdXJzb3JzOjpzZWxmKCktPkNvbHVtblJlc2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29y
JiByb3dSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlJvd1Jl
c2l6ZUN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBtaWRkbGVQYW5uaW5nQ3Vyc29yKCkKLXsK
LSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5NaWRkbGVQYW5uaW5nQ3Vyc29yOwotfQotCi1j
b25zdCBDdXJzb3ImIGVhc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6
c2VsZigpLT5FYXN0UGFubmluZ0N1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFBhbm5p
bmdDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPk5vcnRoUGFubmluZ0N1
cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Ob3J0aEVhc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1j
b25zdCBDdXJzb3ImIG5vcnRoV2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJz
b3JzOjpzZWxmKCktPk5vcnRoV2VzdFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYg
c291dGhQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Tb3V0
aFBhbm5pbmdDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UGFubmluZ0N1cnNv
cigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+U291dGhFYXN0UGFubmluZ0N1cnNv
cjsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBy
ZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Tb3V0aFdlc3RQYW5uaW5nQ3Vyc29yOwotfQotCi1jb25z
dCBDdXJzb3ImIHdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2Vs
ZigpLT5XZXN0UGFubmluZ0N1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiB2ZXJ0aWNhbFRleHRD
dXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPlZlcnRpY2FsVGV4dEN1cnNv
cjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjZWxsQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29y
czo6c2VsZigpLT5DZWxsQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIGNvbnRleHRNZW51Q3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Db250ZXh0TWVudUN1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBub0Ryb3BDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3Jz
OjpzZWxmKCktPk5vRHJvcEN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb3B5Q3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Db3B5Q3Vyc29yOwotfQotCi1jb25zdCBD
dXJzb3ImIHByb2dyZXNzQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vyc29yczo6c2VsZigpLT5Q
cm9ncmVzc0N1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBhbGlhc0N1cnNvcigpCi17Ci0gICAg
cmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+QWxpYXNDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYg
bm9uZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Tm9uZUN1cnNvcjsK
LX0KLQotY29uc3QgQ3Vyc29yJiBub3RBbGxvd2VkQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gQ3Vy
c29yczo6c2VsZigpLT5Ob3RBbGxvd2VkQ3Vyc29yOwotfQotCi1jb25zdCBDdXJzb3ImIHpvb21J
bkN1cnNvcigpCi17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+Wm9vbUluQ3Vyc29yOwot
fQotCi1jb25zdCBDdXJzb3ImIHpvb21PdXRDdXJzb3IoKQotewotICAgIHJldHVybiBDdXJzb3Jz
OjpzZWxmKCktPlpvb21PdXRDdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZ3JhYkN1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIEN1cnNvcnM6OnNlbGYoKS0+R3JhYkN1cnNvcjsKIH0KIAotY29uc3Qg
Q3Vyc29yJiBncmFiYmluZ0N1cnNvcigpCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yU3RyaW5n
KEN1cnNvcjo6VHlwZSB0eXBlKQogewotICAgIHJldHVybiBDdXJzb3JzOjpzZWxmKCktPkdyYWJi
aW5nQ3Vyc29yOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JTdHJpbmdzW10gPSB7Cisg
ICAgICAgICJjdXJzb3IvcG9pbnRlciIsCisgICAgICAgICJjdXJzb3IvY3Jvc3MiLAorICAgICAg
ICAiY3Vyc29yL2hhbmQiLAorICAgICAgICAiY3Vyc29yL2lfYmVhbSIsCisgICAgICAgICJjdXJz
b3Ivd2FpdCIsCisgICAgICAgICJjdXJzb3IvaGVscCIsCisgICAgICAgICJjdXJzb3IvZWFzdF9y
ZXNpemUiLAorICAgICAgICAiY3Vyc29yL25vcnRoX3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3Iv
bm9ydGhfZWFzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL25vcnRoX3dlc3RfcmVzaXplIiwK
KyAgICAgICAgImN1cnNvci9zb3V0aF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL3NvdXRoX2Vh
c3RfcmVzaXplIiwKKyAgICAgICAgImN1cnNvci9zb3V0aF93ZXN0X3Jlc2l6ZSIsCisgICAgICAg
ICJjdXJzb3Ivd2VzdF9yZXNpemUiLAorICAgICAgICAiY3Vyc29yL25vcnRoX3NvdXRoX3Jlc2l6
ZSIsCisgICAgICAgICJjdXJzb3IvZWFzdF93ZXN0X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3Iv
bm9ydGhfZWFzdF9zb3V0aF93ZXN0X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3Ivbm9ydGhfd2Vz
dF9zb3V0aF9lYXN0X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3IvY29sdW1uX3Jlc2l6ZSIsCisg
ICAgICAgICJjdXJzb3Ivcm93X3Jlc2l6ZSIsCisgICAgICAgICJjdXJzb3IvbWlkZGxlX3Bhbm5p
bmciLAorICAgICAgICAiY3Vyc29yL2Vhc3RfcGFubmluZyIsCisgICAgICAgICJjdXJzb3Ivbm9y
dGhfcGFubmluZyIsCisgICAgICAgICJjdXJzb3Ivbm9ydGhfZWFzdF9wYW5uaW5nIiwKKyAgICAg
ICAgImN1cnNvci9ub3J0aF93ZXN0X3Bhbm5pbmciLAorICAgICAgICAiY3Vyc29yL3NvdXRoX3Bh
bm5pbmciLAorICAgICAgICAiY3Vyc29yL3NvdXRoX2Vhc3RfcGFubmluZyIsCisgICAgICAgICJj
dXJzb3Ivc291dGhfd2VzdF9wYW5uaW5nIiwKKyAgICAgICAgImN1cnNvci93ZXN0X3Bhbm5pbmci
LAorICAgICAgICAiY3Vyc29yL21vdmUiLAorICAgICAgICAiY3Vyc29yL3ZlcnRpY2FsX3RleHQi
LAorICAgICAgICAiY3Vyc29yL2NlbGwiLAorICAgICAgICAiY3Vyc29yL2NvbnRleHRfbWVudSIs
CisgICAgICAgICJjdXJzb3IvYWxpYXMiLAorICAgICAgICAiY3Vyc29yL3Byb2dyZXNzIiwKKyAg
ICAgICAgImN1cnNvci9ub19kcm9wIiwKKyAgICAgICAgImN1cnNvci9jb3B5IiwKKyAgICAgICAg
ImN1cnNvci9ub25lIiwKKyAgICAgICAgImN1cnNvci9ub3RfYWxsb3dlZCIsCisgICAgICAgICJj
dXJzb3Ivem9vbV9pbiIsCisgICAgICAgICJjdXJzb3Ivem9vbV9vdXQiLAorICAgICAgICAiY3Vy
c29yL2dyYWIiLAorICAgICAgICAiY3Vyc29yL2dyYWJiaW5nIiwKKyAgICAgICAgIiJ9OyAvLyBG
SVhNRTogSnVzdCByZXR1cm4gIiIgZm9yIGN1c3RvbSB0eXBlLiBXZSBkb24ndCBzdXBwb3J0IGl0
IG5vdy4KKyAgICByZXR1cm4gY3Vyc29yU3RyaW5nc1t0eXBlXTsKK30KKwordm9pZCBDdXJzb3I6
OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKK3sKKyAgICBpZiAobV9wbGF0Zm9ybUN1cnNv
cikKKyAgICAgICAgcmV0dXJuOworICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjdXJzb3JTdHJpbmco
bV90eXBlKTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdl
dEVmbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1dpZGdl
dEVmbC5jcHAJKHJldmlzaW9uIDg1MDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZs
L1dpZGdldEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdp
ZGdldDo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3VyCiAgICAgaWYgKCFldmFzKCkpCiAgICAg
ICAgICByZXR1cm47CiAKLSAgICBjb25zdCBjaGFyICpncm91cCA9IGN1cnNvci5pbXBsKCk7Cisg
ICAgY29uc3QgY2hhciogZ3JvdXAgPSBjdXJzb3IucGxhdGZvcm1DdXJzb3IoKTsKICAgICBpZiAo
IWdyb3VwIHx8IFN0cmluZyhncm91cCkgPT0gbV9kYXRhLT5tX2N1cnNvckdyb3VwKQogICAgICAg
ICByZXR1cm47CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>