<?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>118211</bug_id>
          
          <creation_ts>2013-06-28 18:28:27 -0700</creation_ts>
          <short_desc>Remove String::deprecatedCharactersWithNullTermination() and related code</short_desc>
          <delta_ts>2013-06-28 18:48:47 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>904817</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-06-28 18:28:27 -0700</bug_when>
    <thetext>Remove String::deprecatedCharactersWithNullTermination() and related code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904818</commentid>
    <comment_count>1</comment_count>
      <attachid>205759</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-06-28 18:31:24 -0700</bug_when>
    <thetext>Created attachment 205759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904824</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-06-28 18:48:47 -0700</bug_when>
    <thetext>Committed r152201: &lt;http://trac.webkit.org/changeset/152201&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205759</attachid>
            <date>2013-06-28 18:31:24 -0700</date>
            <delta_ts>2013-06-28 18:36:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118211-20130628182946.patch</filename>
            <type>text/plain</type>
            <size>20011</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
MDg0NTk0NWQyMGMwYjFjZDMxNjUzZDkwYmQ1YTMzZDYyZDBmN2NkLi4zNDdkNmVhNzliY2ZiNDY5
YjE2YTJkOGMyNDEwMWExNmU0MzAwMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMy0wNi0yOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBTdHJpbmc6OmRlcHJlY2F0ZWRDaGFyYWN0ZXJzV2l0aE51
bGxUZXJtaW5hdGlvbigpIGFuZCByZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODIxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQVBJL0pTU3RyaW5nUmVmLmNwcDoKKyAgICAgICAg
KEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnNOb0NvcHkpOgorICAgICAgICBVcGRhdGUgY2Fs
bCB0byBTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZy4KKwogMjAxMy0wNi0yNyAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgTm90aWZ5IHRoZSBk
ZWJ1Z2dlciBhYm91dCBmdW5jdGlvbnMgY3JlYXRlZCBmcm9tIHNvdXJjZSBjb2RlIHZpYSBuZXcg
RnVuY3Rpb24oKSBvciBXZWJDb3JlOjpKU0xhenlFdmVudExpc3RlbmVyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBjNDI0ZTVl
YmY5NWQyM2YwYWVlYzE3NzAzZmQ2NGEyZTFjYmRjNzEzLi5hNGFiNjE0ZGNkZGQ3YjVjZjM5MGFk
YWU2NTQ4NzkyNDlhZWNkZDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA2LTI4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFN0cmlu
Zzo6ZGVwcmVjYXRlZENoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkgYW5kIHJlbGF0ZWQg
Y29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4
MjExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIFN0cmluZzo6ZGVwcmVjYXRlZENoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uLCBTdHJp
bmdJbXBsOjpjcmVhdGVXaXRoVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyCisgICAgICAgIGFuZCB0
aGUgc19oYXNoRmxhZ0hhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3RlciBmbGFnLiBXZSBubyBsb25n
ZXIgY2FyZSBhYm91dCB3aGV0aGVyIHN0cmluZ3MgaGF2ZSBhCisgICAgICAgIHRlcm1pbmF0aW5n
IG51bGwgY2hhcmFjdGVyLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6Cisg
ICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKToKKyAgICAgICAgKFdU
Rjo6U3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcpOgorICAgICAgICAoV1RGOjpTdHJp
bmdJbXBsOjpnZXREYXRhMTZTbG93Q2FzZSk6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OnNp
emVJbkJ5dGVzKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChX
VEY6OlN0cmluZ0ltcGw6OlN0cmluZ0ltcGwpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpj
cmVhdGVGcm9tTGl0ZXJhbCk6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6Omlzb2xhdGVkQ29w
eSk6CisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4
dC9XVEZTdHJpbmcuaDoKKwogMjAxMy0wNi0yNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBTdHJpbmc6OmNoYXJhY3RlcnNXaXRoTnVs
bFRlcm1pbmF0aW9uKCkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgdmVjdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYuY3BwCmluZGV4IDQzN2NhYjM0NzQ3YTViNDdkOWRl
Mjk5Y2U0NWIwNTExOWYwMDA4OTMuLjlkZTUwODFlNmFhYmIxODAwMGRkNTIwZDg2OGE1NGFhOTU5
YzkyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYuY3BwCkBAIC02
Myw3ICs2Myw3IEBAIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGNv
bnN0IGNoYXIqIHN0cmluZykKIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnNOb0NvcHkoY29uc3QgSlNDaGFyKiBjaGFycywgc2l6ZV90IG51bUNoYXJzKQogewogICAgIGlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OmNyZWF0ZShT
dHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhjaGFycywgbnVtQ2hhcnMsIFdURjo6RG9l
c05vdEhhdmVUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJu
IE9wYXF1ZUpTU3RyaW5nOjpjcmVhdGUoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmco
Y2hhcnMsIG51bUNoYXJzKSkubGVha1JlZigpOwogfQogCiBKU1N0cmluZ1JlZiBKU1N0cmluZ1Jl
dGFpbihKU1N0cmluZ1JlZiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1N0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRl
eCBhMzQyOGVmMjY4ZjQ3M2ViNDNjZWZjNzdiN2UxM2VhMGMwMTQwMjdiLi44NDYyNjMxNDc2ZWY5
ZWEwMmFiZTgyZTYyNzBhYjUwYjIyZjBiMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5j
cHAKQEAgLTE1OCw3ICsxNTgsNyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6
OmNyZWF0ZUZyb21MaXRlcmFsKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHVucwogewogICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UobGVuZ3RoLCAiVXNlIFN0cmluZ0ltcGw6OmVtcHR5KCkgdG8gY3Jl
YXRlIGFuIGVtcHR5IHN0cmluZyIpOwogICAgIEFTU0VSVChjaGFyYWN0ZXJzQXJlQWxsQVNDSUk8
TENoYXI+KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihjaGFyYWN0ZXJzKSwgbGVuZ3Ro
KSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdJbXBsKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgTENoYXIqPihjaGFyYWN0ZXJzKSwgbGVuZ3RoLCBEb2VzSGF2ZVRlcm1pbmF0aW5nTnVs
bENoYXJhY3RlciwgQ29uc3RydWN0V2l0aG91dENvcHlpbmcpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFN0cmluZ0ltcGwocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGNoYXJhY3Rl
cnMpLCBsZW5ndGgsIENvbnN0cnVjdFdpdGhvdXRDb3B5aW5nKSk7CiB9CiAKIFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoY29uc3QgY2hhciogY2hh
cmFjdGVycykKQEAgLTE2NiwyMCArMTY2LDIwIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3Ry
aW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoY29uc3QgY2hhciogY2hhcmFjdGVycykKICAgICBy
ZXR1cm4gY3JlYXRlRnJvbUxpdGVyYWwoY2hhcmFjdGVycywgc3RybGVuKGNoYXJhY3RlcnMpKTsK
IH0KIAotUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29w
eWluZyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBIYXNUZXJtaW5h
dGluZ051bGxDaGFyYWN0ZXIgaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKQorUGFzc1JlZlB0
cjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhjb25zdCBVQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGlmICghbGVuZ3RoKQogICAg
ICAgICByZXR1cm4gZW1wdHkoKTsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RyaW5nSW1w
bChjaGFyYWN0ZXJzLCBsZW5ndGgsIGhhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3RlciwgQ29uc3Ry
dWN0V2l0aG91dENvcHlpbmcpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmluZ0ltcGwo
Y2hhcmFjdGVycywgbGVuZ3RoLCBDb25zdHJ1Y3RXaXRob3V0Q29weWluZykpOwogfQogCi1QYXNz
UmVmUHRyPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGNvbnN0
IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIEhhc1Rlcm1pbmF0aW5nTnVsbENo
YXJhY3RlciBoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIpCitQYXNzUmVmUHRyPFN0cmluZ0lt
cGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGNvbnN0IExDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVy
biBlbXB0eSgpOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdJbXBsKGNoYXJhY3Rl
cnMsIGxlbmd0aCwgaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyLCBDb25zdHJ1Y3RXaXRob3V0
Q29weWluZykpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RyaW5nSW1wbChjaGFyYWN0ZXJz
LCBsZW5ndGgsIENvbnN0cnVjdFdpdGhvdXRDb3B5aW5nKSk7CiB9CiAKIFBhc3NSZWZQdHI8U3Ry
aW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgs
IExDaGFyKiYgZGF0YSkKQEAgLTMzMyw4ICszMzMsNiBAQCBjb25zdCBVQ2hhciogU3RyaW5nSW1w
bDo6Z2V0RGF0YTE2U2xvd0Nhc2UoKSBjb25zdAogICAgIFNUUklOR19TVEFUU19BRERfVVBDT05W
RVJURURfU1RSSU5HKG1fbGVuZ3RoKTsKICAgICAKICAgICB1bnNpZ25lZCBsZW4gPSBsZW5ndGgo
KTsKLSAgICBpZiAoaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpCi0gICAgICAgICsrbGVu
OwogCiAgICAgbV9jb3B5RGF0YTE2ID0gc3RhdGljX2Nhc3Q8VUNoYXIqPihmYXN0TWFsbG9jKGxl
biAqIHNpemVvZihVQ2hhcikpKTsKIApAQCAtMTk1NSwzMCArMTk1Myw2IEBAIFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6YWRvcHQoUVN0cmluZ0RhdGEqIHFTdHJpbmdEYXRhKQog
fQogI2VuZGlmCiAKLVBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlV2l0
aFRlcm1pbmF0aW5nTnVsbENoYXJhY3Rlcihjb25zdCBTdHJpbmdJbXBsJiBzdHJpbmcpCi17Ci0g
ICAgLy8gVXNlIGNyZWF0ZVVuaW5pdGlhbGl6ZWQgaW5zdGVhZCBvZiAnbmV3IFN0cmluZ0ltcGwn
IHNvIHRoYXQgdGhlIHN0cmluZyBhbmQgaXRzIGJ1ZmZlcgotICAgIC8vIGdldCBhbGxvY2F0ZWQg
aW4gYSBzaW5nbGUgbWVtb3J5IGJsb2NrLgotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5t
X2xlbmd0aDsKLSAgICBpZiAobGVuZ3RoID49IG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkpCi0gICAgICAgIENSQVNIKCk7Ci0gICAgUmVmUHRyPFN0cmluZ0ltcGw+IHRlcm1pbmF0ZWRT
dHJpbmc7Ci0gICAgaWYgKHN0cmluZy5pczhCaXQoKSkgewotICAgICAgICBMQ2hhciogZGF0YTsK
LSAgICAgICAgdGVybWluYXRlZFN0cmluZyA9IGNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoICsg
MSwgZGF0YSk7Ci0gICAgICAgIG1lbWNweShkYXRhLCBzdHJpbmcubV9kYXRhOCwgbGVuZ3RoICog
c2l6ZW9mKExDaGFyKSk7Ci0gICAgICAgIGRhdGFbbGVuZ3RoXSA9IDA7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgVUNoYXIqIGRhdGE7Ci0gICAgICAgIHRlcm1pbmF0ZWRTdHJpbmcgPSBjcmVhdGVV
bmluaXRpYWxpemVkKGxlbmd0aCArIDEsIGRhdGEpOwotICAgICAgICBtZW1jcHkoZGF0YSwgc3Ry
aW5nLm1fZGF0YTE2LCBsZW5ndGggKiBzaXplb2YoVUNoYXIpKTsKLSAgICAgICAgZGF0YVtsZW5n
dGhdID0gMDsKLSAgICB9Ci0gICAgLS0odGVybWluYXRlZFN0cmluZy0+bV9sZW5ndGgpOwotICAg
IHRlcm1pbmF0ZWRTdHJpbmctPm1faGFzaEFuZEZsYWdzID0gKHN0cmluZy5tX2hhc2hBbmRGbGFn
cyAmICh+c19mbGFnTWFzayB8IHNfaGFzaEZsYWc4Qml0QnVmZmVyKSkgfCBzX2hhc2hGbGFnSGFz
VGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyOwotICAgIHJldHVybiB0ZXJtaW5hdGVkU3RyaW5nLnJl
bGVhc2UoKTsKLX0KLQogc2l6ZV90IFN0cmluZ0ltcGw6OnNpemVJbkJ5dGVzKCkgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogc3VwcG9ydCBzdWJzdHJpbmdzCkBAIC0xOTg2LDggKzE5NjAsNiBAQCBz
aXplX3QgU3RyaW5nSW1wbDo6c2l6ZUluQnl0ZXMoKSBjb25zdAogICAgIGlmIChpczhCaXQoKSkg
ewogICAgICAgICBpZiAoaGFzMTZCaXRTaGFkb3coKSkgewogICAgICAgICAgICAgc2l6ZSArPSAy
ICogc2l6ZTsKLSAgICAgICAgICAgIGlmIChoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSkK
LSAgICAgICAgICAgICAgICBzaXplICs9IDI7CiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAg
ICAgc2l6ZSAqPSAyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBs
LmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCBmODhhM2EyNzE5ZjQ4
MTk4Y2YzY2UxNjQwZGE5ZTQ4NTg4Y2YyOWI0Li5kM2NhMWZmZjhmNmI3YjllNzI2ZDE1MzRjNDRk
ZTExMzM5ZmQwODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApAQCAtNzMsMTIgKzczLDYg
QEAgZW51bSBUZXh0Q2FzZVNlbnNpdGl2aXR5IHsKICAgICBUZXh0Q2FzZUluc2Vuc2l0aXZlCiB9
OwogCi1lbnVtIEhhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3RlciB7Ci0gICAgRG9lc05vdEhhdmVU
ZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIsCi0gICAgRG9lc0hhdmVUZXJtaW5hdGluZ051bGxDaGFy
YWN0ZXIsCi19OwotCi0KIHR5cGVkZWYgYm9vbCAoKkNoYXJhY3Rlck1hdGNoRnVuY3Rpb25QdHIp
KFVDaGFyKTsKIHR5cGVkZWYgYm9vbCAoKklzV2hpdGVTcGFjZUZ1bmN0aW9uUHRyKShVQ2hhcik7
CiAKQEAgLTI0OSwzMCArMjQzLDI4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgZW51bSBDb25z
dHJ1Y3RXaXRob3V0Q29weWluZ1RhZyB7IENvbnN0cnVjdFdpdGhvdXRDb3B5aW5nIH07Ci0gICAg
U3RyaW5nSW1wbChjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBIYXNU
ZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIgaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyLCBDb25z
dHJ1Y3RXaXRob3V0Q29weWluZ1RhZykKKyAgICBTdHJpbmdJbXBsKGNvbnN0IFVDaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIENvbnN0cnVjdFdpdGhvdXRDb3B5aW5nVGFnKQogICAg
ICAgICA6IG1fcmVmQ291bnQoc19yZWZDb3VudEluY3JlbWVudCkKICAgICAgICAgLCBtX2xlbmd0
aChsZW5ndGgpCiAgICAgICAgICwgbV9kYXRhMTYoY2hhcmFjdGVycykKICAgICAgICAgLCBtX2J1
ZmZlcigwKQotICAgICAgICAsIG1faGFzaEFuZEZsYWdzKEJ1ZmZlckludGVybmFsIHwgKGhhc1Rl
cm1pbmF0aW5nTnVsbENoYXJhY3RlciA/IHNfaGFzaEZsYWdIYXNUZXJtaW5hdGluZ051bGxDaGFy
YWN0ZXIgOiAwKSkKKyAgICAgICAgLCBtX2hhc2hBbmRGbGFncyhCdWZmZXJJbnRlcm5hbCkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX2RhdGExNik7CiAgICAgICAgIEFTU0VSVChtX2xlbmd0aCk7
Ci0gICAgICAgIEFTU0VSVCghKG1faGFzaEFuZEZsYWdzICYgc19oYXNoRmxhZ0hhc1Rlcm1pbmF0
aW5nTnVsbENoYXJhY3RlcikgfHwgIWNoYXJhY3RlcnNbbGVuZ3RoXSk7CiAKICAgICAgICAgU1RS
SU5HX1NUQVRTX0FERF8xNkJJVF9TVFJJTkcoMCk7CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbChj
b25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBIYXNUZXJtaW5hdGluZ051
bGxDaGFyYWN0ZXIgaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyLCBDb25zdHJ1Y3RXaXRob3V0
Q29weWluZ1RhZykKKyAgICBTdHJpbmdJbXBsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsZW5ndGgsIENvbnN0cnVjdFdpdGhvdXRDb3B5aW5nVGFnKQogICAgICAgICA6IG1fcmVm
Q291bnQoc19yZWZDb3VudEluY3JlbWVudCkKICAgICAgICAgLCBtX2xlbmd0aChsZW5ndGgpCiAg
ICAgICAgICwgbV9kYXRhOChjaGFyYWN0ZXJzKQogICAgICAgICAsIG1fYnVmZmVyKDApCi0gICAg
ICAgICwgbV9oYXNoQW5kRmxhZ3Moc19oYXNoRmxhZzhCaXRCdWZmZXIgfCBCdWZmZXJJbnRlcm5h
bCB8IChoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIgPyBzX2hhc2hGbGFnSGFzVGVybWluYXRp
bmdOdWxsQ2hhcmFjdGVyIDogMCkpCisgICAgICAgICwgbV9oYXNoQW5kRmxhZ3Moc19oYXNoRmxh
ZzhCaXRCdWZmZXIgfCBCdWZmZXJJbnRlcm5hbCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2Rh
dGE4KTsKICAgICAgICAgQVNTRVJUKG1fbGVuZ3RoKTsKLSAgICAgICAgQVNTRVJUKCEobV9oYXNo
QW5kRmxhZ3MgJiBzX2hhc2hGbGFnSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKSB8fCAhY2hh
cmFjdGVyc1tsZW5ndGhdKTsKIAogICAgICAgICBTVFJJTkdfU1RBVFNfQUREXzhCSVRfU1RSSU5H
KDApOwogICAgIH0KQEAgLTQyMSwxNSArNDEzLDE1IEBAIHB1YmxpYzoKICAgICAgICAgQ09NUElM
RV9BU1NFUlQoY2hhcmFjdGVyc0NvdW50ID4gMSwgU3RyaW5nSW1wbEZyb21MaXRlcmFsTm90RW1w
dHkpOwogICAgICAgICBDT01QSUxFX0FTU0VSVCgoY2hhcmFjdGVyc0NvdW50IC0gMSA8PSAoKHVu
c2lnbmVkKH4wKSAtIHNpemVvZihTdHJpbmdJbXBsKSkgLyBzaXplb2YoTENoYXIpKSksIFN0cmlu
Z0ltcGxGcm9tTGl0ZXJhbENhbm5vdE92ZXJmbG93KTsKIAotICAgICAgICByZXR1cm4gY3JlYXRl
V2l0aG91dENvcHlpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGNoYXJhY3RlcnMp
LCBjaGFyYWN0ZXJzQ291bnQgLSAxLCBEb2VzSGF2ZVRlcm1pbmF0aW5nTnVsbENoYXJhY3Rlcik7
CisgICAgICAgIHJldHVybiBjcmVhdGVXaXRob3V0Q29weWluZyhyZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oY2hhcmFjdGVycyksIGNoYXJhY3RlcnNDb3VudCAtIDEpOwogICAgIH0KIAog
ICAgIC8vIEZJWE1FOiBUcmFuc2l0aW9uIG9mZiBvZiB0aGVzZSBmdW5jdGlvbnMgdG8gY3JlYXRl
V2l0aG91dENvcHlpbmcgaW5zdGVhZC4KICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3JlYXRlRnJvbUxpdGVyYWwoY29uc3QgY2hhciogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3Rh
dGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3JlYXRlRnJvbUxpdGVyYWwoY29uc3QgY2hhciog
Y2hhcmFjdGVycyk7CiAKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gY3JlYXRlV2l0aG91dENvcHlpbmcoY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMsIHVuc2lnbmVkIGxlbmd0aCwgSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKTsKLSAgICBX
VEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3JlYXRl
V2l0aG91dENvcHlpbmcoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwg
SGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkg
c3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3JlYXRlV2l0aG91dENvcHlpbmcoY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCk7CisgICAgV1RGX0VYUE9SVF9TVFJJ
TkdfQVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZVdpdGhvdXRDb3B5aW5n
KGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpOwogCiAgICAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZVVuaW5p
dGlhbGl6ZWQodW5zaWduZWQgbGVuZ3RoLCBMQ2hhciomIGRhdGEpOwogICAgIFdURl9FWFBPUlRf
U1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGVVbmluaXRpYWxp
emVkKHVuc2lnbmVkIGxlbmd0aCwgVUNoYXIqJiBkYXRhKTsKQEAgLTQ3MSw3ICs0NjMsNiBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHVuc2lnbmVkIGZsYWdzT2Zmc2V0KCkgeyByZXR1cm4gT0JKRUNU
X09GRlNFVE9GKFN0cmluZ0ltcGwsIG1faGFzaEFuZEZsYWdzKTsgfQogICAgIHN0YXRpYyB1bnNp
Z25lZCBmbGFnSXM4Qml0KCkgeyByZXR1cm4gc19oYXNoRmxhZzhCaXRCdWZmZXI7IH0KICAgICBz
dGF0aWMgdW5zaWduZWQgZGF0YU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihTdHJp
bmdJbXBsLCBtX2RhdGE4KTsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNy
ZWF0ZVdpdGhUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoY29uc3QgU3RyaW5nSW1wbCYpOwogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhclR5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlw
ZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+
IGFkb3B0KFZlY3RvcjxDaGFyVHlwZSwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj4m
IHZlY3RvcikKQEAgLTU0MSw4ICs1MzIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhbGVu
Z3RoKCkgJiYgIWlzU3RhdGljKCk7CiAgICAgfQogCi0gICAgYm9vbCBoYXNUZXJtaW5hdGluZ051
bGxDaGFyYWN0ZXIoKSBjb25zdCB7IHJldHVybiBtX2hhc2hBbmRGbGFncyAmIHNfaGFzaEZsYWdI
YXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXI7IH0KLQogICAgIGJvb2wgaXNBdG9taWMoKSBjb25z
dCB7IHJldHVybiBtX2hhc2hBbmRGbGFncyAmIHNfaGFzaEZsYWdJc0F0b21pYzsgfQogICAgIHZv
aWQgc2V0SXNBdG9taWMoYm9vbCBpc0F0b21pYykKICAgICB7CkBAIC03ODgsMTQgKzc3NywxMyBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzX3JlZkNvdW50RmxhZ0lzU3Rh
dGljU3RyaW5nID0gMHgxOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzX3JlZkNvdW50SW5j
cmVtZW50ID0gMHgyOyAvLyBUaGlzIGFsbG93cyB1cyB0byByZWYgLyBkZXJlZiB3aXRob3V0IGRp
c3R1cmJpbmcgdGhlIHN0YXRpYyBzdHJpbmcgZmxhZy4KIAotICAgIC8vIFRoZSBib3R0b20gOCBi
aXRzIGluIHRoZSBoYXNoIGFyZSBmbGFncy4KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19m
bGFnQ291bnQgPSA4OworICAgIC8vIFRoZSBib3R0b20gNyBiaXRzIGluIHRoZSBoYXNoIGFyZSBm
bGFncy4KKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19mbGFnQ291bnQgPSA3OwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBzX2ZsYWdNYXNrID0gKDF1IDw8IHNfZmxhZ0NvdW50KSAtIDE7
Ci0gICAgQ09NUElMRV9BU1NFUlQoc19mbGFnQ291bnQgPT0gU3RyaW5nSGFzaGVyOjpmbGFnQ291
bnQsIFN0cmluZ0hhc2hlcl9yZXNlcnZlc19lbm91Z2hfYml0c19mb3JfU3RyaW5nSW1wbF9mbGFn
cyk7CisgICAgQ09NUElMRV9BU1NFUlQoc19mbGFnQ291bnQgPD0gU3RyaW5nSGFzaGVyOjpmbGFn
Q291bnQsIFN0cmluZ0hhc2hlcl9yZXNlcnZlc19lbm91Z2hfYml0c19mb3JfU3RyaW5nSW1wbF9m
bGFncyk7CiAKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19oYXNoRmxhZ0hhczE2Qml0U2hh
ZG93ID0gMXUgPDwgNzsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19oYXNoRmxhZzhCaXRC
dWZmZXIgPSAxdSA8PCA2OwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzX2hhc2hGbGFnSGFz
VGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyID0gMXUgPDwgNTsKKyAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgc19oYXNoRmxhZ0hhczE2Qml0U2hhZG93ID0gMXUgPDwgNjsKKyAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgc19oYXNoRmxhZzhCaXRCdWZmZXIgPSAxdSA8PCA1OwogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBzX2hhc2hGbGFnSXNBdG9taWMgPSAxdSA8PCA0OwogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBzX2hhc2hGbGFnRGlkUmVwb3J0Q29zdCA9IDF1IDw8IDM7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHNfaGFzaEZsYWdJc0lkZW50aWZpZXIgPSAxdSA8PCAyOwpAQCAt
ODE2LDcgKzgwNCw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBUaGVzZSB2YWx1ZXMgbWltaWMg
Q29uc3RydWN0RnJvbUxpdGVyYWwuCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzX2lu
aXRpYWxSZWZDb3VudCA9IHNfcmVmQ291bnRJbmNyZW1lbnQ7Ci0gICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBzX2luaXRpYWxGbGFncyA9IHNfaGFzaEZsYWc4Qml0QnVmZmVyIHwgQnVmZmVy
SW50ZXJuYWwgfCBzX2hhc2hGbGFnSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyOworICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19pbml0aWFsRmxhZ3MgPSBzX2hhc2hGbGFnOEJpdEJ1
ZmZlciB8IEJ1ZmZlckludGVybmFsOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19o
YXNoU2hpZnQgPSBzX2ZsYWdDb3VudDsKICAgICB9OwogCkBAIC0xMzYyLDggKzEzNTAsOCBAQCBp
bmxpbmUgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjppc29sYXRlZENvcHkoKSBj
b25zdAogewogICAgIGlmICghcmVxdWlyZXNDb3B5KCkpIHsKICAgICAgICAgaWYgKGlzOEJpdCgp
KQotICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKG1f
ZGF0YTgsIG1fbGVuZ3RoLCBoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSA/IERvZXNIYXZl
VGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyIDogRG9lc05vdEhhdmVUZXJtaW5hdGluZ051bGxDaGFy
YWN0ZXIpOwotICAgICAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmco
bV9kYXRhMTYsIG1fbGVuZ3RoLCBoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSA/IERvZXNI
YXZlVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyIDogRG9lc05vdEhhdmVUZXJtaW5hdGluZ051bGxD
aGFyYWN0ZXIpOworICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRD
b3B5aW5nKG1fZGF0YTgsIG1fbGVuZ3RoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNy
ZWF0ZVdpdGhvdXRDb3B5aW5nKG1fZGF0YTE2LCBtX2xlbmd0aCk7CiAgICAgfQogCiAgICAgaWYg
KGlzOEJpdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3Bw
IGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCmluZGV4IDBjZDIyNzY1NzE2NGVi
YzMzNzI0OWJhOTg4MDU5MDcxY2RhMzMyYjMuLjdjNmU1MzU5YzRmNmY5ZDc4OGM2ZTc3MjE4Mjc4
ZjU0YTYzZWIwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKQEAgLTQxNiwxNiArNDE2
LDYgQEAgVmVjdG9yPFVDaGFyPiBTdHJpbmc6OmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9u
KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1jb25zdCBVQ2hhciogU3RyaW5nOjpk
ZXByZWNhdGVkQ2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKQotewotICAgIGlmICghbV9p
bXBsKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAobV9pbXBsLT5oYXNUZXJtaW5hdGluZ051
bGxDaGFyYWN0ZXIoKSkKLSAgICAgICAgcmV0dXJuIG1faW1wbC0+Y2hhcmFjdGVycygpOwotICAg
IG1faW1wbCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIo
Km1faW1wbCk7Ci0gICAgcmV0dXJuIG1faW1wbC0+Y2hhcmFjdGVycygpOwotfQotCiBTdHJpbmcg
U3RyaW5nOjpmb3JtYXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCiB7CiAjaWYgUExBVEZPUk0o
UVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNl
L1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCAxMWYyOWQ2OGVhYzIwMDg5NzE3ODg3MmE3
MTFkMmRjOGJmOWRmODJmLi40ODIwODhkODAwN2QzMDk4MWMxNzIxOTI0ZDk1MGJmZmUzM2NiYmU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKQEAgLTI4Miw3ICsyODIsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIHsgcmV0dXJuIGNhc2VTZW5zaXRpdmUgPyByZXZlcnNlRmluZChzdHIsIHN0YXJ0KSA6
IHJldmVyc2VGaW5kSWdub3JpbmdDYXNlKHN0ciwgc3RhcnQpOyB9CiAKICAgICBXVEZfRVhQT1JU
X1NUUklOR19BUEkgVmVjdG9yPFVDaGFyPiBjaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigp
IGNvbnN0OwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBjb25zdCBVQ2hhciogZGVwcmVjYXRl
ZENoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCk7CiAgICAgCiAgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIFVDaGFyMzIgY2hhcmFjdGVyU3RhcnRpbmdBdCh1bnNpZ25lZCkgY29uc3Q7IC8v
IERpdHRvLgogICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDU3MGE4NmZhNzBiNGFmNDU1Y2M1OWVjNWIxNWQzY2NkYjcwZTZkMTEuLmE4YjE1
ZTJlYmMwNTMyZTA1Njg0YzRmYjNiMWI2MTVjMWQxMDkxMTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wNi0y
OCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92
ZSBTdHJpbmc6OmRlcHJlY2F0ZWRDaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpIGFuZCBy
ZWxhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODIxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSBhbGwgaGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkgY2hlY2tzLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGU3RyaW5nLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDEzLTA2LTI4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIENyYXNoIHdoZW4gbG9hZGluZyBpcyBzdG9w
cGVkIGZyb20gLWRpZFJlY2VpdmVSZXNwb25zZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0F0b21pY1N0cmluZy5jcHAKaW5kZXggYmRkZjIyYzIzYzE4NzIwMzc5NmQ4MTlmYzE4
YTNmZGFmNzY5ZjJkNC4uOWRmNzFjZTQ0YjAyYTFmYjg5ZDMzZmE5MTZmNzVjOGYyMDI4M2I1ZiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwCkBA
IC0zNSwxNCArMzUsMTIgQEAgVEVTVChXVEYsIEF0b21pY1N0cmluZ0NyZWF0aW9uRnJvbUxpdGVy
YWwpCiAgICAgQVNTRVJUX0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRo
VGVtcGxhdGUubGVuZ3RoKCkpOwogICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZSA9
PSAiVGVtcGxhdGUgTGl0ZXJhbCIpOwogICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0
ZS5zdHJpbmcoKS5pczhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nV2l0aFRlbXBsYXRl
LmltcGwoKS0+aGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOwogCiAgICAgY29uc3QgY2hh
ciogcHJvZ3JhbW1hdGljU3RyaW5nRGF0YSA9ICJFeHBsaWNpdCBTaXplIExpdGVyYWwiOwogICAg
IEF0b21pY1N0cmluZyBwcm9ncmFtbWF0aWNTdHJpbmcocHJvZ3JhbW1hdGljU3RyaW5nRGF0YSwg
c3RybGVuKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKICAgICBBU1NFUlRfRVEoc3RybGVuKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEp
LCBwcm9ncmFtbWF0aWNTdHJpbmcubGVuZ3RoKCkpOwogICAgIEFTU0VSVF9UUlVFKHByb2dyYW1t
YXRpY1N0cmluZ0RhdGEgPT0gcHJvZ3JhbW1hdGljU3RyaW5nRGF0YSk7CiAgICAgQVNTRVJUX1RS
VUUocHJvZ3JhbW1hdGljU3RyaW5nLnN0cmluZygpLmlzOEJpdCgpKTsKLSAgICBBU1NFUlRfVFJV
RShwcm9ncmFtbWF0aWNTdHJpbmcuaW1wbCgpLT5oYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIo
KSk7CiAgICAgQVNTRVJUX0VRKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEsIHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgY2hhcio+KHByb2dyYW1tYXRpY1N0cmluZy5zdHJpbmcoKS5jaGFyYWN0ZXJzOCgp
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmlu
Z0ltcGwuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAK
aW5kZXggMzVkNjQ4NDRjNmVlYzgwMjJiYWJmYTY5NjJlOTdlZjI2ZmJiZmY1OS4uMTBhYjllMmNi
NzMyMmE5Yjg3YThjY2UxZmI2NGI0MTRhYzU4MzIwNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAKQEAgLTM3LDcgKzM3LDYgQEAgVEVTVChXVEYsIFN0
cmluZ0ltcGxDcmVhdGlvbkZyb21MaXRlcmFsKQogICAgIEFTU0VSVF9FUShzdHJsZW4oIlRlbXBs
YXRlIExpdGVyYWwiKSwgc3RyaW5nV2l0aFRlbXBsYXRlLT5sZW5ndGgoKSk7CiAgICAgQVNTRVJU
X1RSVUUoZXF1YWwoc3RyaW5nV2l0aFRlbXBsYXRlLmdldCgpLCAiVGVtcGxhdGUgTGl0ZXJhbCIp
KTsKICAgICBBU1NFUlRfVFJVRShzdHJpbmdXaXRoVGVtcGxhdGUtPmlzOEJpdCgpKTsKLSAgICBB
U1NFUlRfVFJVRShzdHJpbmdXaXRoVGVtcGxhdGUtPmhhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3Rl
cigpKTsKIAogICAgIC8vIENvbnN0cnVjdG9yIHRha2luZyB0aGUgc2l6ZSBleHBsaWNpdGVseS4K
ICAgICBjb25zdCBjaGFyKiBwcm9ncmFtbWF0aWNTdHJpbmdEYXRhID0gIkV4cGxpY2l0IFNpemUg
TGl0ZXJhbCI7CkBAIC00Niw3ICs0NSw2IEBAIFRFU1QoV1RGLCBTdHJpbmdJbXBsQ3JlYXRpb25G
cm9tTGl0ZXJhbCkKICAgICBBU1NFUlRfVFJVRShlcXVhbChwcm9ncmFtbWF0aWNTdHJpbmcuZ2V0
KCksIHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpKTsKICAgICBBU1NFUlRfRVEocHJvZ3JhbW1hdGlj
U3RyaW5nRGF0YSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4ocHJvZ3JhbW1hdGljU3Ry
aW5nLT5jaGFyYWN0ZXJzOCgpKSk7CiAgICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGljU3RyaW5n
LT5pczhCaXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGljU3RyaW5nLT5oYXNUZXJt
aW5hdGluZ051bGxDaGFyYWN0ZXIoKSk7CiAKICAgICAvLyBDb25zdHJ1Y3RvciB3aXRob3V0IGV4
cGxpY2l0IHNpemUuCiAgICAgY29uc3QgY2hhciogc3RyaW5nV2l0aG91dExlbmd0aExpdGVyYWwg
PSAiTm8gU2l6ZSBMaXRlcmFsIjsKQEAgLTU1LDcgKzUzLDYgQEAgVEVTVChXVEYsIFN0cmluZ0lt
cGxDcmVhdGlvbkZyb21MaXRlcmFsKQogICAgIEFTU0VSVF9UUlVFKGVxdWFsKHByb2dyYW1tYXRp
Y1N0cmluZ05vTGVuZ3RoLmdldCgpLCBzdHJpbmdXaXRob3V0TGVuZ3RoTGl0ZXJhbCkpOwogICAg
IEFTU0VSVF9FUShzdHJpbmdXaXRob3V0TGVuZ3RoTGl0ZXJhbCwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBjaGFyKj4ocHJvZ3JhbW1hdGljU3RyaW5nTm9MZW5ndGgtPmNoYXJhY3RlcnM4KCkpKTsK
ICAgICBBU1NFUlRfVFJVRShwcm9ncmFtbWF0aWNTdHJpbmdOb0xlbmd0aC0+aXM4Qml0KCkpOwot
ICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZ05vTGVuZ3RoLT5oYXNUZXJtaW5hdGlu
Z051bGxDaGFyYWN0ZXIoKSk7CiB9CiAKIFRFU1QoV1RGLCBTdHJpbmdJbXBsRnJvbUxpdGVyYWxM
b29wMTZCaXRDb252ZXJzaW9uKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvV1RGU3RyaW5nLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURlN0
cmluZy5jcHAKaW5kZXggNGE5MmNkNGU4MzBiMDM2YmZiOGI4OWFkYzM3Y2M3NmRjZDlkMjVlMS4u
M2RhNDBmZjgzMTBiNzMyMmUyNDhkNzgwOWE4M2ZlZTNjNWEzMTJhZSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGU3RyaW5nLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEZTdHJpbmcuY3BwCkBAIC0zOCwxNCArMzgsMTIgQEAgVEVT
VChXVEYsIFN0cmluZ0NyZWF0aW9uRnJvbUxpdGVyYWwpCiAgICAgQVNTRVJUX0VRKHN0cmxlbigi
RXhwbGljaXQgY29uc3RydWN0aW9uIHN5bnRheCIpLCBzdHJpbmdGcm9tTGl0ZXJhbC5sZW5ndGgo
KSk7CiAgICAgQVNTRVJUX1RSVUUoc3RyaW5nRnJvbUxpdGVyYWwgPT0gIkV4cGxpY2l0IGNvbnN0
cnVjdGlvbiBzeW50YXgiKTsKICAgICBBU1NFUlRfVFJVRShzdHJpbmdGcm9tTGl0ZXJhbC5pczhC
aXQoKSk7Ci0gICAgQVNTRVJUX1RSVUUoc3RyaW5nRnJvbUxpdGVyYWwuaW1wbCgpLT5oYXNUZXJt
aW5hdGluZ051bGxDaGFyYWN0ZXIoKSk7CiAgICAgQVNTRVJUX1RSVUUoU3RyaW5nKCJFeHBsaWNp
dCBjb25zdHJ1Y3Rpb24gc3ludGF4IikgPT0gc3RyaW5nRnJvbUxpdGVyYWwpOwogCiAgICAgU3Ry
aW5nIHN0cmluZ1dpdGhUZW1wbGF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIsIFN0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpOwogICAgIEFTU0VSVF9FUShzdHJsZW4oIlRlbXBsYXRlIExpdGVyYWwi
KSwgc3RyaW5nV2l0aFRlbXBsYXRlLmxlbmd0aCgpKTsKICAgICBBU1NFUlRfVFJVRShzdHJpbmdX
aXRoVGVtcGxhdGUgPT0gIlRlbXBsYXRlIExpdGVyYWwiKTsKICAgICBBU1NFUlRfVFJVRShzdHJp
bmdXaXRoVGVtcGxhdGUuaXM4Qml0KCkpOwotICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1w
bGF0ZS5pbXBsKCktPmhhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3RlcigpKTsKICAgICBBU1NFUlRf
VFJVRShTdHJpbmcoIlRlbXBsYXRlIExpdGVyYWwiKSA9PSBzdHJpbmdXaXRoVGVtcGxhdGUpOwog
fQogCg==
</data>
<flag name="review"
          id="227351"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>