<?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>110674</bug_id>
          
          <creation_ts>2013-02-22 18:08:45 -0800</creation_ts>
          <short_desc>Do one lookup per code cache insertion instead of two</short_desc>
          <delta_ts>2013-02-25 10:58:23 -0800</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840215</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-22 18:08:45 -0800</bug_when>
    <thetext>Do one lookup per code cache insertion instead of two</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840217</commentid>
    <comment_count>1</comment_count>
      <attachid>189886</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-22 18:11:43 -0800</bug_when>
    <thetext>Created attachment 189886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841111</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-25 10:58:23 -0800</bug_when>
    <thetext>Committed r143949: &lt;http://trac.webkit.org/changeset/143949&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189886</attachid>
            <date>2013-02-22 18:11:43 -0800</date>
            <delta_ts>2013-02-22 18:18:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110674-20130222180802.patch</filename>
            <type>text/plain</type>
            <size>9658</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzODIzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBA
CisyMDEzLTAyLTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRG8gb25lIGxvb2t1cCBwZXIgY29kZSBjYWNoZSBpbnNlcnRpb24gaW5zdGVhZCBvZiB0d28K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDY3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlcGxveWVk
IHRoZSBpZGlvbWF0aWMgImFkZCBudWxsIHZhbHVlIiB0cmljayB0byBhdm9pZCBhIHNlY29uZCBo
YXNoCisgICAgICAgIGxvb2t1cCB3aGVuIGluc2VydGluZyBhbiBpdGVtLgorCisgICAgICAgICog
cnVudGltZS9Db2RlQ2FjaGUuY3BwOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGVNYXA6OnBydW5l
U2xvd0Nhc2UpOiBGYWN0b3JlZCB0aGlzIGludG8gYSBoZWxwZXIgZnVuY3Rpb24KKyAgICAgICAg
dG8gaW1wcm92ZSBjbGFyaXR5IGFuZCBnZXQgc29tZSBjb2RlIG9mZiB0aGUgaG90IHBhdGguCisK
KyAgICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpD
b2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKTogVXNlIHRoZSBh
ZGQoKSBBUEkKKyAgICAgICAgdG8gYXZvaWQgdHdvIGhhc2ggbG9va3Vwcy4gQmUgc3VyZSB0byBy
ZW1vdmUgaXRlbXMgaWYgcGFyc2luZyBmYWlscywKKyAgICAgICAgb3RoZXJ3aXNlIHdlJ2xsIGxl
YXZlIG51bGxzIGluIHRoZSB0YWJsZS4gKEknbSBndWVzc2luZyB0aGF0IGNhY2hpbmcgcGFyc2UK
KyAgICAgICAgZXJyb3JzIGlzIG5vdCBhIHdpbi4pCisKKyAgICAgICAgKiBydW50aW1lL0NvZGVD
YWNoZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlVmFsdWU6OlNvdXJjZUNvZGVWYWx1ZSk6
CisgICAgICAgIChDb2RlQ2FjaGVNYXApOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGVNYXA6OmFk
ZCk6IENvbWJpbmVkIGZpbmQoKSBhbmQgc2V0KCkgaW50byBhZGQoKS4KKworICAgICAgICAoSlND
OjpDb2RlQ2FjaGVNYXA6OnJlbW92ZSk6CisgICAgICAgIChKU0M6OkNvZGVDYWNoZU1hcDo6YWdl
KToKKyAgICAgICAgKEpTQzo6Q29kZUNhY2hlTWFwOjpwcnVuZSk6IFJlZmFjdG9yZWQgdG8gc3Vw
cG9ydCBhYm92ZSBjaGFuZ2VzLgorCiAyMDEzLTAyLTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgREZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTnVtYmVy
KCkgc2hvdWxkIGp1c3QgdXNlIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgaW5zdGVhZCBvZiBkb2lu
ZyBpdHMgb3duIHRoaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2Rl
Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
ZGVDYWNoZS5jcHAJKHJldmlzaW9uIDE0Mzc5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvZGVDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDE1IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCit2b2lkIENvZGVDYWNoZU1hcDo6cHJ1bmVTbG93Q2FzZSgpCit7
CisgICAgd2hpbGUgKG1fc2l6ZSA+PSBtX2NhcGFjaXR5KSB7CisgICAgICAgIE1hcFR5cGU6Oml0
ZXJhdG9yIGl0ID0gbV9tYXAuYmVnaW4oKTsKKyAgICAgICAgbV9zaXplIC09IGl0LT5rZXkubGVu
Z3RoKCk7CisgICAgICAgIG1fbWFwLnJlbW92ZShpdCk7CisgICAgfQorfQorCiBDb2RlQ2FjaGU6
OkNvZGVDYWNoZSgpCiB7CiB9CkBAIC02MCwyMiArNjksMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFVu
bGlua2VkQ29kZUJsb2NrVHlwZSwgYwogVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6
OmdldENvZGVCbG9jayhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEV4ZWN1dGFibGVUeXBlKiBl
eGVjdXRhYmxlLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyU3RyaWN0bmVzcyBz
dHJpY3RuZXNzLCBEZWJ1Z2dlck1vZGUgZGVidWdnZXJNb2RlLCBQcm9maWxlck1vZGUgcHJvZmls
ZXJNb2RlLCBQYXJzZXJFcnJvciYgZXJyb3IpCiB7CiAgICAgU291cmNlQ29kZUtleSBrZXkgPSBT
b3VyY2VDb2RlS2V5KHNvdXJjZSwgU3RyaW5nKCksIENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxv
Y2tUeXBlPjo6Y29kZVR5cGUsIHN0cmljdG5lc3MpOwotICAgIGJvb2wgc3RvcmVJbkNhY2hlID0g
ZmFsc2U7Ci0gICAgaWYgKGRlYnVnZ2VyTW9kZSA9PSBEZWJ1Z2dlck9mZiAmJiBwcm9maWxlck1v
ZGUgPT0gUHJvZmlsZXJPZmYpIHsKLSAgICAgICAgY29uc3QgU3Ryb25nPEpTQ2VsbD4qIHJlc3Vs
dCA9IG1fc291cmNlQ29kZS5maW5kKGtleSk7Ci0gICAgICAgIGlmIChyZXN1bHQpIHsKLSAgICAg
ICAgICAgIFVubGlua2VkQ29kZUJsb2NrVHlwZSogdW5saW5rZWRDb2RlID0ganNDYXN0PFVubGlu
a2VkQ29kZUJsb2NrVHlwZSo+KHJlc3VsdC0+Z2V0KCkpOwotICAgICAgICAgICAgdW5zaWduZWQg
Zmlyc3RMaW5lID0gc291cmNlLmZpcnN0TGluZSgpICsgdW5saW5rZWRDb2RlLT5maXJzdExpbmUo
KTsKLSAgICAgICAgICAgIGV4ZWN1dGFibGUtPnJlY29yZFBhcnNlKHVubGlua2VkQ29kZS0+Y29k
ZUZlYXR1cmVzKCksIHVubGlua2VkQ29kZS0+aGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSwgZmlyc3RM
aW5lLCBmaXJzdExpbmUgKyB1bmxpbmtlZENvZGUtPmxpbmVDb3VudCgpKTsKLSAgICAgICAgICAg
IHJldHVybiB1bmxpbmtlZENvZGU7Ci0gICAgICAgIH0KLSAgICAgICAgc3RvcmVJbkNhY2hlID0g
dHJ1ZTsKKyAgICBDb2RlQ2FjaGVNYXA6OkFkZFJlc3VsdCBhZGRSZXN1bHQgPSBtX3NvdXJjZUNv
ZGUuYWRkKGtleSwgU291cmNlQ29kZVZhbHVlKCkpOworICAgIGJvb2wgY2FuQ2FjaGUgPSBkZWJ1
Z2dlck1vZGUgPT0gRGVidWdnZXJPZmYgJiYgcHJvZmlsZXJNb2RlID09IFByb2ZpbGVyT2ZmOwor
ICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkgJiYgY2FuQ2FjaGUpIHsKKyAgICAgICAgVW5s
aW5rZWRDb2RlQmxvY2tUeXBlKiB1bmxpbmtlZENvZGUgPSBqc0Nhc3Q8VW5saW5rZWRDb2RlQmxv
Y2tUeXBlKj4oYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5jZWxsLmdldCgpKTsKKyAgICAgICAg
dW5zaWduZWQgZmlyc3RMaW5lID0gc291cmNlLmZpcnN0TGluZSgpICsgdW5saW5rZWRDb2RlLT5m
aXJzdExpbmUoKTsKKyAgICAgICAgZXhlY3V0YWJsZS0+cmVjb3JkUGFyc2UodW5saW5rZWRDb2Rl
LT5jb2RlRmVhdHVyZXMoKSwgdW5saW5rZWRDb2RlLT5oYXNDYXB0dXJlZFZhcmlhYmxlcygpLCBm
aXJzdExpbmUsIGZpcnN0TGluZSArIHVubGlua2VkQ29kZS0+bGluZUNvdW50KCkpOworICAgICAg
ICByZXR1cm4gdW5saW5rZWRDb2RlOwogICAgIH0KIAogICAgIHR5cGVkZWYgdHlwZW5hbWUgQ2Fj
aGVUeXBlczxVbmxpbmtlZENvZGVCbG9ja1R5cGU+OjpSb290Tm9kZSBSb290Tm9kZTsKICAgICBS
ZWZQdHI8Um9vdE5vZGU+IHJvb3ROb2RlID0gcGFyc2U8Um9vdE5vZGU+KCZnbG9iYWxEYXRhLCBz
b3VyY2UsIDAsIElkZW50aWZpZXIoKSwgc3RyaWN0bmVzcywgSlNQYXJzZVByb2dyYW1Db2RlLCBl
cnJvcik7Ci0gICAgaWYgKCFyb290Tm9kZSkKKyAgICBpZiAoIXJvb3ROb2RlKSB7CisgICAgICAg
IG1fc291cmNlQ29kZS5yZW1vdmUoYWRkUmVzdWx0Lml0ZXJhdG9yKTsKICAgICAgICAgcmV0dXJu
IDA7CisgICAgfQogICAgIGV4ZWN1dGFibGUtPnJlY29yZFBhcnNlKHJvb3ROb2RlLT5mZWF0dXJl
cygpLCByb290Tm9kZS0+aGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSwgcm9vdE5vZGUtPmxpbmVObygp
LCByb290Tm9kZS0+bGFzdExpbmUoKSk7CiAKICAgICBVbmxpbmtlZENvZGVCbG9ja1R5cGUqIHVu
bGlua2VkQ29kZSA9IFVubGlua2VkQ29kZUJsb2NrVHlwZTo6Y3JlYXRlKCZnbG9iYWxEYXRhLCBl
eGVjdXRhYmxlLT5leGVjdXRhYmxlSW5mbygpKTsKQEAgLTgzLDEyICs5MSwxNyBAQCBVbmxpbmtl
ZENvZGVCbG9ja1R5cGUqIENvZGVDYWNoZTo6Z2V0Q29kCiAgICAgT3duUHRyPEJ5dGVjb2RlR2Vu
ZXJhdG9yPiBnZW5lcmF0b3IoYWRvcHRQdHIobmV3IEJ5dGVjb2RlR2VuZXJhdG9yKGdsb2JhbERh
dGEsIHJvb3ROb2RlLmdldCgpLCB1bmxpbmtlZENvZGUsIGRlYnVnZ2VyTW9kZSwgcHJvZmlsZXJN
b2RlKSkpOwogICAgIGVycm9yID0gZ2VuZXJhdG9yLT5nZW5lcmF0ZSgpOwogICAgIHJvb3ROb2Rl
LT5kZXN0cm95RGF0YSgpOwotICAgIGlmIChlcnJvci5tX3R5cGUgIT0gUGFyc2VyRXJyb3I6OkVy
cm9yTm9uZSkKKyAgICBpZiAoZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUp
IHsKKyAgICAgICAgbV9zb3VyY2VDb2RlLnJlbW92ZShhZGRSZXN1bHQuaXRlcmF0b3IpOwogICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CiAKLSAgICBpZiAoc3RvcmVJbkNhY2hlKQotICAgICAgICBt
X3NvdXJjZUNvZGUuc2V0KGtleSwgU3Ryb25nPFVubGlua2VkQ29kZUJsb2NrPihnbG9iYWxEYXRh
LCB1bmxpbmtlZENvZGUpKTsKKyAgICBpZiAoIWNhbkNhY2hlKSB7CisgICAgICAgIG1fc291cmNl
Q29kZS5yZW1vdmUoYWRkUmVzdWx0Lml0ZXJhdG9yKTsKKyAgICAgICAgcmV0dXJuIHVubGlua2Vk
Q29kZTsKKyAgICB9CiAKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gU291cmNlQ29k
ZVZhbHVlKGdsb2JhbERhdGEsIHVubGlua2VkQ29kZSwgbV9zb3VyY2VDb2RlLmFnZSgpKTsKICAg
ICByZXR1cm4gdW5saW5rZWRDb2RlOwogfQogCkBAIC0xMDUsMTMgKzExOCwxNCBAQCBVbmxpbmtl
ZEV2YWxDb2RlQmxvY2sqIENvZGVDYWNoZTo6Z2V0RXZhCiBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewogICAgIFNvdXJjZUNvZGVLZXkg
a2V5ID0gU291cmNlQ29kZUtleShzb3VyY2UsIG5hbWUuc3RyaW5nKCksIFNvdXJjZUNvZGVLZXk6
OkZ1bmN0aW9uVHlwZSwgSlNQYXJzZU5vcm1hbCk7Ci0gICAgY29uc3QgU3Ryb25nPEpTQ2VsbD4q
IHJlc3VsdCA9IG1fc291cmNlQ29kZS5maW5kKGtleSk7Ci0gICAgaWYgKHJlc3VsdCkKLSAgICAg
ICAgcmV0dXJuIGpzQ2FzdDxVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSo+KHJlc3VsdC0+Z2V0
KCkpOworICAgIENvZGVDYWNoZU1hcDo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IG1fc291cmNlQ29k
ZS5hZGQoa2V5LCBTb3VyY2VDb2RlVmFsdWUoKSk7CisgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdF
bnRyeSkKKyAgICAgICAgcmV0dXJuIGpzQ2FzdDxVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSo+
KGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuY2VsbC5nZXQoKSk7CiAKICAgICBSZWZQdHI8UHJv
Z3JhbU5vZGU+IHByb2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4oJmdsb2JhbERhdGEsIHNvdXJj
ZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlTm9ybWFsLCBKU1BhcnNlUHJvZ3JhbUNvZGUsIGVy
cm9yKTsKICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgQVNTRVJUKGVycm9yLm1fdHlwZSAh
PSBQYXJzZXJFcnJvcjo6RXJyb3JOb25lKTsKKyAgICAgICAgbV9zb3VyY2VDb2RlLnJlbW92ZShh
ZGRSZXN1bHQuaXRlcmF0b3IpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKQEAgLTEyOSw3
ICsxNDMsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpnCiAgICAg
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlOjpjcmVhdGUoJmdsb2JhbERhdGEsIHNvdXJjZSwgYm9keSk7CiAg
ICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5tX25hbWVWYWx1ZS5zZXQoZ2xvYmFsRGF0YSwgZnVuY3Rp
b25FeGVjdXRhYmxlLCBqc1N0cmluZygmZ2xvYmFsRGF0YSwgbmFtZS5zdHJpbmcoKSkpOwogCi0g
ICAgbV9zb3VyY2VDb2RlLnNldChrZXksIFN0cm9uZzxVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJs
ZT4oZ2xvYmFsRGF0YSwgZnVuY3Rpb25FeGVjdXRhYmxlKSk7CisgICAgYWRkUmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZSA9IFNvdXJjZUNvZGVWYWx1ZShnbG9iYWxEYXRhLCBmdW5jdGlvbkV4ZWN1dGFi
bGUsIG1fc291cmNlQ29kZS5hZ2UoKSk7CiAgICAgcmV0dXJuIGZ1bmN0aW9uRXhlY3V0YWJsZTsK
IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmgJKHJl
dmlzaW9uIDE0Mzc5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNo
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsOCArMTE4LDggQEAgc3RydWN0IFNvdXJjZUNvZGVW
YWx1ZSB7CiAgICAgewogICAgIH0KIAotICAgIFNvdXJjZUNvZGVWYWx1ZShjb25zdCBTdHJvbmc8
SlNDZWxsPiYgY2VsbCwgaW50NjRfdCBhZ2UpCi0gICAgICAgIDogY2VsbChjZWxsKQorICAgIFNv
dXJjZUNvZGVWYWx1ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQ2VsbCogY2VsbCwgaW50
NjRfdCBhZ2UpCisgICAgICAgIDogY2VsbChnbG9iYWxEYXRhLCBjZWxsKQogICAgICAgICAsIGFn
ZShhZ2UpCiAgICAgewogICAgIH0KQEAgLTEyOSwxMCArMTI5LDExIEBAIHN0cnVjdCBTb3VyY2VD
b2RlVmFsdWUgewogfTsKIAogY2xhc3MgQ29kZUNhY2hlTWFwIHsKK3B1YmxpYzoKICAgICB0eXBl
ZGVmIEhhc2hNYXA8U291cmNlQ29kZUtleSwgU291cmNlQ29kZVZhbHVlLCBTb3VyY2VDb2RlS2V5
SGFzaCwgU291cmNlQ29kZUtleUhhc2hUcmFpdHM+IE1hcFR5cGU7CiAgICAgdHlwZWRlZiBNYXBU
eXBlOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIE1hcFR5cGU6OkFkZFJlc3VsdCBB
ZGRSZXN1bHQ7CiAKLXB1YmxpYzoKICAgICBlbnVtIHsgTWluQ2FjaGVDYXBhY2l0eSA9IDEwMDAw
MDAgfTsgLy8gU2l6ZSBpbiBjaGFyYWN0ZXJzCiAKICAgICBDb2RlQ2FjaGVNYXAoKQpAQCAtMTQy
LDEzICsxNDMsMTkgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBjb25zdCBTdHJvbmc8
SlNDZWxsPiogZmluZChjb25zdCBTb3VyY2VDb2RlS2V5JiBrZXkpCisKKyAgICBBZGRSZXN1bHQg
YWRkKGNvbnN0IFNvdXJjZUNvZGVLZXkmIGtleSwgY29uc3QgU291cmNlQ29kZVZhbHVlJiB2YWx1
ZSkKICAgICB7Ci0gICAgICAgIGl0ZXJhdG9yIGl0ID0gbV9tYXAuZmluZChrZXkpOwotICAgICAg
ICBpZiAoaXQgPT0gbV9tYXAuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cHJ1bmUoKTsKKworICAgICAgICBBZGRSZXN1bHQgYWRkUmVzdWx0ID0gbV9tYXAuYWRkKGtleSwg
dmFsdWUpOworICAgICAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgICAg
IG1fc2l6ZSArPSBrZXkubGVuZ3RoKCk7CisgICAgICAgICAgICBtX2FnZSArPSBrZXkubGVuZ3Ro
KCk7CisgICAgICAgICAgICByZXR1cm4gYWRkUmVzdWx0OworICAgICAgICB9CiAKLSAgICAgICAg
aW50NjRfdCBhZ2UgPSBtX2FnZSAtIGl0LT52YWx1ZS5hZ2U7CisgICAgICAgIGludDY0X3QgYWdl
ID0gbV9hZ2UgLSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFnZTsKICAgICAgICAgaWYgKGFn
ZSA+IG1fY2FwYWNpdHkpIHsKICAgICAgICAgICAgIC8vIEEgcmVxdWVzdGVkIG9iamVjdCBpcyBv
bGRlciB0aGFuIHRoZSBjYWNoZSdzIGNhcGFjaXR5LiBXZSBjYW4KICAgICAgICAgICAgIC8vIGlu
ZmVyIHRoYXQgcmVxdWVzdGVkIG9iamVjdHMgYXJlIHN1YmplY3QgdG8gaGlnaCBldmljdGlvbiBw
cm9iYWJpbGl0eSwKQEAgLTE2MywxOCArMTcwLDE1IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAg
ICBtX2NhcGFjaXR5ID0gTWluQ2FjaGVDYXBhY2l0eTsKICAgICAgICAgfQogCi0gICAgICAgIGl0
LT52YWx1ZS5hZ2UgPSBtX2FnZTsKKyAgICAgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5h
Z2UgPSBtX2FnZTsKICAgICAgICAgbV9hZ2UgKz0ga2V5Lmxlbmd0aCgpOwotICAgICAgICByZXR1
cm4gJml0LT52YWx1ZS5jZWxsOworICAgICAgICByZXR1cm4gYWRkUmVzdWx0OwogICAgIH0KIAot
ICAgIHZvaWQgc2V0KGNvbnN0IFNvdXJjZUNvZGVLZXkmIGtleSwgY29uc3QgU3Ryb25nPEpTQ2Vs
bD4mIHZhbHVlKQorICAgIHZvaWQgcmVtb3ZlKGl0ZXJhdG9yIGl0KQogICAgIHsKLSAgICAgICAg
cHJ1bmVJZk5lZWRlZCgpOwotCi0gICAgICAgIG1fc2l6ZSArPSBrZXkubGVuZ3RoKCk7Ci0gICAg
ICAgIG1fYWdlICs9IGtleS5sZW5ndGgoKTsKLSAgICAgICAgbV9tYXAuc2V0KGtleSwgU291cmNl
Q29kZVZhbHVlKHZhbHVlLCBtX2FnZSkpOworICAgICAgICBtX3NpemUgLT0gaXQtPmtleS5sZW5n
dGgoKTsKKyAgICAgICAgbV9tYXAucmVtb3ZlKGl0KTsKICAgICB9CiAKICAgICB2b2lkIGNsZWFy
KCkKQEAgLTE4NCw2ICsxODgsOCBAQCBwdWJsaWM6CiAgICAgICAgIG1fbWFwLmNsZWFyKCk7CiAg
ICAgfQogCisgICAgaW50NjRfdCBhZ2UoKSB7IHJldHVybiBtX2FnZTsgfQorCiBwcml2YXRlOgog
ICAgIC8vIFRoaXMgY29uc3RhbnQgZmFjdG9yIGJpYXNlcyBjYWNoZSBjYXBhY2l0eSB0b3dhcmQg
cmVjZW50IGFjdGl2aXR5LiBXZQogICAgIC8vIHdhbnQgdG8gYWRhcHQgdG8gY2hhbmdpbmcgd29y
a2xvYWRzLgpAQCAtMTk0LDEzICsyMDAsMTIgQEAgcHJpdmF0ZToKICAgICAvLyBzYW1wbGUgdGhl
bSwgc28gd2UgbmVlZCB0byBleHRyYXBvbGF0ZSBmcm9tIHRoZSBvbmVzIHdlIGRvIHNhbXBsZS4K
ICAgICBzdGF0aWMgY29uc3QgaW50NjRfdCBvbGRPYmplY3RTYW1wbGluZ011bHRpcGxpZXIgPSAz
MjsKIAotICAgIHZvaWQgcHJ1bmVJZk5lZWRlZCgpCisgICAgdm9pZCBwcnVuZVNsb3dDYXNlKCk7
CisgICAgdm9pZCBwcnVuZSgpCiAgICAgewotICAgICAgICB3aGlsZSAobV9zaXplID49IG1fY2Fw
YWNpdHkpIHsKLSAgICAgICAgICAgIE1hcFR5cGU6Oml0ZXJhdG9yIGl0ID0gbV9tYXAuYmVnaW4o
KTsKLSAgICAgICAgICAgIG1fc2l6ZSAtPSBpdC0+a2V5Lmxlbmd0aCgpOwotICAgICAgICAgICAg
bV9tYXAucmVtb3ZlKGl0KTsKLSAgICAgICAgfQorICAgICAgICBpZiAobV9zaXplIDwgbV9jYXBh
Y2l0eSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcHJ1bmVTbG93Q2FzZSgpOwogICAg
IH0KIAogICAgIE1hcFR5cGUgbV9tYXA7Cg==
</data>
<flag name="review"
          id="210437"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>