<?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>41225</bug_id>
          
          <creation_ts>2010-06-25 13:53:18 -0700</creation_ts>
          <short_desc>Tree builder doesn&apos;t need to return a Node</short_desc>
          <delta_ts>2010-06-25 16:32:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>243183</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 13:53:18 -0700</bug_when>
    <thetext>Tree builder doesn&apos;t need to return a Node</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243185</commentid>
    <comment_count>1</comment_count>
      <attachid>59793</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 13:54:43 -0700</bug_when>
    <thetext>Created attachment 59793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243186</commentid>
    <comment_count>2</comment_count>
      <attachid>59793</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-06-25 13:55:55 -0700</bug_when>
    <thetext>Comment on attachment 59793
Patch

&gt; -    // Implementation coming in the next patch.
&gt; -    return 0;

Should there be an ASSERT_NOT_REACHED here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243188</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 13:58:35 -0700</bug_when>
    <thetext>&gt; Should there be an ASSERT_NOT_REACHED here?

Eventually there should be.  We&apos;ll hit that case until we implement all the states though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243189</commentid>
    <comment_count>4</comment_count>
      <attachid>59793</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 13:59:09 -0700</bug_when>
    <thetext>Comment on attachment 59793
Patch

Thanks for the review.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243191</commentid>
    <comment_count>5</comment_count>
      <attachid>59794</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 14:03:10 -0700</bug_when>
    <thetext>Created attachment 59794
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243248</commentid>
    <comment_count>6</comment_count>
      <attachid>59794</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 16:32:22 -0700</bug_when>
    <thetext>Comment on attachment 59794
Patch for landing

Clearing flags on attachment: 59794

Committed r61914: &lt;http://trac.webkit.org/changeset/61914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243249</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 16:32:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59793</attachid>
            <date>2010-06-25 13:54:43 -0700</date>
            <delta_ts>2010-06-25 14:03:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41225-20100625135441.patch</filename>
            <type>text/plain</type>
            <size>16414</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzA5YWRlMDdhMGMyMmY3MjcwNTFjMzYwOWE2MDk3YWJiNGYxNTgxNi4uNzIyOWUyZDIzMTYxNGM1
OWRiYTExYzkzN2Y4N2QxM2U3ZmY3MTk1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wNi0yNSAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRyZWUgYnVpbGRlciBkb2Vzbid0IG5lZWQgdG8gcmV0dXJu
IGEgTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDEyMjUKKworICAgICAgICBUaGUgb2xkIHRyZWUgYnVpbGRlciByZXR1cm5lZCB0aGUgbmV3bHkg
aW5zZXJ0ZWQgTm9kZSwgYnV0IHRoZSBuZXcgdHJlZQorICAgICAgICBidWlsZGVyIGRvZXNuJ3Qg
bmVlZCB0byBkbyB0aGF0IGFzIGZhciBhcyBJIGNhbiB0ZWxsLiAgUmVtb3ZpbmcgdGhlCisgICAg
ICAgIHJldHVybiB2YWx1ZSBjdXRzIGRvd24gb24gYSBidW5jaCBvZiBhY2NvdW50aW5nLgorCisg
ICAgICAgICogaHRtbC9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyZWVCdWlsZGVyOjpwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcik6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJlZUJ1aWxkZXI6OmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyZWVCdWlsZGVyOjppbnNlcnREb2N0eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6aW5zZXJ0Q29tbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1
aWxkZXI6Omluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmVlQnVpbGRlcjo6aW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0U2NyaXB0RWxlbWVudCk6CisgICAgICAgICog
aHRtbC9IVE1MVHJlZUJ1aWxkZXIuaDoKKwogMjAxMC0wNS0yOCAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jv
bmhhLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJD
b3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCA2ZTQwZmQ3YmJkOGY4NWVjNjhkZTA1
ZTU0MjVlMmI1NDA5OGM0MjE2Li4zYTRiMWM5ZDc1NjE5NjRjMWZmZWMxM2I1MzkxMjI0NWU2YTIy
MGZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMTY2LDcgKzE2Niw3IEBAIEhUTUxU
b2tlbml6ZXI6OlN0YXRlIEhUTUxUcmVlQnVpbGRlcjo6YWRqdXN0ZWRMZXhlclN0YXRlKEhUTUxU
b2tlbml6ZXI6OlN0YXRlIHN0CiAgICAgcmV0dXJuIHN0YXRlOwogfQogCi1QYXNzUmVmUHRyPE5v
ZGU+IEhUTUxUcmVlQnVpbGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIoSFRNTFRva2VuJiB0
b2tlbikKK3ZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcihIVE1M
VG9rZW4mIHRva2VuKQogewogICAgIGlmICh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpET0NU
WVBFKSB7CiAgICAgICAgIERvY3R5cGVUb2tlbiBkb2N0eXBlVG9rZW47CkBAIC0xNzYsNyArMTc2
LDcgQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1MVHJlZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5
UGFyc2VyKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIGRvY3R5cGVUb2tlbi5tX2ZvcmNlUXVp
cmtzID0gdG9rZW4uZm9yY2VRdWlya3MoKTsKIAogICAgICAgICBtX2xlZ2FjeVRyZWVCdWlsZGVy
LT5wYXJzZURvY3R5cGVUb2tlbigmZG9jdHlwZVRva2VuKTsKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGb3Igbm93LCB3ZSB0cmFuc2xhdGUgaW50
byBhbiBvbGQtc3R5bGUgdG9rZW4gZm9yIHRlc3RpbmcuCkBAIC0yMTQsMTQgKzIxNCwxNSBAQCBQ
YXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIo
SFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgfSBlbHNlIGlmIChvbGRTdHlsZVRva2VuLnRhZ05h
bWUgPT0gZnJhbWVzZXRUYWcpCiAgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEFmdGVyRnJh
bWVzZXRNb2RlKTsKICAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CiAKLVBh
c3NSZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjpjb25zdHJ1Y3RUcmVlRnJvbVRva2VuKEhU
TUxUb2tlbiYgcmF3VG9rZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6Y29uc3RydWN0VHJlZUZy
b21Ub2tlbihIVE1MVG9rZW4mIHJhd1Rva2VuKQogewogICAgIC8vIE1ha2UgTVNWQyBpZ25vcmUg
b3VyIHVucmVhY2hhYmxlIGNvZGUgZm9yIG5vdy4KLSAgICBpZiAodHJ1ZSkKLSAgICAgICAgcmV0
dXJuIHBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKHJhd1Rva2VuKTsKKyAgICBpZiAodHJ1ZSkgewor
ICAgICAgICBwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcihyYXdUb2tlbik7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBBdG9taWNIVE1MVG9rZW4gdG9rZW4ocmF3VG9rZW4pOwogCkBAIC0y
MzQsMTIgKzIzNSwxMiBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6Y29uc3Ry
dWN0VHJlZUZyb21Ub2tlbihIVE1MVG9rZW4mIHJhd1Rva2VuKQogICAgICAgICAvLyBGSVhNRTog
Q2FsbGluZyBwcm9jZXNzVG9rZW4gZm9yIGVhY2ggY2hhcmFjdGVyIGlzIHByb2JhYmx5IHNsb3cu
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjaGFyYWN0ZXJzLT5sZW5ndGgoKTsg
KytpKQogICAgICAgICAgICAgcHJvY2Vzc1Rva2VuKHRva2VuLCAoKmNoYXJhY3RlcnMpW2ldKTsK
LSAgICAgICAgcmV0dXJuIDA7IC8vIEZJWE1FOiBTaG91bGQgd2UgYmUgcmV0dXJuaW5nIHRoZSBU
ZXh0IG5vZGU/CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgcmV0dXJuIHByb2Nlc3NUb2tl
bih0b2tlbik7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
VG9rZW4oQXRvbWljSFRNTFRva2VuJiB0b2tlbiwgVUNoYXIgY2MpCit2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc1Rva2VuKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4sIFVDaGFyIGNjKQogewog
cmVwcm9jZXNzVG9rZW46CiAgICAgc3dpdGNoIChpbnNlcnRpb25Nb2RlKCkpIHsKQEAgLTI0OSwx
MiArMjUwLDE0IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZ
UEU6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0RG9jdHlwZSh0b2tlbik7CisgICAgICAgICAg
ICBpbnNlcnREb2N0eXBlKHRva2VuKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2Fz
ZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0
b2tlbik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAgICAgICAgIGlm
IChpc1RyZWVCdWlsZGVyV2hpdGVTcGFjZShjYykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgSFRNTFRva2VuOjpTdGFydFRhZzoKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkVuZFRhZzoK
QEAgLTI3MywyNSArMjc2LDI2IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgogICAgICAgICAgICAgcGFyc2VFcnJv
cih0b2tlbik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0
Q29tbWVudCh0b2tlbik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAg
ICAgICAgIGlmIChpc1RyZWVCdWlsZGVyV2hpdGVTcGFjZShjYykpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgSFRNTFRva2VuOjpTdGFydFRhZzoKICAgICAgICAgICAgIGlmICh0b2tlbi5u
YW1lKCkgPT0gaHRtbFRhZykgewogICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAg
ICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShCZWZvcmVIZWFkTW9kZSk7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CiAg
ICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcgfHwgdG9rZW4ubmFtZSgpID09
IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJy
VGFnKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
Y2FzZSBIVE1MVG9rZW46OkVuZE9mRmlsZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC0zMDYsMjIgKzMxMCwyMyBAQCByZXByb2Nlc3NUb2tlbjoKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6Q2hhcmFjdGVyOgogICAgICAgICAgICAgaWYgKGlz
VHJlZUJ1aWxkZXJXaGl0ZVNwYWNlKGNjKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBI
VE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0b2tl
bik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZUEU6CiAgICAgICAgICAgICBwYXJzZUVy
cm9yKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4u
bmFtZSgpID09IGh0bWxUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaGVhZFRhZykgewogICAg
ICAgICAgICAgICAgIG1faGVhZEVsZW1lbnQgPSBpbnNlcnRFbGVtZW50KHRva2VuKTsKICAgICAg
ICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEluSGVhZE1vZGUpOwotICAgICAgICAgICAgICAg
IHJldHVybiBtX2hlYWRFbGVtZW50OworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RW5kVGFn
OgpAQCAtMzMxLDcgKzMzNiw3IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgICAgIGdv
dG8gcmVwcm9jZXNzVG9rZW47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBwYXJzZUVycm9y
KHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjYXNlIEhUTUxUb2tlbjo6RW5kT2ZGaWxlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KQEAgLTM0Niw0NiArMzUxLDUyIEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6CiAgICAgICAgICAgICBp
bnNlcnRDaGFyYWN0ZXIoY2MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDb21tZW50OgotICAgICAgICAgICAgcmV0dXJu
IGluc2VydENvbW1lbnQodG9rZW4pOworICAgICAgICAgICAgaW5zZXJ0Q29tbWVudCh0b2tlbik7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgog
ICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgogICAg
ICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnKSB7CiAgICAgICAgICAgICAgICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBGSVhNRTogQXRvbWl6
ZSAiY29tbWFuZCIuCiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJhc2VUYWcgfHwg
dG9rZW4ubmFtZSgpID09ICJjb21tYW5kIiB8fCB0b2tlbi5uYW1lKCkgPT0gbGlua1RhZykgewot
ICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSA9IGluc2VydEVsZW1lbnQodG9r
ZW4pOworICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnQodG9rZW4pOwogICAgICAgICAgICAg
ICAgIG1fb3BlbkVsZW1lbnRzLnBvcCgpOwogICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAodG9rZW4ubmFtZSgpID09IG1ldGFUYWcpIHsKLSAgICAgICAgICAgICAgICBQYXNz
UmVmUHRyPE5vZGU+IG5vZGUgPSBpbnNlcnRFbGVtZW50KHRva2VuKTsKKyAgICAgICAgICAgICAg
ICBpbnNlcnRFbGVtZW50KHRva2VuKTsKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5w
b3AoKTsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgICAg
IHJldHVybiBub2RlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUo
KSA9PSB0aXRsZVRhZykKLSAgICAgICAgICAgICAgICByZXR1cm4gaW5zZXJ0R2VuZXJpY1JDREFU
QUVsZW1lbnQodG9rZW4pOworICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSB0aXRsZVRh
ZykgeworICAgICAgICAgICAgICAgIGluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KHRva2VuKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAo
dG9rZW4ubmFtZSgpID09IG5vc2NyaXB0VGFnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGlzU2Ny
aXB0aW5nRmxhZ0VuYWJsZWQobV9kb2N1bWVudC0+ZnJhbWUoKSkpCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBpbnNlcnRHZW5lcmljUmF3VGV4dEVsZW1lbnQodG9rZW4pOwotICAgICAgICAg
ICAgICAgIFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSA9IGluc2VydEVsZW1lbnQodG9rZW4pOworICAg
ICAgICAgICAgICAgIGlmIChpc1NjcmlwdGluZ0ZsYWdFbmFibGVkKG1fZG9jdW1lbnQtPmZyYW1l
KCkpKSB7CisgICAgICAgICAgICAgICAgICAgIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0
b2tlbik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICAgICAgc2V0
SW5zZXJ0aW9uTW9kZShJbkhlYWROb3NjcmlwdE1vZGUpOwotICAgICAgICAgICAgICAgIHJldHVy
biBub2RlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBu
b2ZyYW1lc1RhZyB8fCB0b2tlbi5uYW1lKCkgPT0gc3R5bGVUYWcpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tlbik7Ci0gICAgICAgICAgICBp
ZiAodG9rZW4ubmFtZSgpID09IHNjcmlwdFRhZykKLSAgICAgICAgICAgICAgICByZXR1cm4gaW5z
ZXJ0U2NyaXB0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09
IG5vZnJhbWVzVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBzdHlsZVRhZykgeworICAgICAgICAgICAg
ICAgIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBz
Y3JpcHRUYWcpIHsKKyAgICAgICAgICAgICAgICBpbnNlcnRTY3JpcHRFbGVtZW50KHRva2VuKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAo
dG9rZW4ubmFtZSgpID09IGhlYWRUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEhUTUxUb2tl
bjo6RW5kVGFnOgpAQCAtMzkzLDEyICs0MDQsMTIgQEAgcmVwcm9jZXNzVG9rZW46CiAgICAgICAg
ICAgICAgICAgQVNTRVJUKG1fb3BlbkVsZW1lbnRzLnRvcCgpLT50YWdRTmFtZSgpID09IGhlYWRU
YWcpOwogICAgICAgICAgICAgICAgIG1fb3BlbkVsZW1lbnRzLnBvcCgpOwogICAgICAgICAgICAg
ICAgIHNldEluc2VydGlvbk1vZGUoQWZ0ZXJIZWFkTW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKHRva2VuLm5hbWUoKSA9PSBib2R5VGFnIHx8IHRva2VuLm5hbWUoKSA9PSBodG1sVGFn
IHx8IHRva2VuLm5hbWUoKSA9PSBiclRhZykKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46
OkVuZE9mRmlsZToKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDE0LDE5ICs0MjUsMTkgQEAgcmVw
cm9jZXNzVG9rZW46CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46
OkRPQ1RZUEU6CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIHJl
dHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6U3Rh
cnRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGh0bWxUYWcpIHsKICAgICAg
ICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICh0
b2tlbi5uYW1lKCkgPT0gbGlua1RhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbWV0YVRhZyB8fCB0b2tl
bi5uYW1lKCkgPT0gbm9mcmFtZXNUYWcgfHwgdG9rZW4ubmFtZSgpID09IHN0eWxlVGFnKSB7CiAg
ICAgICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBp
ZiAodG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IG5vc2NyaXB0VGFn
KSB7CiAgICAgICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CkBAIC00MzUsMTgg
KzQ0NiwxOCBAQCByZXByb2Nlc3NUb2tlbjoKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50
cy5wb3AoKTsKICAgICAgICAgICAgICAgICBBU1NFUlQobV9vcGVuRWxlbWVudHMudG9wKCktPnRh
Z1FOYW1lKCkgPT0gaGVhZFRhZyk7CiAgICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJ
bkhlYWRNb2RlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJy
VGFnKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
Y2FzZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6CiAg
ICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtNDYyLDI3ICs0NzMsMjkgQEAgcmVwcm9jZXNz
VG9rZW46CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6CiAgICAgICAgICAgICBp
ZiAoaXNUcmVlQnVpbGRlcldoaXRlU3BhY2UoY2MpKSB7CiAgICAgICAgICAgICAgICAgaW5zZXJ0
Q2hhcmFjdGVyKGNjKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0
b2tlbik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZUEU6CiAgICAgICAgICAgICBwYXJz
ZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRUYWc6CiAgICAgICAgICAgICBpZiAodG9r
ZW4ubmFtZSgpID09IGh0bWxUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gYm9keVRhZykgewog
ICAgICAgICAgICAgICAgIG1fZnJhbWVzZXRPayA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHJl
dHVybiBpbnNlcnRFbGVtZW50KHRva2VuKTsKKyAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50
KHRva2VuKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAodG9rZW4ubmFtZSgpID09IGZyYW1lc2V0VGFnKSB7Ci0gICAgICAgICAgICAgICAg
UGFzc1JlZlB0cjxOb2RlPiBub2RlID0gaW5zZXJ0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAg
ICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9u
TW9kZShJbkZyYW1lc2V0TW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHRva2Vu
Lm5hbWUoKSA9PSBiYXNlVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBsaW5rVGFnIHx8IHRva2VuLm5h
bWUoKSA9PSBtZXRhVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBub2ZyYW1lc1RhZyB8fCB0b2tlbi5u
YW1lKCkgPT0gc2NyaXB0VGFnIHx8IHRva2VuLm5hbWUoKSA9PSBzdHlsZVRhZyB8fCB0b2tlbi5u
YW1lKCkgPT0gdGl0bGVUYWcpIHsKICAgICAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsK
QEAgLTQ5MCwxNyArNTAzLDE4IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgICAgIG1f
b3BlbkVsZW1lbnRzLnB1c2gobV9oZWFkRWxlbWVudC5nZXQoKSk7CiAgICAgICAgICAgICAgICAg
bm90SW1wbGVtZW50ZWQoKTsKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5yZW1vdmUo
bV9oZWFkRWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBoZWFkVGFnKSB7CiAgICAgICAg
ICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4u
bmFtZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFt
ZSgpID09IGJyVGFnKSAgICAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIHBh
cnNlRXJyb3IodG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQpAQCAtNTI2LDIzICs1NDAsMTkgQEAgcmVwcm9jZXNzVG9rZW46CiAgICAg
Y2FzZSBBZnRlckZyYW1lc2V0TW9kZToKICAgICBjYXNlIEFmdGVyQWZ0ZXJCb2R5TW9kZToKICAg
ICBjYXNlIEFmdGVyQWZ0ZXJGcmFtZXNldE1vZGU6CisgICAgICAgIG5vdEltcGxlbWVudGVkKCk7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLQotICAgIC8vIEltcGxlbWVu
dGF0aW9uIGNvbWluZyBpbiB0aGUgbmV4dCBwYXRjaC4KLSAgICByZXR1cm4gMDsKIH0KIAotUGFz
c1JlZlB0cjxOb2RlPiBIVE1MVHJlZUJ1aWxkZXI6Omluc2VydERvY3R5cGUoQXRvbWljSFRNTFRv
a2VuJiB0b2tlbikKK3ZvaWQgSFRNTFRyZWVCdWlsZGVyOjppbnNlcnREb2N0eXBlKEF0b21pY0hU
TUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0b2tlbiwgdG9rZW4udHlwZSgp
ID09IEhUTUxUb2tlbjo6RE9DVFlQRSk7Ci0gICAgcmV0dXJuIDA7CiB9CiAKLVBhc3NSZWZQdHI8
Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjppbnNlcnRDb21tZW50KEF0b21pY0hUTUxUb2tlbiYgdG9r
ZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0Q29tbWVudChBdG9taWNIVE1MVG9rZW4m
IHRva2VuKQogewogICAgIEFTU0VSVF9VTlVTRUQodG9rZW4sIHRva2VuLnR5cGUoKSA9PSBIVE1M
VG9rZW46OkNvbW1lbnQpOwotICAgIHJldHVybiAwOwogfQogCiBQYXNzUmVmUHRyPEVsZW1lbnQ+
IEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0RWxlbWVudChBdG9taWNIVE1MVG9rZW4mIHRva2VuKQpA
QCAtNTU2LDIyICs1NjYsMTkgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6Omluc2VydENoYXJhY3Rl
cihVQ2hhciBjYykKICAgICBBU1NFUlRfVU5VU0VEKGNjLCBjYyk7CiB9CiAKLVBhc3NSZWZQdHI8
Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjppbnNlcnRHZW5lcmljUkNEQVRBRWxlbWVudChBdG9taWNI
VE1MVG9rZW4mIHRva2VuKQordm9pZCBIVE1MVHJlZUJ1aWxkZXI6Omluc2VydEdlbmVyaWNSQ0RB
VEFFbGVtZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0
b2tlbiwgdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWcpOwotICAgIHJldHVybiAw
OwogfQogCi1QYXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0R2VuZXJpY1Jh
d1RleHRFbGVtZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6aW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7
CiAgICAgQVNTRVJUX1VOVVNFRCh0b2tlbiwgdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3Rh
cnRUYWcpOwotICAgIHJldHVybiAwOwogfQogCi1QYXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVp
bGRlcjo6aW5zZXJ0U2NyaXB0RWxlbWVudChBdG9taWNIVE1MVG9rZW4mIHRva2VuKQordm9pZCBI
VE1MVHJlZUJ1aWxkZXI6Omluc2VydFNjcmlwdEVsZW1lbnQoQXRvbWljSFRNTFRva2VuJiB0b2tl
bikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRva2VuLCB0b2tlbi50eXBlKCkgPT0gSFRNTFRva2Vu
OjpTdGFydFRhZyk7Ci0gICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpm
aW5pc2hlZCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmggYi9X
ZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggNzYzNjBhZThiNTA2MjZlMTQ3MzEz
NjNjZjZlOTVkMTFkZWU0YTMwNC4uMzBlMTdjMzNiMzNiNTY0NDQwNTg5MjVmNzMxNTczNGQ0YjY4
MzJhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1BhdXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYXVzZWQ7IH0KIAogICAgIC8v
IFRoZSB0b2tlbiByZWFsbHkgc2hvdWxkIGJlIHBhc3NlZCBhcyBhIGNvbnN0JiBzaW5jZSBpdCdz
IG5ldmVyIG1vZGlmaWVkLgotICAgIFBhc3NSZWZQdHI8Tm9kZT4gY29uc3RydWN0VHJlZUZyb21U
b2tlbihIVE1MVG9rZW4mKTsKKyAgICB2b2lkIGNvbnN0cnVjdFRyZWVGcm9tVG9rZW4oSFRNTFRv
a2VuJik7CiAgICAgLy8gTXVzdCBiZSBjYWxsZWQgd2hlbiBwYXJzZXIgaXMgcGF1c2VkIGJlZm9y
ZSBjYWxsaW5nIHRoZSBwYXJzZXIgYWdhaW4uCiAgICAgUGFzc1JlZlB0cjxFbGVtZW50PiB0YWtl
U2NyaXB0VG9Qcm9jZXNzKGludCYgc2NyaXB0U3RhcnRMaW5lKTsKIApAQCAtMTA3LDE2ICsxMDcs
MTYgQEAgcHJpdmF0ZToKICAgICAgICAgRWxlbWVudCogdG9wKCkgY29uc3QgeyByZXR1cm4gMDsg
fQogICAgIH07CiAKLSAgICBQYXNzUmVmUHRyPE5vZGU+IHBhc3NUb2tlblRvTGVnYWN5UGFyc2Vy
KEhUTUxUb2tlbiYpOwotICAgIFBhc3NSZWZQdHI8Tm9kZT4gcHJvY2Vzc1Rva2VuKEF0b21pY0hU
TUxUb2tlbiYsIFVDaGFyIGNjID0gMCk7CisgICAgdm9pZCBwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNl
cihIVE1MVG9rZW4mKTsKKyAgICB2b2lkIHByb2Nlc3NUb2tlbihBdG9taWNIVE1MVG9rZW4mLCBV
Q2hhciBjYyA9IDApOwogCi0gICAgUGFzc1JlZlB0cjxOb2RlPiBpbnNlcnREb2N0eXBlKEF0b21p
Y0hUTUxUb2tlbiYpOwotICAgIFBhc3NSZWZQdHI8Tm9kZT4gaW5zZXJ0Q29tbWVudChBdG9taWNI
VE1MVG9rZW4mKTsKKyAgICB2b2lkIGluc2VydERvY3R5cGUoQXRvbWljSFRNTFRva2VuJik7Cisg
ICAgdm9pZCBpbnNlcnRDb21tZW50KEF0b21pY0hUTUxUb2tlbiYpOwogICAgIFBhc3NSZWZQdHI8
RWxlbWVudD4gaW5zZXJ0RWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsKICAgICB2b2lkIGluc2Vy
dENoYXJhY3RlcihVQ2hhciBjYyk7Ci0gICAgUGFzc1JlZlB0cjxOb2RlPiBpbnNlcnRHZW5lcmlj
UkNEQVRBRWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsKLSAgICBQYXNzUmVmUHRyPE5vZGU+IGlu
c2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsKLSAgICBQYXNzUmVm
UHRyPE5vZGU+IGluc2VydFNjcmlwdEVsZW1lbnQoQXRvbWljSFRNTFRva2VuJik7CisgICAgdm9p
ZCBpbnNlcnRHZW5lcmljUkNEQVRBRWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lk
IGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lk
IGluc2VydFNjcmlwdEVsZW1lbnQoQXRvbWljSFRNTFRva2VuJik7CiAKICAgICBSZWZQdHI8RWxl
bWVudD4gbV9oZWFkRWxlbWVudDsKICAgICBFbGVtZW50U3RhY2sgbV9vcGVuRWxlbWVudHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59794</attachid>
            <date>2010-06-25 14:03:10 -0700</date>
            <delta_ts>2010-06-25 16:32:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-41225-20100625140309.patch</filename>
            <type>text/plain</type>
            <size>16438</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzA5YWRlMDdhMGMyMmY3MjcwNTFjMzYwOWE2MDk3YWJiNGYxNTgxNi4uNWZhZmI3ZGZkOTc5ZTVl
ZmMzYTM2MTQ1YzE2ZjQ1NDFhMmI0YWZlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wNi0yNSAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRyZWUgYnVpbGRlciBkb2Vzbid0IG5lZWQgdG8gcmV0dXJuIGEg
Tm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEy
MjUKKworICAgICAgICBUaGUgb2xkIHRyZWUgYnVpbGRlciByZXR1cm5lZCB0aGUgbmV3bHkgaW5z
ZXJ0ZWQgTm9kZSwgYnV0IHRoZSBuZXcgdHJlZQorICAgICAgICBidWlsZGVyIGRvZXNuJ3QgbmVl
ZCB0byBkbyB0aGF0IGFzIGZhciBhcyBJIGNhbiB0ZWxsLiAgUmVtb3ZpbmcgdGhlCisgICAgICAg
IHJldHVybiB2YWx1ZSBjdXRzIGRvd24gb24gYSBidW5jaCBvZiBhY2NvdW50aW5nLgorCisgICAg
ICAgICogaHRtbC9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
ZWVCdWlsZGVyOjpwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJlZUJ1aWxkZXI6OmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyZWVCdWlsZGVyOjppbnNlcnREb2N0eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVl
QnVpbGRlcjo6aW5zZXJ0Q29tbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxk
ZXI6Omluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6aW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0U2NyaXB0RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MVHJlZUJ1aWxkZXIuaDoKKwogMjAxMC0wNS0yOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jvbmhh
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3Jl
L2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCA2ZTQwZmQ3YmJkOGY4NWVjNjhkZTA1ZTU0
MjVlMmI1NDA5OGM0MjE2Li45ZWJjNWExZWI0MTI4N2VkNjNiZTlhNDdhNzY1YWVkNjMzNzhlYzZk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMTY2LDcgKzE2Niw3IEBAIEhUTUxUb2tl
bml6ZXI6OlN0YXRlIEhUTUxUcmVlQnVpbGRlcjo6YWRqdXN0ZWRMZXhlclN0YXRlKEhUTUxUb2tl
bml6ZXI6OlN0YXRlIHN0CiAgICAgcmV0dXJuIHN0YXRlOwogfQogCi1QYXNzUmVmUHRyPE5vZGU+
IEhUTUxUcmVlQnVpbGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIoSFRNTFRva2VuJiB0b2tl
bikKK3ZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcihIVE1MVG9r
ZW4mIHRva2VuKQogewogICAgIGlmICh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpET0NUWVBF
KSB7CiAgICAgICAgIERvY3R5cGVUb2tlbiBkb2N0eXBlVG9rZW47CkBAIC0xNzYsNyArMTc2LDcg
QEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1MVHJlZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5UGFy
c2VyKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIGRvY3R5cGVUb2tlbi5tX2ZvcmNlUXVpcmtz
ID0gdG9rZW4uZm9yY2VRdWlya3MoKTsKIAogICAgICAgICBtX2xlZ2FjeVRyZWVCdWlsZGVyLT5w
YXJzZURvY3R5cGVUb2tlbigmZG9jdHlwZVRva2VuKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGb3Igbm93LCB3ZSB0cmFuc2xhdGUgaW50byBh
biBvbGQtc3R5bGUgdG9rZW4gZm9yIHRlc3RpbmcuCkBAIC0yMTQsMTQgKzIxNCwxNSBAQCBQYXNz
UmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIoSFRN
TFRva2VuJiB0b2tlbikKICAgICAgICAgfSBlbHNlIGlmIChvbGRTdHlsZVRva2VuLnRhZ05hbWUg
PT0gZnJhbWVzZXRUYWcpCiAgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEFmdGVyRnJhbWVz
ZXRNb2RlKTsKICAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CiAKLVBhc3NS
ZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjpjb25zdHJ1Y3RUcmVlRnJvbVRva2VuKEhUTUxU
b2tlbiYgcmF3VG9rZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6Y29uc3RydWN0VHJlZUZyb21U
b2tlbihIVE1MVG9rZW4mIHJhd1Rva2VuKQogewogICAgIC8vIE1ha2UgTVNWQyBpZ25vcmUgb3Vy
IHVucmVhY2hhYmxlIGNvZGUgZm9yIG5vdy4KLSAgICBpZiAodHJ1ZSkKLSAgICAgICAgcmV0dXJu
IHBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKHJhd1Rva2VuKTsKKyAgICBpZiAodHJ1ZSkgeworICAg
ICAgICBwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcihyYXdUb2tlbik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICBBdG9taWNIVE1MVG9rZW4gdG9rZW4ocmF3VG9rZW4pOwogCkBAIC0yMzQs
MTIgKzIzNSwxMiBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6Y29uc3RydWN0
VHJlZUZyb21Ub2tlbihIVE1MVG9rZW4mIHJhd1Rva2VuKQogICAgICAgICAvLyBGSVhNRTogQ2Fs
bGluZyBwcm9jZXNzVG9rZW4gZm9yIGVhY2ggY2hhcmFjdGVyIGlzIHByb2JhYmx5IHNsb3cuCiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjaGFyYWN0ZXJzLT5sZW5ndGgoKTsgKytp
KQogICAgICAgICAgICAgcHJvY2Vzc1Rva2VuKHRva2VuLCAoKmNoYXJhY3RlcnMpW2ldKTsKLSAg
ICAgICAgcmV0dXJuIDA7IC8vIEZJWE1FOiBTaG91bGQgd2UgYmUgcmV0dXJuaW5nIHRoZSBUZXh0
IG5vZGU/CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgcmV0dXJuIHByb2Nlc3NUb2tlbih0
b2tlbik7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVG9r
ZW4oQXRvbWljSFRNTFRva2VuJiB0b2tlbiwgVUNoYXIgY2MpCit2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc1Rva2VuKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4sIFVDaGFyIGNjKQogewogcmVw
cm9jZXNzVG9rZW46CiAgICAgc3dpdGNoIChpbnNlcnRpb25Nb2RlKCkpIHsKQEAgLTI0OSwxMiAr
MjUwLDE0IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZUEU6
Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0RG9jdHlwZSh0b2tlbik7CisgICAgICAgICAgICBp
bnNlcnREb2N0eXBlKHRva2VuKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBI
VE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0b2tl
bik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAgICAgICAgIGlmIChp
c1RyZWVCdWlsZGVyV2hpdGVTcGFjZShjYykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
SFRNTFRva2VuOjpTdGFydFRhZzoKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkVuZFRhZzoKQEAg
LTI3MywyNSArMjc2LDI2IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgogICAgICAgICAgICAgcGFyc2VFcnJvcih0
b2tlbik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29t
bWVudCh0b2tlbik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAgICAg
ICAgIGlmIChpc1RyZWVCdWlsZGVyV2hpdGVTcGFjZShjYykpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgSFRNTFRva2VuOjpTdGFydFRhZzoKICAgICAgICAgICAgIGlmICh0b2tlbi5uYW1l
KCkgPT0gaHRtbFRhZykgewogICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAg
ICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShCZWZvcmVIZWFkTW9kZSk7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CiAgICAg
ICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJv
ZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJyVGFn
KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7
Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2Fz
ZSBIVE1MVG9rZW46OkVuZE9mRmlsZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBA
IC0zMDYsMjIgKzMxMCwyMyBAQCByZXByb2Nlc3NUb2tlbjoKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIEhUTUxUb2tlbjo6Q2hhcmFjdGVyOgogICAgICAgICAgICAgaWYgKGlzVHJl
ZUJ1aWxkZXJXaGl0ZVNwYWNlKGNjKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1M
VG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0b2tlbik7
CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZUEU6CiAgICAgICAgICAgICBwYXJzZUVycm9y
KHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFt
ZSgpID09IGh0bWxUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
ICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaGVhZFRhZykgewogICAgICAg
ICAgICAgICAgIG1faGVhZEVsZW1lbnQgPSBpbnNlcnRFbGVtZW50KHRva2VuKTsKICAgICAgICAg
ICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEluSGVhZE1vZGUpOwotICAgICAgICAgICAgICAgIHJl
dHVybiBtX2hlYWRFbGVtZW50OworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RW5kVGFnOgpA
QCAtMzMxLDcgKzMzNiw3IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgICAgIGdvdG8g
cmVwcm9jZXNzVG9rZW47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjYXNlIEhUTUxUb2tlbjo6RW5kT2ZGaWxlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KQEAgLTM0Niw0NiArMzUxLDUyIEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6CiAgICAgICAgICAgICBpbnNl
cnRDaGFyYWN0ZXIoY2MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDb21tZW50OgotICAgICAgICAgICAgcmV0dXJuIGlu
c2VydENvbW1lbnQodG9rZW4pOworICAgICAgICAgICAgaW5zZXJ0Q29tbWVudCh0b2tlbik7Cisg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgogICAg
ICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgogICAgICAg
ICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnKSB7CiAgICAgICAgICAgICAgICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBGSVhNRTogQXRvbWl6ZSAi
Y29tbWFuZCIuCiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJhc2VUYWcgfHwgdG9r
ZW4ubmFtZSgpID09ICJjb21tYW5kIiB8fCB0b2tlbi5uYW1lKCkgPT0gbGlua1RhZykgewotICAg
ICAgICAgICAgICAgIFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSA9IGluc2VydEVsZW1lbnQodG9rZW4p
OworICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnQodG9rZW4pOwogICAgICAgICAgICAgICAg
IG1fb3BlbkVsZW1lbnRzLnBvcCgpOwogICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAodG9rZW4ubmFtZSgpID09IG1ldGFUYWcpIHsKLSAgICAgICAgICAgICAgICBQYXNzUmVm
UHRyPE5vZGU+IG5vZGUgPSBpbnNlcnRFbGVtZW50KHRva2VuKTsKKyAgICAgICAgICAgICAgICBp
bnNlcnRFbGVtZW50KHRva2VuKTsKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5wb3Ao
KTsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgICAgIHJl
dHVybiBub2RlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9
PSB0aXRsZVRhZykKLSAgICAgICAgICAgICAgICByZXR1cm4gaW5zZXJ0R2VuZXJpY1JDREFUQUVs
ZW1lbnQodG9rZW4pOworICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSB0aXRsZVRhZykg
eworICAgICAgICAgICAgICAgIGluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KHRva2VuKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodG9r
ZW4ubmFtZSgpID09IG5vc2NyaXB0VGFnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGlzU2NyaXB0
aW5nRmxhZ0VuYWJsZWQobV9kb2N1bWVudC0+ZnJhbWUoKSkpCi0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBpbnNlcnRHZW5lcmljUmF3VGV4dEVsZW1lbnQodG9rZW4pOwotICAgICAgICAgICAg
ICAgIFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSA9IGluc2VydEVsZW1lbnQodG9rZW4pOworICAgICAg
ICAgICAgICAgIGlmIChpc1NjcmlwdGluZ0ZsYWdFbmFibGVkKG1fZG9jdW1lbnQtPmZyYW1lKCkp
KSB7CisgICAgICAgICAgICAgICAgICAgIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tl
bik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICAgICAgc2V0SW5z
ZXJ0aW9uTW9kZShJbkhlYWROb3NjcmlwdE1vZGUpOwotICAgICAgICAgICAgICAgIHJldHVybiBu
b2RlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBub2Zy
YW1lc1RhZyB8fCB0b2tlbi5uYW1lKCkgPT0gc3R5bGVUYWcpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tlbik7Ci0gICAgICAgICAgICBpZiAo
dG9rZW4ubmFtZSgpID09IHNjcmlwdFRhZykKLSAgICAgICAgICAgICAgICByZXR1cm4gaW5zZXJ0
U2NyaXB0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IG5v
ZnJhbWVzVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBzdHlsZVRhZykgeworICAgICAgICAgICAgICAg
IGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBzY3Jp
cHRUYWcpIHsKKyAgICAgICAgICAgICAgICBpbnNlcnRTY3JpcHRFbGVtZW50KHRva2VuKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodG9r
ZW4ubmFtZSgpID09IGhlYWRUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6
RW5kVGFnOgpAQCAtMzkzLDEyICs0MDQsMTIgQEAgcmVwcm9jZXNzVG9rZW46CiAgICAgICAgICAg
ICAgICAgQVNTRVJUKG1fb3BlbkVsZW1lbnRzLnRvcCgpLT50YWdRTmFtZSgpID09IGhlYWRUYWcp
OwogICAgICAgICAgICAgICAgIG1fb3BlbkVsZW1lbnRzLnBvcCgpOwogICAgICAgICAgICAgICAg
IHNldEluc2VydGlvbk1vZGUoQWZ0ZXJIZWFkTW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
aWYgKHRva2VuLm5hbWUoKSA9PSBib2R5VGFnIHx8IHRva2VuLm5hbWUoKSA9PSBodG1sVGFnIHx8
IHRva2VuLm5hbWUoKSA9PSBiclRhZykKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkVu
ZE9mRmlsZToKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDE0LDE5ICs0MjUsMTkgQEAgcmVwcm9j
ZXNzVG9rZW46CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRP
Q1RZUEU6CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRU
YWc6CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGh0bWxUYWcpIHsKICAgICAgICAg
ICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICh0b2tl
bi5uYW1lKCkgPT0gbGlua1RhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbWV0YVRhZyB8fCB0b2tlbi5u
YW1lKCkgPT0gbm9mcmFtZXNUYWcgfHwgdG9rZW4ubmFtZSgpID09IHN0eWxlVGFnKSB7CiAgICAg
ICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAo
dG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IG5vc2NyaXB0VGFnKSB7
CiAgICAgICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CkBAIC00MzUsMTggKzQ0
NiwxOCBAQCByZXByb2Nlc3NUb2tlbjoKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5w
b3AoKTsKICAgICAgICAgICAgICAgICBBU1NFUlQobV9vcGVuRWxlbWVudHMudG9wKCktPnRhZ1FO
YW1lKCkgPT0gaGVhZFRhZyk7CiAgICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbkhl
YWRNb2RlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJyVGFn
KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7
Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2Fz
ZSBIVE1MVG9rZW46OkNoYXJhY3RlcjoKICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6CiAgICAg
ICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQpAQCAtNDYyLDI3ICs0NzMsMjkgQEAgcmVwcm9jZXNzVG9r
ZW46CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6CiAgICAgICAgICAgICBpZiAo
aXNUcmVlQnVpbGRlcldoaXRlU3BhY2UoY2MpKSB7CiAgICAgICAgICAgICAgICAgaW5zZXJ0Q2hh
cmFjdGVyKGNjKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBI
VE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICByZXR1cm4gaW5zZXJ0Q29tbWVudCh0b2tl
bik7CisgICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgY2FzZSBIVE1MVG9rZW46OkRPQ1RZUEU6CiAgICAgICAgICAgICBwYXJzZUVy
cm9yKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4u
bmFtZSgpID09IGh0bWxUYWcpIHsKICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gYm9keVRhZykgewogICAg
ICAgICAgICAgICAgIG1fZnJhbWVzZXRPayA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHJldHVy
biBpbnNlcnRFbGVtZW50KHRva2VuKTsKKyAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50KHRv
a2VuKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAodG9rZW4ubmFtZSgpID09IGZyYW1lc2V0VGFnKSB7Ci0gICAgICAgICAgICAgICAgUGFz
c1JlZlB0cjxOb2RlPiBub2RlID0gaW5zZXJ0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICAg
ICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9k
ZShJbkZyYW1lc2V0TW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHRva2VuLm5h
bWUoKSA9PSBiYXNlVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBsaW5rVGFnIHx8IHRva2VuLm5hbWUo
KSA9PSBtZXRhVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBub2ZyYW1lc1RhZyB8fCB0b2tlbi5uYW1l
KCkgPT0gc2NyaXB0VGFnIHx8IHRva2VuLm5hbWUoKSA9PSBzdHlsZVRhZyB8fCB0b2tlbi5uYW1l
KCkgPT0gdGl0bGVUYWcpIHsKICAgICAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKQEAg
LTQ5MCwxNyArNTAzLDE4IEBAIHJlcHJvY2Vzc1Rva2VuOgogICAgICAgICAgICAgICAgIG1fb3Bl
bkVsZW1lbnRzLnB1c2gobV9oZWFkRWxlbWVudC5nZXQoKSk7CiAgICAgICAgICAgICAgICAgbm90
SW1wbGVtZW50ZWQoKTsKICAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5yZW1vdmUobV9o
ZWFkRWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBoZWFkVGFnKSB7CiAgICAgICAgICAg
ICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6CiAgICAgICAgICAgICBpZiAodG9rZW4ubmFt
ZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgp
ID09IGJyVGFnKSAgICAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIHBhcnNl
RXJyb3IodG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQpAQCAtNTI2LDIzICs1NDAsMjAgQEAgcmVwcm9jZXNzVG9rZW46CiAgICAgY2Fz
ZSBBZnRlckZyYW1lc2V0TW9kZToKICAgICBjYXNlIEFmdGVyQWZ0ZXJCb2R5TW9kZToKICAgICBj
YXNlIEFmdGVyQWZ0ZXJGcmFtZXNldE1vZGU6CisgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLQotICAgIC8vIEltcGxlbWVudGF0
aW9uIGNvbWluZyBpbiB0aGUgbmV4dCBwYXRjaC4KLSAgICByZXR1cm4gMDsKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAotUGFzc1JlZlB0cjxOb2RlPiBIVE1MVHJlZUJ1aWxkZXI6Omlu
c2VydERvY3R5cGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKK3ZvaWQgSFRNTFRyZWVCdWlsZGVy
OjppbnNlcnREb2N0eXBlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUX1VO
VVNFRCh0b2tlbiwgdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6RE9DVFlQRSk7Ci0gICAgcmV0
dXJuIDA7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjppbnNlcnRDb21t
ZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0
Q29tbWVudChBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogewogICAgIEFTU0VSVF9VTlVTRUQodG9r
ZW4sIHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OkNvbW1lbnQpOwotICAgIHJldHVybiAwOwog
fQogCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0RWxlbWVudChB
dG9taWNIVE1MVG9rZW4mIHRva2VuKQpAQCAtNTU2LDIyICs1NjcsMTkgQEAgdm9pZCBIVE1MVHJl
ZUJ1aWxkZXI6Omluc2VydENoYXJhY3RlcihVQ2hhciBjYykKICAgICBBU1NFUlRfVU5VU0VEKGNj
LCBjYyk7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZT4gSFRNTFRyZWVCdWlsZGVyOjppbnNlcnRHZW5l
cmljUkNEQVRBRWxlbWVudChBdG9taWNIVE1MVG9rZW4mIHRva2VuKQordm9pZCBIVE1MVHJlZUJ1
aWxkZXI6Omluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4p
CiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0b2tlbiwgdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6
U3RhcnRUYWcpOwotICAgIHJldHVybiAwOwogfQogCi1QYXNzUmVmUHRyPE5vZGU+IEhUTUxUcmVl
QnVpbGRlcjo6aW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KEF0b21pY0hUTUxUb2tlbiYgdG9r
ZW4pCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KEF0
b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0b2tlbiwgdG9rZW4u
dHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWcpOwotICAgIHJldHVybiAwOwogfQogCi1QYXNz
UmVmUHRyPE5vZGU+IEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0U2NyaXB0RWxlbWVudChBdG9taWNI
VE1MVG9rZW4mIHRva2VuKQordm9pZCBIVE1MVHJlZUJ1aWxkZXI6Omluc2VydFNjcmlwdEVsZW1l
bnQoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRva2VuLCB0
b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRhZyk7Ci0gICAgcmV0dXJuIDA7CiB9CiAK
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpmaW5pc2hlZCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTFRyZWVCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVyLmgKaW5k
ZXggNzYzNjBhZThiNTA2MjZlMTQ3MzEzNjNjZjZlOTVkMTFkZWU0YTMwNC4uMzBlMTdjMzNiMzNi
NTY0NDQwNTg5MjVmNzMxNTczNGQ0YjY4MzJhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxUcmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVHJlZUJ1aWxkZXIuaApAQCAt
NTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BhdXNlZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNQYXVzZWQ7IH0KIAogICAgIC8vIFRoZSB0b2tlbiByZWFsbHkgc2hvdWxkIGJlIHBhc3Nl
ZCBhcyBhIGNvbnN0JiBzaW5jZSBpdCdzIG5ldmVyIG1vZGlmaWVkLgotICAgIFBhc3NSZWZQdHI8
Tm9kZT4gY29uc3RydWN0VHJlZUZyb21Ub2tlbihIVE1MVG9rZW4mKTsKKyAgICB2b2lkIGNvbnN0
cnVjdFRyZWVGcm9tVG9rZW4oSFRNTFRva2VuJik7CiAgICAgLy8gTXVzdCBiZSBjYWxsZWQgd2hl
biBwYXJzZXIgaXMgcGF1c2VkIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJzZXIgYWdhaW4uCiAgICAg
UGFzc1JlZlB0cjxFbGVtZW50PiB0YWtlU2NyaXB0VG9Qcm9jZXNzKGludCYgc2NyaXB0U3RhcnRM
aW5lKTsKIApAQCAtMTA3LDE2ICsxMDcsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgRWxlbWVudCog
dG9wKCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIH07CiAKLSAgICBQYXNzUmVmUHRyPE5vZGU+
IHBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKEhUTUxUb2tlbiYpOwotICAgIFBhc3NSZWZQdHI8Tm9k
ZT4gcHJvY2Vzc1Rva2VuKEF0b21pY0hUTUxUb2tlbiYsIFVDaGFyIGNjID0gMCk7CisgICAgdm9p
ZCBwYXNzVG9rZW5Ub0xlZ2FjeVBhcnNlcihIVE1MVG9rZW4mKTsKKyAgICB2b2lkIHByb2Nlc3NU
b2tlbihBdG9taWNIVE1MVG9rZW4mLCBVQ2hhciBjYyA9IDApOwogCi0gICAgUGFzc1JlZlB0cjxO
b2RlPiBpbnNlcnREb2N0eXBlKEF0b21pY0hUTUxUb2tlbiYpOwotICAgIFBhc3NSZWZQdHI8Tm9k
ZT4gaW5zZXJ0Q29tbWVudChBdG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIGluc2VydERvY3R5
cGUoQXRvbWljSFRNTFRva2VuJik7CisgICAgdm9pZCBpbnNlcnRDb21tZW50KEF0b21pY0hUTUxU
b2tlbiYpOwogICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gaW5zZXJ0RWxlbWVudChBdG9taWNIVE1M
VG9rZW4mKTsKICAgICB2b2lkIGluc2VydENoYXJhY3RlcihVQ2hhciBjYyk7Ci0gICAgUGFzc1Jl
ZlB0cjxOb2RlPiBpbnNlcnRHZW5lcmljUkNEQVRBRWxlbWVudChBdG9taWNIVE1MVG9rZW4mKTsK
LSAgICBQYXNzUmVmUHRyPE5vZGU+IGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudChBdG9taWNI
VE1MVG9rZW4mKTsKLSAgICBQYXNzUmVmUHRyPE5vZGU+IGluc2VydFNjcmlwdEVsZW1lbnQoQXRv
bWljSFRNTFRva2VuJik7CisgICAgdm9pZCBpbnNlcnRHZW5lcmljUkNEQVRBRWxlbWVudChBdG9t
aWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudChBdG9t
aWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIGluc2VydFNjcmlwdEVsZW1lbnQoQXRvbWljSFRNTFRv
a2VuJik7CiAKICAgICBSZWZQdHI8RWxlbWVudD4gbV9oZWFkRWxlbWVudDsKICAgICBFbGVtZW50
U3RhY2sgbV9vcGVuRWxlbWVudHM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>