<?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>157146</bug_id>
          
          <creation_ts>2016-04-28 11:30:32 -0700</creation_ts>
          <short_desc>[JSC] re-implement String#padStart and String#padEnd in JavaScript</short_desc>
          <delta_ts>2016-04-28 14:39:11 -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>WebKit 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="Caitlin Potter (:caitp)">caitp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1188326</commentid>
    <comment_count>0</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-04-28 11:30:32 -0700</bug_when>
    <thetext>[JSC] re-implement String#padStart and String#padEnd in JavaScript</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188327</commentid>
    <comment_count>1</comment_count>
      <attachid>277638</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-04-28 11:31:18 -0700</bug_when>
    <thetext>Created attachment 277638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188372</commentid>
    <comment_count>2</comment_count>
      <attachid>277638</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-04-28 13:49:31 -0700</bug_when>
    <thetext>Comment on attachment 277638
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188389</commentid>
    <comment_count>3</comment_count>
      <attachid>277638</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-28 14:39:05 -0700</bug_when>
    <thetext>Comment on attachment 277638
Patch

Clearing flags on attachment: 277638

Committed r200210: &lt;http://trac.webkit.org/changeset/200210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188390</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-28 14:39:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277638</attachid>
            <date>2016-04-28 11:31:18 -0700</date>
            <delta_ts>2016-04-28 14:39:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157146-20160428143149.patch</filename>
            <type>text/plain</type>
            <size>12290</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZGNiMzEyMGU2MDRhYzVkZjk4N2E2MTFjMzQzY2JiZTYxNWYzNWMwLi5lYzc5OTJjMDRhOGFiNzJm
YzFlNmI4MjFlODQ0ODk2MTUwN2ZmOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wNC0yOCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIHJlLWltcGxlbWVudCBTdHJpbmcjcGFkU3RhcnQgYW5kIFN0cmlu
ZyNwYWRFbmQgaW4gSmF2YVNjcmlwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3MTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBidWlsdGlucy9TdHJpbmdQcm90b3R5cGUuanM6CisgICAgICAgIChy
ZXBlYXRDaGFyYWN0ZXJzU2xvd1BhdGgpOgorICAgICAgICAocGFkU3RhcnQpOgorICAgICAgICAo
cGFkRW5kKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OnJlcGVhdFN0cmluZ1BhdHRlcm4pOiBEZWxldGVk
LgorICAgICAgICAoSlNDOjpwYWRTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpzdHJp
bmdQcm90b0Z1bmNQYWRFbmQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1
bmNQYWRTdGFydCk6IERlbGV0ZWQuCisKIDIwMTYtMDQtMjggIE1hcmsgTGFtICA8bWFyay5sYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIERlYnVnZ2VyU2NvcGU6OmNsYXNzTmFtZSgpIHNob3VsZCBu
b3QgYXNzZXJ0IHNjb3BlLT5pc1ZhbGlkKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvU3RyaW5nUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1N0cmluZ1Byb3RvdHlwZS5qcwppbmRleCAyYThmNTcyZDEyMGY4NzRiNzZlMDIz
YjI2YWUyNDgyNTcyZjAzNTE0Li4wY2MyNWIxMmE0MDgwYjYwM2E5YTY4ZGQ4ZDNhNTg4ZTE4NTY1
MjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU3RyaW5nUHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TdHJpbmdQcm90
b3R5cGUuanMKQEAgLTg0LDYgKzg0LDMwIEBAIGZ1bmN0aW9uIHJlcGVhdFNsb3dQYXRoKHN0cmlu
ZywgY291bnQpCiAgICAgfQogfQogCisKK2Z1bmN0aW9uIHJlcGVhdENoYXJhY3RlcnNTbG93UGF0
aChzdHJpbmcsIGNvdW50KQoreworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICB2YXIgcmVwZWF0Q291
bnQgPSAoY291bnQgLyBzdHJpbmcubGVuZ3RoKSB8IDA7CisgICAgdmFyIHJlbWFpbmluZ0NoYXJh
Y3RlcnMgPSBjb3VudCAtIHJlcGVhdENvdW50ICogc3RyaW5nLmxlbmd0aDsKKyAgICB2YXIgcmVz
dWx0ID0gIiI7CisgICAgdmFyIG9wZXJhbmQgPSBzdHJpbmc7CisgICAgLy8gQml0IG9wZXJhdGlv
biBvbnRvIHxyZXBlYXRDb3VudHwgaXMgc2FmZSBiZWNhdXNlIHxyZXBlYXRDb3VudHwgc2hvdWxk
IGJlIHdpdGhpbiBJbnQzMiByYW5nZSwKKyAgICAvLyBSZXBlYXQgbG9nIE4gdGltZXMgdG8gZ2Vu
ZXJhdGUgdGhlIHJlcGVhdGVkIHN0cmluZyByb3BlLgorICAgIHdoaWxlICh0cnVlKSB7CisgICAg
ICAgIGlmIChyZXBlYXRDb3VudCAmIDEpCisgICAgICAgICAgICByZXN1bHQgKz0gb3BlcmFuZDsK
KyAgICAgICAgcmVwZWF0Q291bnQgPj49IDE7CisgICAgICAgIGlmICghcmVwZWF0Q291bnQpCisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgb3BlcmFuZCArPSBvcGVyYW5kOworICAgIH0KKyAg
ICBpZiAocmVtYWluaW5nQ2hhcmFjdGVycykKKyAgICAgICAgcmVzdWx0ICs9IEBzdHJpbmdTdWJz
dHJJbnRlcm5hbC5AY2FsbChzdHJpbmcsIDAsIHJlbWFpbmluZ0NoYXJhY3RlcnMpOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKKwogZnVuY3Rpb24gcmVwZWF0KGNvdW50KQogewogICAgICJ1c2Ug
c3RyaWN0IjsKQEAgLTEwNSw2ICsxMjksNzkgQEAgZnVuY3Rpb24gcmVwZWF0KGNvdW50KQogICAg
IHJldHVybiBAcmVwZWF0U2xvd1BhdGgoc3RyaW5nLCBjb3VudCk7CiB9CiAKK2Z1bmN0aW9uIHBh
ZFN0YXJ0KG1heExlbmd0aC8qLCBmaWxsU3RyaW5nKi8pCit7CisgICAgInVzZSBzdHJpY3QiOwor
CisgICAgaWYgKHRoaXMgPT09IG51bGwpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJT
dHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0IHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSBudWxs
Iik7CisgICAgCisgICAgaWYgKHRoaXMgPT09IEB1bmRlZmluZWQpCisgICAgICAgIHRocm93IG5l
dyBAVHlwZUVycm9yKCJTdHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0IHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSB1bmRlZmluZWQiKTsKKworICAgIHZhciBzdHJpbmcgPSBAdG9TdHJpbmcodGhp
cyk7CisgICAgbWF4TGVuZ3RoID0gQHRvTGVuZ3RoKG1heExlbmd0aCk7CisgICAgdmFyIGZpbGxT
dHJpbmcgPSBhcmd1bWVudHNbMV07CisKKyAgICB2YXIgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxl
bmd0aDsKKyAgICBpZiAobWF4TGVuZ3RoIDw9IHN0cmluZ0xlbmd0aCkKKyAgICAgICAgcmV0dXJu
IHN0cmluZzsKKworICAgIHZhciBmaWxsZXI7CisgICAgaWYgKGFyZ3VtZW50c1sxXSA9PT0gQHVu
ZGVmaW5lZCkKKyAgICAgICAgZmlsbGVyID0gIiAiOworICAgIGVsc2UgeworICAgICAgICBmaWxs
ZXIgPSBAdG9TdHJpbmcoYXJndW1lbnRzWzFdKTsKKyAgICAgICAgaWYgKGZpbGxlciA9PT0gIiIp
CisgICAgICAgICAgICByZXR1cm4gc3RyaW5nOworICAgIH0KKworICAgIHZhciBmaWxsTGVuZ3Ro
ID0gbWF4TGVuZ3RoIC0gc3RyaW5nTGVuZ3RoOworICAgIHZhciB0cnVuY2F0ZWRTdHJpbmdGaWxs
ZXI7CisKKyAgICBpZiAoZmlsbGVyLmxlbmd0aCA9PT0gMSkKKyAgICAgICAgdHJ1bmNhdGVkU3Ry
aW5nRmlsbGVyID0gQHJlcGVhdENoYXJhY3RlcihmaWxsZXIsIGZpbGxMZW5ndGgpOworICAgIGVs
c2UKKyAgICAgICAgdHJ1bmNhdGVkU3RyaW5nRmlsbGVyID0gQHJlcGVhdENoYXJhY3RlcnNTbG93
UGF0aChmaWxsZXIsIGZpbGxMZW5ndGgpOworICAgIHJldHVybiB0cnVuY2F0ZWRTdHJpbmdGaWxs
ZXIgKyBzdHJpbmc7Cit9CisKK2Z1bmN0aW9uIHBhZEVuZChtYXhMZW5ndGgvKiwgZmlsbFN0cmlu
ZyovKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIGlmICh0aGlzID09PSBudWxsKQorICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiU3RyaW5nLnByb3RvdHlwZS5wYWRFbmQgcmVxdWly
ZXMgdGhhdCB8dGhpc3wgbm90IGJlIG51bGwiKTsKKyAgICAKKyAgICBpZiAodGhpcyA9PT0gQHVu
ZGVmaW5lZCkKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUu
cGFkRW5kIHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSB1bmRlZmluZWQiKTsKKworICAgIHZh
ciBzdHJpbmcgPSBAdG9TdHJpbmcodGhpcyk7CisgICAgbWF4TGVuZ3RoID0gQHRvTGVuZ3RoKG1h
eExlbmd0aCk7CisKKyAgICB2YXIgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxlbmd0aDsKKyAgICBp
ZiAobWF4TGVuZ3RoIDw9IHN0cmluZ0xlbmd0aCkKKyAgICAgICAgcmV0dXJuIHN0cmluZzsKKwor
ICAgIHZhciBmaWxsZXI7CisgICAgaWYgKGFyZ3VtZW50c1sxXSA9PT0gQHVuZGVmaW5lZCkKKyAg
ICAgICAgZmlsbGVyID0gIiAiOworICAgIGVsc2UgeworICAgICAgICBmaWxsZXIgPSBAdG9TdHJp
bmcoYXJndW1lbnRzWzFdKTsKKyAgICAgICAgaWYgKGZpbGxlciA9PT0gIiIpCisgICAgICAgICAg
ICByZXR1cm4gc3RyaW5nOworICAgIH0KKworICAgIHZhciBmaWxsTGVuZ3RoID0gbWF4TGVuZ3Ro
IC0gc3RyaW5nTGVuZ3RoOworICAgIHZhciB0cnVuY2F0ZWRTdHJpbmdGaWxsZXI7CisKKyAgICBp
ZiAoZmlsbGVyLmxlbmd0aCA9PT0gMSkKKyAgICAgICAgdHJ1bmNhdGVkU3RyaW5nRmlsbGVyID0g
QHJlcGVhdENoYXJhY3RlcihmaWxsZXIsIGZpbGxMZW5ndGgpOworICAgIGVsc2UKKyAgICAgICAg
dHJ1bmNhdGVkU3RyaW5nRmlsbGVyID0gQHJlcGVhdENoYXJhY3RlcnNTbG93UGF0aChmaWxsZXIs
IGZpbGxMZW5ndGgpOworICAgIHJldHVybiBzdHJpbmcgKyB0cnVuY2F0ZWRTdHJpbmdGaWxsZXI7
Cit9CisKIGZ1bmN0aW9uIGhhc09ic2VydmFibGVTaWRlRWZmZWN0c0ZvclN0cmluZ1JlcGxhY2Uo
cmVnZXhwLCByZXBsYWNlcikgewogICAgIGlmIChyZXBsYWNlciAhPT0gQHJlZ0V4cFByb3RvdHlw
ZVN5bWJvbFJlcGxhY2UpCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDM2YmJlZDQ1MmY3YTZh
ZmQ0MWU5NmFhNzA2Y2YyZjhhYWQyZjIyYTcuLmMxMWU1MGMwYjQ5ZTFmZjIwYzY0MjAwNTI0YTIy
ZDFiMDNiY2MxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKQEAgLTU5OSw2ICs1OTksNyBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVj
dAogCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5yZXBlYXRD
aGFyYWN0ZXJQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAyLCBTdHJp
bmcoKSwgc3RyaW5nUHJvdG9GdW5jUmVwZWF0Q2hhcmFjdGVyKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkucmVwZWF0U2xvd1BhdGhQcml2YXRlTmFtZSgpLCBKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHN0cmluZ1Byb3RvdHlwZVJlcGVhdFNsb3dQ
YXRoQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWls
dGluTmFtZXMoKS5yZXBlYXRDaGFyYWN0ZXJzU2xvd1BhdGhQcml2YXRlTmFtZSgpLCBKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHN0cmluZ1Byb3RvdHlwZVJlcGVhdENoYXJh
Y3RlcnNTbG93UGF0aENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAogCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5pc1NldFByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEs
IFN0cmluZygpLCBwcml2YXRlRnVuY0lzU2V0KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+U2V0
SXRlcmF0b3JQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJp
bmcoKSwgcHJpdmF0ZUZ1bmNTZXRJdGVyYXRvciksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90
b3R5cGUuY3BwCmluZGV4IDg5YzFlOGFhODIyNTI3Y2Q3YTNkNTk5MzhiYzdiM2Q5OTIyNTAyMDUu
LmQzNzhlMmYxMmFlOWQ5YTQ0NzAxMTQ0YjE1MTkzNGYxODEwZWZlNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcApAQCAtNjYsOCAr
NjYsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY0NvZGVQ
b2ludEF0KEV4ZWNTdGF0ZSopOwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQ
cm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IHN0cmluZ1Byb3RvRnVuY0luZGV4T2YoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY0xhc3RJbmRleE9mKEV4ZWNTdGF0ZSopOwotRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNQYWRFbmQoRXhlY1N0YXRlKik7
Ci1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY1BhZFN0YXJ0KEV4
ZWNTdGF0ZSopOwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNS
ZXBsYWNlVXNpbmdSZWdFeHAoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHN0cmluZ1Byb3RvRnVuY1JlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaChFeGVjU3RhdGUqKTsK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jU2xpY2UoRXhlY1N0
YXRlKik7CkBAIC0xMTEsNiArMTA5LDggQEAgY29uc3QgQ2xhc3NJbmZvIFN0cmluZ1Byb3RvdHlw
ZTo6c19pbmZvID0geyAiU3RyaW5nIiwgJlN0cmluZ09iamVjdDo6c19pbmZvLCAmc3QKIC8qIFNv
dXJjZSBmb3IgU3RyaW5nQ29uc3RydWN0b3IubHV0LmgKIEBiZWdpbiBzdHJpbmdQcm90b3R5cGVU
YWJsZQogICAgIG1hdGNoICAgICBKU0J1aWx0aW4gICAgRG9udEVudW18RnVuY3Rpb24gMQorICAg
IHBhZFN0YXJ0ICBKU0J1aWx0aW4gICAgRG9udEVudW18RnVuY3Rpb24gMQorICAgIHBhZEVuZCAg
ICBKU0J1aWx0aW4gICAgRG9udEVudW18RnVuY3Rpb24gMQogICAgIHJlcGVhdCAgICBKU0J1aWx0
aW4gICAgRG9udEVudW18RnVuY3Rpb24gMQogICAgIHJlcGxhY2UgICBKU0J1aWx0aW4gICAgRG9u
dEVudW18RnVuY3Rpb24gMgogICAgIHNlYXJjaCAgICBKU0J1aWx0aW4gICAgRG9udEVudW18RnVu
Y3Rpb24gMQpAQCAtMTM3LDggKzEzNyw2IEBAIHZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyCiAgICAg
SlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oImNvbmNhdCIsIHN0cmluZ1By
b3RvRnVuY0NvbmNhdCwgRG9udEVudW0sIDEpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lU
SE9VVF9UUkFOU0lUSU9OKCJpbmRleE9mIiwgc3RyaW5nUHJvdG9GdW5jSW5kZXhPZiwgRG9udEVu
dW0sIDEpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKCJsYXN0
SW5kZXhPZiIsIHN0cmluZ1Byb3RvRnVuY0xhc3RJbmRleE9mLCBEb250RW51bSwgMSk7Ci0gICAg
SlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInBhZEVuZCIsIHN0cmluZ1By
b3RvRnVuY1BhZEVuZCwgRG9udEVudW0sIDEpOwotICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lU
SE9VVF9UUkFOU0lUSU9OKCJwYWRTdGFydCIsIHN0cmluZ1Byb3RvRnVuY1BhZFN0YXJ0LCBEb250
RW51bSwgMSk7CiAgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVOQ1RJT05fV0lUSE9VVF9UUkFO
U0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPnJlcGxhY2VVc2luZ1JlZ0V4cFByaXZhdGVOYW1lLCBz
dHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdSZWdFeHAsIERvbnRFbnVtLCAyLCBTdHJpbmdQcm90
b3R5cGVSZXBsYWNlUmVnRXhwSW50cmluc2ljKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJ
VEhPVVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5yZXBsYWNlVXNpbmdTdHJpbmdTZWFy
Y2hQcml2YXRlTmFtZSwgc3RyaW5nUHJvdG9GdW5jUmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNoLCBE
b250RW51bSwgMik7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04o
InNsaWNlIiwgc3RyaW5nUHJvdG9GdW5jU2xpY2UsIERvbnRFbnVtLCAyKTsKQEAgLTgwMCwxMDEg
Kzc5OCw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jUmVw
ZWF0Q2hhcmFjdGVyKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHJlcGVhdENoYXJhY3RlcigqZXhlYywgY2hhcmFjdGVyLCByZXBlYXRDb3VudCkpOwogfQogCi1z
dGF0aWMgaW5saW5lIGJvb2wgcmVwZWF0U3RyaW5nUGF0dGVybihFeGVjU3RhdGUmIGV4ZWMsIHVu
c2lnbmVkIG1heExlbmd0aCwgSlNTdHJpbmcqIHN0cmluZywgSlNSb3BlU3RyaW5nOjpSb3BlQnVp
bGRlciYgcm9wZUJ1aWxkZXIpCi17Ci0gICAgdW5zaWduZWQgcmVwZWF0Q291bnQgPSBtYXhMZW5n
dGggLyBzdHJpbmctPmxlbmd0aCgpOwotICAgIHVuc2lnbmVkIHJlbWFpbmluZ0NoYXJhY3RlcnMg
PSBtYXhMZW5ndGggLSByZXBlYXRDb3VudCAqIHN0cmluZy0+bGVuZ3RoKCk7Ci0gICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHJlcGVhdENvdW50OyArK2kpIHsKLSAgICAgICAgaWYgKCFyb3Bl
QnVpbGRlci5hcHBlbmQoc3RyaW5nKSkgewotICAgICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVy
cm9yKCZleGVjKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0K
LSAgICBpZiAocmVtYWluaW5nQ2hhcmFjdGVycykgewotICAgICAgICBKU1N0cmluZyogc3Vic3Ry
ID0ganNTdWJzdHJpbmcoJmV4ZWMsIHN0cmluZywgMCwgcmVtYWluaW5nQ2hhcmFjdGVycyk7Ci0g
ICAgICAgIGlmICghc3Vic3RyIHx8ICFyb3BlQnVpbGRlci5hcHBlbmQoc3Vic3RyKSkgewotICAg
ICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKCZleGVjKTsKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotZW51bSBj
bGFzcyBTdHJpbmdQYWRkaW5nTG9jYXRpb24geyBTdGFydCwgRW5kIH07Ci0KLXN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBwYWRTdHJpbmcoRXhlY1N0YXRlJiBleGVjLCBTdHJpbmdQYWRkaW5nTG9jYXRp
b24gcGFkZGluZ0xvY2F0aW9uKQotewotICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy50aGlz
VmFsdWUoKTsKLSAgICBpZiAoIXRoaXNWYWx1ZS5yZXF1aXJlT2JqZWN0Q29lcmNpYmxlKCZleGVj
KSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICBK
U1N0cmluZyogdGhpc1N0cmluZyA9IHRoaXNWYWx1ZS50b1N0cmluZygmZXhlYyk7Ci0gICAgaWYg
KGV4ZWMuaGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7Ci0KLSAgICBkb3VibGUgbWF4TGVuZ3RoQXNEb3VibGUgPSBleGVjLmFyZ3Vt
ZW50KDApLnRvTGVuZ3RoKCZleGVjKTsKLSAgICBpZiAoZXhlYy5oYWRFeGNlcHRpb24oKSkKLSAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICBBU1NFUlQo
bWF4TGVuZ3RoQXNEb3VibGUgPj0gMC4wKTsKLSAgICBBU1NFUlQobWF4TGVuZ3RoQXNEb3VibGUg
PT0gc3RkOjp0cnVuYyhtYXhMZW5ndGhBc0RvdWJsZSkpOwotCi0gICAgaWYgKG1heExlbmd0aEFz
RG91YmxlIDw9IHRoaXNTdHJpbmctPmxlbmd0aCgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHRoaXNTdHJpbmcpOwotCi0gICAgaWYgKG1heExlbmd0aEFzRG91YmxlID4gSlNTdHJp
bmc6Ok1heExlbmd0aCkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9m
TWVtb3J5RXJyb3IoJmV4ZWMpKTsKLQotICAgIHVuc2lnbmVkIG1heExlbmd0aCA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihtYXhMZW5ndGhBc0RvdWJsZSk7Ci0KLSAgICBKU1ZhbHVlIGZpbGxTdHJp
bmcgPSBleGVjLmFyZ3VtZW50KDEpOwotICAgIEpTU3RyaW5nKiBmaWxsZXIgPSBudWxscHRyOwot
ICAgIGlmICghZmlsbFN0cmluZy5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIGZpbGxlciA9IGZp
bGxTdHJpbmcudG9TdHJpbmcoJmV4ZWMpOwotICAgICAgICBpZiAoIWZpbGxlcikKLSAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgIGlmICgh
ZmlsbGVyLT5sZW5ndGgoKSkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhp
c1N0cmluZyk7Ci0gICAgfQotCi0gICAgdW5zaWduZWQgZmlsbExlbmd0aCA9IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihtYXhMZW5ndGgpIC0gdGhpc1N0cmluZy0+bGVuZ3RoKCk7Ci0KLSAgICBKU1Jv
cGVTdHJpbmc6OlJvcGVCdWlsZGVyIHJvcGVCdWlsZGVyKGV4ZWMudm0oKSk7Ci0gICAgaWYgKHBh
ZGRpbmdMb2NhdGlvbiA9PSBTdHJpbmdQYWRkaW5nTG9jYXRpb246OkVuZCkgewotICAgICAgICBp
ZiAoIXJvcGVCdWlsZGVyLmFwcGVuZCh0aGlzU3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKCZleGVjKSk7Ci0gICAgfQotCi0g
ICAgaWYgKCFmaWxsZXIgfHwgZmlsbGVyLT5sZW5ndGgoKSA9PSAxKSB7Ci0gICAgICAgIFVDaGFy
IGNoYXJhY3RlciA9IGZpbGxlciAmJiBmaWxsZXItPmxlbmd0aCgpID8gZmlsbGVyLT52aWV3KCZl
eGVjKVswXSA6ICcgJzsKLSAgICAgICAgaWYgKCEoY2hhcmFjdGVyICYgfjB4ZmYpKQotICAgICAg
ICAgICAgZmlsbGVyID0gcmVwZWF0Q2hhcmFjdGVyKGV4ZWMsIHN0YXRpY19jYXN0PExDaGFyPihj
aGFyYWN0ZXIpLCBmaWxsTGVuZ3RoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZmlsbGVy
ID0gcmVwZWF0Q2hhcmFjdGVyKGV4ZWMsIGNoYXJhY3RlciwgZmlsbExlbmd0aCk7Ci0gICAgICAg
IGlmICghZmlsbGVyIHx8ICFyb3BlQnVpbGRlci5hcHBlbmQoZmlsbGVyKSkKLSAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKCZleGVjKSk7Ci0g
ICAgICAgIEFTU0VSVChmaWxsZXItPmxlbmd0aCgpID09IGZpbGxMZW5ndGgpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGlmICghcmVwZWF0U3RyaW5nUGF0dGVybihleGVjLCBmaWxsTGVuZ3RoLCBm
aWxsZXIsIHJvcGVCdWlsZGVyKSkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dPdXRPZk1lbW9yeUVycm9yKCZleGVjKSk7Ci0gICAgfQotCi0gICAgaWYgKHBhZGRpbmdM
b2NhdGlvbiA9PSBTdHJpbmdQYWRkaW5nTG9jYXRpb246OlN0YXJ0KSB7Ci0gICAgICAgIGlmICgh
cm9wZUJ1aWxkZXIuYXBwZW5kKHRoaXNTdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoJmV4ZWMpKTsKLSAgICB9Ci0gICAgQVNT
RVJUKCFleGVjLmhhZEV4Y2VwdGlvbigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJv
cGVCdWlsZGVyLnJlbGVhc2UoKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
c3RyaW5nUHJvdG9GdW5jUGFkRW5kKEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICByZXR1cm4gcGFk
U3RyaW5nKCpleGVjLCBTdHJpbmdQYWRkaW5nTG9jYXRpb246OkVuZCk7Ci19Ci0KLUVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jUGFkU3RhcnQoRXhlY1N0YXRlKiBl
eGVjKQotewotICAgIHJldHVybiBwYWRTdHJpbmcoKmV4ZWMsIFN0cmluZ1BhZGRpbmdMb2NhdGlv
bjo6U3RhcnQpOwotfQotCiBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2UoCiAg
ICAgVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzdHJpbmcsIEpTVmFsdWUgc2Vh
cmNoVmFsdWUsIEpTVmFsdWUgcmVwbGFjZVZhbHVlKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>