<?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>91480</bug_id>
          
          <creation_ts>2012-07-17 02:50:00 -0700</creation_ts>
          <short_desc>Form state: Make a new class handling HashMap&lt;FormElementKey, Deque&lt;&gt;&gt;</short_desc>
          <delta_ts>2012-07-17 21:16:32 -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>Forms</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>
          
          <blocked>91209</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>671110</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-17 02:50:00 -0700</bug_when>
    <thetext>Form state: Make a new class handling HashMap&lt;FormElementKey, Deque&lt;&gt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671840</commentid>
    <comment_count>1</comment_count>
      <attachid>152897</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-17 18:12:33 -0700</bug_when>
    <thetext>Created attachment 152897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671948</commentid>
    <comment_count>2</comment_count>
      <attachid>152897</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 21:16:27 -0700</bug_when>
    <thetext>Comment on attachment 152897
Patch

Clearing flags on attachment: 152897

Committed r122917: &lt;http://trac.webkit.org/changeset/122917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671949</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 21:16:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152897</attachid>
            <date>2012-07-17 18:12:33 -0700</date>
            <delta_ts>2012-07-17 21:16:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91480-20120718101232.patch</filename>
            <type>text/plain</type>
            <size>14505</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk4YWExZjc5NThkMWNh
MDk2OTU0ZDNjYjY2NjQ0ZGZlY2M3MTQyMC4uM2QyMDU0NmMwZjMxZmUyMjZmMzU5YmFlMDMyMDkw
ZjhmNmVlNjM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA3LTE3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBGb3JtIHN0YXRlOiBNYWtl
IGEgbmV3IGNsYXNzIGhhbmRsaW5nIEhhc2hNYXA8Rm9ybUVsZW1lbnRLZXksIERlcXVlPD4+Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ4MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBw
cmVwYXJhdGlvbiBvZiBCdWcgOTEyMDksICJGb3JtIHN0YXRlIHJlc3RvcmU6IE5lZWQgdG8KKyAg
ICAgICAgaWRlbnRpZnkgYSBmcm9tIGJ5IGl0cyBjb250ZW50LiIKKworICAgICAgICBNYWtlIGEg
bmV3IGNsYXNzIHdoaWNoIGlzIHJlc3BvbnNpYmxlIHRvIGhhbmRsZSAiSGFzaE1hcDxGb3JtRWxl
bWVudEtleSwKKyAgICAgICAgRGVxdWU8Rm9ybUNvbnRyb2xTdGF0ZT4sIEZvcm1FbGVtZW50S2V5
SGFzaCwgRm9ybUVsZW1lbnRLZXlIYXNoVHJhaXRzPi4iCisgICAgICAgIEFsc28sIG1vdmUgdGhl
IEZvcm1FbGVtZW50S2V5IGNsYXNzIGRlY2xhcmF0aW9uIGFuZCByZWxhdGVkIHN0cnVjdHMgZnJv
bQorICAgICAgICBGb3JtQ29udHJvbGxlci5oIHRvIEZvcm1Db250cm9sbGVyLmNwcCBiZWNhdXNl
IEZvcm1FbGVtZW50S2V5IGlzIHVzZWQKKyAgICAgICAgb25seSBpbiBGb3JtQ29udHJvbGxlci5j
cHAuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBKdXN0IGEgcmVmYWN0b3JpbmcuCisKKyAgICAg
ICAgKiBodG1sL0Zvcm1Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1FbGVt
ZW50S2V5KTogTW9ldmVkIGZyb20gRm9ybUNvbnRyb2xsZXIuaC4KKyAgICAgICAgKFdlYkNvcmU6
OkZvcm1FbGVtZW50S2V5OjpGb3JtRWxlbWVudEtleSk6CisgICAgICAgIE1vdmVkIGZyb20gdGhl
IGJvdHRvbSBvZiBGb3JtQ29udHJvbGxlci5jcHAKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1FbGVt
ZW50S2V5Ojp+Rm9ybUVsZW1lbnRLZXkpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1F
bGVtZW50S2V5OjpvcGVyYXRvcj0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1FbGVt
ZW50S2V5OjpyZWYpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1FbGVtZW50S2V5Ojpk
ZXJlZik6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6IE1vdmVkIGZyb20g
Rm9ybUNvbnRyb2xsZXIuaAorICAgICAgICAoRm9ybUVsZW1lbnRLZXlIYXNoKTogZGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpGb3JtRWxlbWVudEtleUhhc2g6OmVxdWFsKTogZGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpGb3JtRWxlbWVudEtleUhhc2g6Omhhc2gpOgorICAgICAgICBNb3ZlZCBm
cm9tIHRoZSBib3R0b20gb2YgRm9ybUNvbnRyb2xsZXIuY3BwCisgICAgICAgIChXZWJDb3JlOjpG
b3JtRWxlbWVudEtleUhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6CisgICAgICAg
IE1vdmVkIGZyb20gRm9ybUNvbnRyb2xsZXIuaAorICAgICAgICAoV2ViQ29yZTo6Rm9ybUVsZW1l
bnRLZXlIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6IGRpdHRvLgorCisgICAgICAgIChXZWJD
b3JlOjpTYXZlZEZvcm1TdGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2F2ZWRGb3Jt
U3RhdGU6OmlzRW1wdHkpOgorICAgICAgICAoV2ViQ29yZTo6U2F2ZWRGb3JtU3RhdGU6OlNhdmVk
Rm9ybVN0YXRlKTogQWRkZWQuIFRoZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OlNh
dmVkRm9ybVN0YXRlOjpjcmVhdGUpOiBBZGRlZC4gQSBmYWN0b3J5IGZ1bmN0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6U2F2ZWRGb3JtU3RhdGU6OmFwcGVuZENvbnRyb2xTdGF0ZSk6CisgICAgICAg
IE1vdmVkIHNvbWUgY29kZSBmcm9tIEZvcm1Db250cm9sbGVyOjpzZXRTdGF0ZUZvck5ld0Zvcm1F
bGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNhdmVkRm9ybVN0YXRlOjp0YWtlQ29udHJvbFN0
YXRlKToKKyAgICAgICAgTW92ZWQgc29tZSBjb2RlIGZyb20gRm9ybUNvbnRyb2xsZXI6OnRha2VT
dGF0ZUZvckZvcm1FbGVtZW50LgorCisgICAgICAgIChXZWJDb3JlOjpGb3JtQ29udHJvbGxlcjo6
c2V0U3RhdGVGb3JOZXdGb3JtRWxlbWVudHMpOgorICAgICAgICAtIENyZWF0ZXMgU2F2ZWRGb3Jt
U3RhdGUgaWYgbmVlZGVkLgorICAgICAgICAtIFVzZXMgU2F2ZWRGb3JtU3RhdGU6OmFwcGVuZENv
bnRyb2xTdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1Db250cm9sbGVyOjp0YWtlU3RhdGVG
b3JGb3JtRWxlbWVudCk6CisgICAgICAgIFVzZXMgU2F2ZWRGb3JtU3RhdGUuCisgICAgICAgICog
aHRtbC9Gb3JtQ29udHJvbGxlci5oOgorICAgICAgICAoRm9ybUNvbnRyb2xsZXIpOgorCiAyMDEy
LTA3LTE2ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2No
cm9taXVtXSBUdXJuIG9mZiBTY3JvbGxiYXJMYXllckNocm9taXVtIGZvciBXaW5kb3dzIGR1ZSB0
byBiYWQgYWxwaGEgdmFsdWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1D
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGMzMDg0NWJlNWJhOGIxMzkwMGY5MmJkNDc2NDAwOGE1NGQ5ZDBiZjQuLjQ2MjQxYmUxYThk
ZDJmNzJiMGMzOTliMWU5YTg3NTlkOTI0Y2FmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRm9ybUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNv
bnRyb2xsZXIuY3BwCkBAIC03Nyw2ICs3NywxNTQgQEAgRm9ybUNvbnRyb2xTdGF0ZSBGb3JtQ29u
dHJvbFN0YXRlOjpkZXNlcmlhbGl6ZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhdGVWZWN0b3IK
IAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitjbGFzcyBGb3JtRWxlbWVudEtleSB7CitwdWJs
aWM6CisgICAgRm9ybUVsZW1lbnRLZXkoQXRvbWljU3RyaW5nSW1wbCogPSAwLCBBdG9taWNTdHJp
bmdJbXBsKiA9IDAsIEF0b21pY1N0cmluZ0ltcGwqID0gMCk7CisgICAgfkZvcm1FbGVtZW50S2V5
KCk7CisgICAgRm9ybUVsZW1lbnRLZXkoY29uc3QgRm9ybUVsZW1lbnRLZXkmKTsKKyAgICBGb3Jt
RWxlbWVudEtleSYgb3BlcmF0b3I9KGNvbnN0IEZvcm1FbGVtZW50S2V5Jik7CisKKyAgICBBdG9t
aWNTdHJpbmdJbXBsKiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAgQXRvbWlj
U3RyaW5nSW1wbCogdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIEF0b21pY1N0
cmluZ0ltcGwqIGZvcm1LZXkoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1LZXk7IH0KKworICAgIC8v
IEhhc2ggdGFibGUgZGVsZXRlZCB2YWx1ZXMsIHdoaWNoIGFyZSBvbmx5IGNvbnN0cnVjdGVkIGFu
ZCBuZXZlciBjb3BpZWQgb3IgZGVzdHJveWVkLgorICAgIEZvcm1FbGVtZW50S2V5KFdURjo6SGFz
aFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX25hbWUoaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkp
IHsgfQorICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X25hbWUgPT0gaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0KKworcHJpdmF0ZToKKyAgICB2b2lk
IHJlZigpIGNvbnN0OworICAgIHZvaWQgZGVyZWYoKSBjb25zdDsKKworICAgIHN0YXRpYyBBdG9t
aWNTdHJpbmdJbXBsKiBoYXNoVGFibGVEZWxldGVkVmFsdWUoKSB7IHJldHVybiByZWludGVycHJl
dF9jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigtMSk7IH0KKworICAgIEF0b21pY1N0cmluZ0ltcGwq
IG1fbmFtZTsKKyAgICBBdG9taWNTdHJpbmdJbXBsKiBtX3R5cGU7CisgICAgQXRvbWljU3RyaW5n
SW1wbCogbV9mb3JtS2V5OworfTsKKworRm9ybUVsZW1lbnRLZXk6OkZvcm1FbGVtZW50S2V5KEF0
b21pY1N0cmluZ0ltcGwqIG5hbWUsIEF0b21pY1N0cmluZ0ltcGwqIHR5cGUsIEF0b21pY1N0cmlu
Z0ltcGwqIGZvcm1LZXkpCisgICAgOiBtX25hbWUobmFtZSkKKyAgICAsIG1fdHlwZSh0eXBlKQor
ICAgICwgbV9mb3JtS2V5KGZvcm1LZXkpCit7CisgICAgcmVmKCk7Cit9CisKK0Zvcm1FbGVtZW50
S2V5Ojp+Rm9ybUVsZW1lbnRLZXkoKQoreworICAgIGRlcmVmKCk7Cit9CisKK0Zvcm1FbGVtZW50
S2V5OjpGb3JtRWxlbWVudEtleShjb25zdCBGb3JtRWxlbWVudEtleSYgb3RoZXIpCisgICAgOiBt
X25hbWUob3RoZXIubmFtZSgpKQorICAgICwgbV90eXBlKG90aGVyLnR5cGUoKSkKKyAgICAsIG1f
Zm9ybUtleShvdGhlci5mb3JtS2V5KCkpCit7CisgICAgcmVmKCk7Cit9CisKK0Zvcm1FbGVtZW50
S2V5JiBGb3JtRWxlbWVudEtleTo6b3BlcmF0b3I9KGNvbnN0IEZvcm1FbGVtZW50S2V5JiBvdGhl
cikKK3sKKyAgICBvdGhlci5yZWYoKTsKKyAgICBkZXJlZigpOworICAgIG1fbmFtZSA9IG90aGVy
Lm5hbWUoKTsKKyAgICBtX3R5cGUgPSBvdGhlci50eXBlKCk7CisgICAgbV9mb3JtS2V5ID0gb3Ro
ZXIuZm9ybUtleSgpOworICAgIHJldHVybiAqdGhpczsKK30KKwordm9pZCBGb3JtRWxlbWVudEtl
eTo6cmVmKCkgY29uc3QKK3sKKyAgICBpZiAobmFtZSgpKQorICAgICAgICBuYW1lKCktPnJlZigp
OworICAgIGlmICh0eXBlKCkpCisgICAgICAgIHR5cGUoKS0+cmVmKCk7CisgICAgaWYgKGZvcm1L
ZXkoKSkKKyAgICAgICAgZm9ybUtleSgpLT5yZWYoKTsKK30KKwordm9pZCBGb3JtRWxlbWVudEtl
eTo6ZGVyZWYoKSBjb25zdAoreworICAgIGlmIChuYW1lKCkpCisgICAgICAgIG5hbWUoKS0+ZGVy
ZWYoKTsKKyAgICBpZiAodHlwZSgpKQorICAgICAgICB0eXBlKCktPmRlcmVmKCk7CisgICAgaWYg
KGZvcm1LZXkoKSkKKyAgICAgICAgZm9ybUtleSgpLT5kZXJlZigpOworfQorCitpbmxpbmUgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IEZvcm1FbGVtZW50S2V5JiBhLCBjb25zdCBGb3JtRWxlbWVudEtl
eSYgYikKK3sKKyAgICByZXR1cm4gYS5uYW1lKCkgPT0gYi5uYW1lKCkgJiYgYS50eXBlKCkgPT0g
Yi50eXBlKCkgJiYgYS5mb3JtS2V5KCkgPT0gYi5mb3JtS2V5KCk7Cit9CisKK3N0cnVjdCBGb3Jt
RWxlbWVudEtleUhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEZvcm1FbGVt
ZW50S2V5Jik7CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgRm9ybUVsZW1lbnRLZXkmIGEs
IGNvbnN0IEZvcm1FbGVtZW50S2V5JiBiKSB7IHJldHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMg
Y29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCit1
bnNpZ25lZCBGb3JtRWxlbWVudEtleUhhc2g6Omhhc2goY29uc3QgRm9ybUVsZW1lbnRLZXkmIGtl
eSkKK3sKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihGb3JtRWxl
bWVudEtleSk+KCZrZXkpOworfQorCitzdHJ1Y3QgRm9ybUVsZW1lbnRLZXlIYXNoVHJhaXRzIDog
V1RGOjpHZW5lcmljSGFzaFRyYWl0czxGb3JtRWxlbWVudEtleT4geworICAgIHN0YXRpYyB2b2lk
IGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShGb3JtRWxlbWVudEtleSYgc2xvdCkgeyBuZXcgKE5vdE51
bGwsICZzbG90KSBGb3JtRWxlbWVudEtleShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSk7IH0K
KyAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBGb3JtRWxlbWVudEtleSYgdmFs
dWUpIHsgcmV0dXJuIHZhbHVlLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0KK307CisKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworY2xhc3MgU2F2ZWRGb3JtU3RhdGUgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFNhdmVkRm9ybVN0YXRlPiBjcmVhdGUoKTsKKyAgICBib29s
IGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmlzRW1w
dHkoKTsgfQorICAgIHZvaWQgYXBwZW5kQ29udHJvbFN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1L
ZXksIGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKTsKKyAgICBGb3JtQ29udHJvbFN0YXRlIHRha2VD
b250cm9sU3RhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUtleSk7CisKK3ByaXZhdGU6CisgICAgU2F2
ZWRGb3JtU3RhdGUoKSB7IH0KKworICAgIHR5cGVkZWYgSGFzaE1hcDxGb3JtRWxlbWVudEtleSwg
RGVxdWU8Rm9ybUNvbnRyb2xTdGF0ZT4sIEZvcm1FbGVtZW50S2V5SGFzaCwgRm9ybUVsZW1lbnRL
ZXlIYXNoVHJhaXRzPiBGb3JtRWxlbWVudFN0YXRlTWFwOworICAgIEZvcm1FbGVtZW50U3RhdGVN
YXAgbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50czsKK307CisKK1Bhc3NPd25QdHI8U2F2ZWRGb3Jt
U3RhdGU+IFNhdmVkRm9ybVN0YXRlOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgU2F2ZWRGb3JtU3RhdGUpOworfQorCit2b2lkIFNhdmVkRm9ybVN0YXRlOjphcHBlbmRDb250
cm9sU3RhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUtleSwgY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYg
c3RhdGUpCit7CisgICAgRm9ybUVsZW1lbnRLZXkga2V5KG5hbWUuaW1wbCgpLCB0eXBlLmltcGwo
KSwgZm9ybUtleS5pbXBsKCkpOworICAgIEZvcm1FbGVtZW50U3RhdGVNYXA6Oml0ZXJhdG9yIGl0
ID0gbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50cy5maW5kKGtleSk7CisgICAgaWYgKGl0ICE9IG1f
c3RhdGVGb3JOZXdGb3JtRWxlbWVudHMuZW5kKCkpCisgICAgICAgIGl0LT5zZWNvbmQuYXBwZW5k
KHN0YXRlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgRGVxdWU8Rm9ybUNvbnRyb2xTdGF0ZT4gc3Rh
dGVMaXN0OworICAgICAgICBzdGF0ZUxpc3QuYXBwZW5kKHN0YXRlKTsKKyAgICAgICAgbV9zdGF0
ZUZvck5ld0Zvcm1FbGVtZW50cy5zZXQoa2V5LCBzdGF0ZUxpc3QpOworICAgIH0KK30KKworRm9y
bUNvbnRyb2xTdGF0ZSBTYXZlZEZvcm1TdGF0ZTo6dGFrZUNvbnRyb2xTdGF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmb3JtS2V5KQoreworICAgIGlmIChtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIEZvcm1Db250cm9sU3RhdGUoKTsKKyAgICBGb3JtRWxlbWVu
dFN0YXRlTWFwOjppdGVyYXRvciBpdCA9IG1fc3RhdGVGb3JOZXdGb3JtRWxlbWVudHMuZmluZChG
b3JtRWxlbWVudEtleShuYW1lLmltcGwoKSwgdHlwZS5pbXBsKCksIGZvcm1LZXkuaW1wbCgpKSk7
CisgICAgaWYgKGl0ID09IG1fc3RhdGVGb3JOZXdGb3JtRWxlbWVudHMuZW5kKCkpCisgICAgICAg
IHJldHVybiBGb3JtQ29udHJvbFN0YXRlKCk7CisgICAgQVNTRVJUKGl0LT5zZWNvbmQuc2l6ZSgp
KTsKKyAgICBGb3JtQ29udHJvbFN0YXRlIHN0YXRlID0gaXQtPnNlY29uZC50YWtlRmlyc3QoKTsK
KyAgICBpZiAoIWl0LT5zZWNvbmQuc2l6ZSgpKQorICAgICAgICBtX3N0YXRlRm9yTmV3Rm9ybUVs
ZW1lbnRzLnJlbW92ZShpdCk7CisgICAgcmV0dXJuIHN0YXRlOworfQorCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisKIGNsYXNzIEZvcm1LZXlHZW5lcmF0b3IgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvcm1LZXlHZW5lcmF0b3IpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpA
QCAtMTkwLDcgKzMzOCw2IEBAIHN0YXRpYyBib29sIGlzTm90Rm9ybUNvbnRyb2xUeXBlQ2hhcmFj
dGVyKFVDaGFyIGNoKQogCiB2b2lkIEZvcm1Db250cm9sbGVyOjpzZXRTdGF0ZUZvck5ld0Zvcm1F
bGVtZW50cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhdGVWZWN0b3IpCiB7Ci0gICAgdHlwZWRl
ZiBGb3JtRWxlbWVudFN0YXRlTWFwOjppdGVyYXRvciBJdGVyYXRvcjsKICAgICBtX2Zvcm1FbGVt
ZW50c1dpdGhTdGF0ZS5jbGVhcigpOwogCiAgICAgc2l6ZV90IGkgPSAwOwpAQCAtMjA0LDM4ICsz
NTEsMjMgQEAgdm9pZCBGb3JtQ29udHJvbGxlcjo6c2V0U3RhdGVGb3JOZXdGb3JtRWxlbWVudHMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIHN0YXRlVmVjdG8KICAgICAgICAgRm9ybUNvbnRyb2xTdGF0
ZSBzdGF0ZSA9IEZvcm1Db250cm9sU3RhdGU6OmRlc2VyaWFsaXplKHN0YXRlVmVjdG9yLCBpKTsK
ICAgICAgICAgaWYgKHR5cGUuaXNFbXB0eSgpIHx8IHR5cGUuaW1wbCgpLT5maW5kKGlzTm90Rm9y
bUNvbnRyb2xUeXBlQ2hhcmFjdGVyKSAhPSBub3RGb3VuZCB8fCBzdGF0ZS5pc0ZhaWx1cmUoKSkK
ICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIEZvcm1FbGVtZW50S2V5IGtleShuYW1lLmlt
cGwoKSwgdHlwZS5pbXBsKCksIGZvcm1LZXkuaW1wbCgpKTsKLSAgICAgICAgSXRlcmF0b3IgaXQg
PSBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmZpbmQoa2V5KTsKLSAgICAgICAgaWYgKGl0ICE9
IG1fc3RhdGVGb3JOZXdGb3JtRWxlbWVudHMuZW5kKCkpCi0gICAgICAgICAgICBpdC0+c2Vjb25k
LmFwcGVuZChzdGF0ZSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgRGVxdWU8Rm9ybUNv
bnRyb2xTdGF0ZT4gc3RhdGVMaXN0OwotICAgICAgICAgICAgc3RhdGVMaXN0LmFwcGVuZChzdGF0
ZSk7Ci0gICAgICAgICAgICBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLnNldChrZXksIHN0YXRl
TGlzdCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFtX3NhdmVkRm9ybVN0YXRlKQorICAgICAg
ICAgICAgbV9zYXZlZEZvcm1TdGF0ZSA9IFNhdmVkRm9ybVN0YXRlOjpjcmVhdGUoKTsKKyAgICAg
ICAgbV9zYXZlZEZvcm1TdGF0ZS0+YXBwZW5kQ29udHJvbFN0YXRlKG5hbWUsIHR5cGUsIGZvcm1L
ZXksIHN0YXRlKTsKICAgICB9CiAgICAgaWYgKGkgIT0gc3RhdGVWZWN0b3Iuc2l6ZSgpKQotICAg
ICAgICBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmNsZWFyKCk7CisgICAgICAgIG1fc2F2ZWRG
b3JtU3RhdGUuY2xlYXIoKTsKIH0KIAogRm9ybUNvbnRyb2xTdGF0ZSBGb3JtQ29udHJvbGxlcjo6
dGFrZVN0YXRlRm9yRm9ybUVsZW1lbnQoY29uc3QgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhT
dGF0ZSYgY29udHJvbCkKIHsKLSAgICBpZiAobV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50cy5pc0Vt
cHR5KCkpCisgICAgaWYgKCFtX3NhdmVkRm9ybVN0YXRlKQogICAgICAgICByZXR1cm4gRm9ybUNv
bnRyb2xTdGF0ZSgpOwogICAgIGlmICghbV9mb3JtS2V5R2VuZXJhdG9yKQogICAgICAgICBtX2Zv
cm1LZXlHZW5lcmF0b3IgPSBGb3JtS2V5R2VuZXJhdG9yOjpjcmVhdGUoKTsKLSAgICB0eXBlZGVm
IEZvcm1FbGVtZW50U3RhdGVNYXA6Oml0ZXJhdG9yIEl0ZXJhdG9yOwotICAgIEl0ZXJhdG9yIGl0
ID0gbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50cy5maW5kKEZvcm1FbGVtZW50S2V5KGNvbnRyb2wu
bmFtZSgpLmltcGwoKSwgY29udHJvbC50eXBlKCkuaW1wbCgpLCBtX2Zvcm1LZXlHZW5lcmF0b3It
PmZvcm1LZXkoY29udHJvbCkuaW1wbCgpKSk7Ci0gICAgaWYgKGl0ID09IG1fc3RhdGVGb3JOZXdG
b3JtRWxlbWVudHMuZW5kKCkpCi0gICAgICAgIHJldHVybiBGb3JtQ29udHJvbFN0YXRlKCk7Ci0g
ICAgQVNTRVJUKGl0LT5zZWNvbmQuc2l6ZSgpKTsKLSAgICBGb3JtQ29udHJvbFN0YXRlIHN0YXRl
ID0gaXQtPnNlY29uZC50YWtlRmlyc3QoKTsKLSAgICBpZiAoIWl0LT5zZWNvbmQuc2l6ZSgpKSB7
Ci0gICAgICAgIG1fc3RhdGVGb3JOZXdGb3JtRWxlbWVudHMucmVtb3ZlKGl0KTsKLSAgICAgICAg
aWYgKG1fc3RhdGVGb3JOZXdGb3JtRWxlbWVudHMuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9m
b3JtS2V5R2VuZXJhdG9yLmNsZWFyKCk7Ci0gICAgfQorICAgIEZvcm1Db250cm9sU3RhdGUgc3Rh
dGUgPSBtX3NhdmVkRm9ybVN0YXRlLT50YWtlQ29udHJvbFN0YXRlKGNvbnRyb2wubmFtZSgpLCBj
b250cm9sLnR5cGUoKSwgbV9mb3JtS2V5R2VuZXJhdG9yLT5mb3JtS2V5KGNvbnRyb2wpKTsKKyAg
ICBpZiAobV9zYXZlZEZvcm1TdGF0ZS0+aXNFbXB0eSgpKQorICAgICAgICBtX3NhdmVkRm9ybVN0
YXRlLmNsZWFyKCk7CiAgICAgcmV0dXJuIHN0YXRlOwogfQogCkBAIC0yNzYsNjEgKzQwOCw1IEBA
IHZvaWQgRm9ybUNvbnRyb2xsZXI6OnJlc3RvcmVDb250cm9sU3RhdGVJbihIVE1MRm9ybUVsZW1l
bnQmIGZvcm0pCiAgICAgfQogfQogCi1Gb3JtRWxlbWVudEtleTo6Rm9ybUVsZW1lbnRLZXkoQXRv
bWljU3RyaW5nSW1wbCogbmFtZSwgQXRvbWljU3RyaW5nSW1wbCogdHlwZSwgQXRvbWljU3RyaW5n
SW1wbCogZm9ybUtleSkKLSAgICA6IG1fbmFtZShuYW1lKQotICAgICwgbV90eXBlKHR5cGUpCi0g
ICAgLCBtX2Zvcm1LZXkoZm9ybUtleSkKLXsKLSAgICByZWYoKTsKLX0KLQotRm9ybUVsZW1lbnRL
ZXk6On5Gb3JtRWxlbWVudEtleSgpCi17Ci0gICAgZGVyZWYoKTsKLX0KLQotRm9ybUVsZW1lbnRL
ZXk6OkZvcm1FbGVtZW50S2V5KGNvbnN0IEZvcm1FbGVtZW50S2V5JiBvdGhlcikKLSAgICA6IG1f
bmFtZShvdGhlci5uYW1lKCkpCi0gICAgLCBtX3R5cGUob3RoZXIudHlwZSgpKQotICAgICwgbV9m
b3JtS2V5KG90aGVyLmZvcm1LZXkoKSkKLXsKLSAgICByZWYoKTsKLX0KLQotRm9ybUVsZW1lbnRL
ZXkmIEZvcm1FbGVtZW50S2V5OjpvcGVyYXRvcj0oY29uc3QgRm9ybUVsZW1lbnRLZXkmIG90aGVy
KQotewotICAgIG90aGVyLnJlZigpOwotICAgIGRlcmVmKCk7Ci0gICAgbV9uYW1lID0gb3RoZXIu
bmFtZSgpOwotICAgIG1fdHlwZSA9IG90aGVyLnR5cGUoKTsKLSAgICBtX2Zvcm1LZXkgPSBvdGhl
ci5mb3JtS2V5KCk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi12b2lkIEZvcm1FbGVtZW50S2V5
OjpyZWYoKSBjb25zdAotewotICAgIGlmIChuYW1lKCkpCi0gICAgICAgIG5hbWUoKS0+cmVmKCk7
Ci0gICAgaWYgKHR5cGUoKSkKLSAgICAgICAgdHlwZSgpLT5yZWYoKTsKLSAgICBpZiAoZm9ybUtl
eSgpKQotICAgICAgICBmb3JtS2V5KCktPnJlZigpOwotfQotCi12b2lkIEZvcm1FbGVtZW50S2V5
OjpkZXJlZigpIGNvbnN0Ci17Ci0gICAgaWYgKG5hbWUoKSkKLSAgICAgICAgbmFtZSgpLT5kZXJl
ZigpOwotICAgIGlmICh0eXBlKCkpCi0gICAgICAgIHR5cGUoKS0+ZGVyZWYoKTsKLSAgICBpZiAo
Zm9ybUtleSgpKQotICAgICAgICBmb3JtS2V5KCktPmRlcmVmKCk7Ci19Ci0KLXVuc2lnbmVkIEZv
cm1FbGVtZW50S2V5SGFzaDo6aGFzaChjb25zdCBGb3JtRWxlbWVudEtleSYga2V5KQotewotICAg
IHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnk8c2l6ZW9mKEZvcm1FbGVtZW50S2V5KT4o
JmtleSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3Jt
Q29udHJvbGxlci5oCmluZGV4IDQ1Mjg0ODNlZDc3NDJjYWZlMGE0ZjI3OTgyZTc4ZWQxZjg5YmEz
NzUuLjJkZDdiMjIwMjliN2ZkZjEwZGRhMGMyYzVhY2QxYTcxNGQzYzg0MzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Zvcm1Db250cm9sbGVyLmgKQEAgLTM1LDQ4ICszNSw3IEBAIGNsYXNzIEZvcm1Bc3Nv
Y2lhdGVkRWxlbWVudDsKIGNsYXNzIEZvcm1LZXlHZW5lcmF0b3I7CiBjbGFzcyBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50V2l0aFN0YXRlOwogY2xhc3MgSFRNTEZvcm1FbGVtZW50OwotCi1jbGFzcyBG
b3JtRWxlbWVudEtleSB7Ci1wdWJsaWM6Ci0gICAgRm9ybUVsZW1lbnRLZXkoQXRvbWljU3RyaW5n
SW1wbCogPSAwLCBBdG9taWNTdHJpbmdJbXBsKiA9IDAsIEF0b21pY1N0cmluZ0ltcGwqID0gMCk7
Ci0gICAgfkZvcm1FbGVtZW50S2V5KCk7Ci0gICAgRm9ybUVsZW1lbnRLZXkoY29uc3QgRm9ybUVs
ZW1lbnRLZXkmKTsKLSAgICBGb3JtRWxlbWVudEtleSYgb3BlcmF0b3I9KGNvbnN0IEZvcm1FbGVt
ZW50S2V5Jik7Ci0KLSAgICBBdG9taWNTdHJpbmdJbXBsKiBuYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9uYW1lOyB9Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQotICAgIEF0b21pY1N0cmluZ0ltcGwqIGZvcm1LZXkoKSBjb25zdCB7IHJldHVybiBt
X2Zvcm1LZXk7IH0KLQotICAgIC8vIEhhc2ggdGFibGUgZGVsZXRlZCB2YWx1ZXMsIHdoaWNoIGFy
ZSBvbmx5IGNvbnN0cnVjdGVkIGFuZCBuZXZlciBjb3BpZWQgb3IgZGVzdHJveWVkLgotICAgIEZv
cm1FbGVtZW50S2V5KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX25hbWUoaGFz
aFRhYmxlRGVsZXRlZFZhbHVlKCkpIHsgfQotICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX25hbWUgPT0gaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0K
LQotcHJpdmF0ZToKLSAgICB2b2lkIHJlZigpIGNvbnN0OwotICAgIHZvaWQgZGVyZWYoKSBjb25z
dDsKLQotICAgIHN0YXRpYyBBdG9taWNTdHJpbmdJbXBsKiBoYXNoVGFibGVEZWxldGVkVmFsdWUo
KSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEF0b21pY1N0cmluZ0ltcGwqPigtMSk7IH0KLQot
ICAgIEF0b21pY1N0cmluZ0ltcGwqIG1fbmFtZTsKLSAgICBBdG9taWNTdHJpbmdJbXBsKiBtX3R5
cGU7Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogbV9mb3JtS2V5OwotfTsKLQotaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBGb3JtRWxlbWVudEtleSYgYSwgY29uc3QgRm9ybUVsZW1lbnRLZXkm
IGIpCi17Ci0gICAgcmV0dXJuIGEubmFtZSgpID09IGIubmFtZSgpICYmIGEudHlwZSgpID09IGIu
dHlwZSgpICYmIGEuZm9ybUtleSgpID09IGIuZm9ybUtleSgpOwotfQotCi1zdHJ1Y3QgRm9ybUVs
ZW1lbnRLZXlIYXNoIHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBGb3JtRWxlbWVu
dEtleSYpOwotICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IEZvcm1FbGVtZW50S2V5JiBhLCBj
b25zdCBGb3JtRWxlbWVudEtleSYgYikgeyByZXR1cm4gYSA9PSBiOyB9Ci0gICAgc3RhdGljIGNv
bnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotfTsKLQotc3Ry
dWN0IEZvcm1FbGVtZW50S2V5SGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8Rm9y
bUVsZW1lbnRLZXk+IHsKLSAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoRm9y
bUVsZW1lbnRLZXkmIHNsb3QpIHsgbmV3IChOb3ROdWxsLCAmc2xvdCkgRm9ybUVsZW1lbnRLZXko
V1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWUpOyB9Ci0gICAgc3RhdGljIGJvb2wgaXNEZWxldGVk
VmFsdWUoY29uc3QgRm9ybUVsZW1lbnRLZXkmIHZhbHVlKSB7IHJldHVybiB2YWx1ZS5pc0hhc2hU
YWJsZURlbGV0ZWRWYWx1ZSgpOyB9Ci19OworY2xhc3MgU2F2ZWRGb3JtU3RhdGU7CiAKIGNsYXNz
IEZvcm1Db250cm9sU3RhdGUgewogcHVibGljOgpAQCAtMTQyLDggKzEwMSw3IEBAIHByaXZhdGU6
CiAgICAgdHlwZWRlZiBMaXN0SGFzaFNldDxIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
KiwgNjQ+IEZvcm1FbGVtZW50TGlzdEhhc2hTZXQ7CiAgICAgRm9ybUVsZW1lbnRMaXN0SGFzaFNl
dCBtX2Zvcm1FbGVtZW50c1dpdGhTdGF0ZTsKIAotICAgIHR5cGVkZWYgSGFzaE1hcDxGb3JtRWxl
bWVudEtleSwgRGVxdWU8Rm9ybUNvbnRyb2xTdGF0ZT4sIEZvcm1FbGVtZW50S2V5SGFzaCwgRm9y
bUVsZW1lbnRLZXlIYXNoVHJhaXRzPiBGb3JtRWxlbWVudFN0YXRlTWFwOwotICAgIEZvcm1FbGVt
ZW50U3RhdGVNYXAgbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50czsKKyAgICBPd25QdHI8U2F2ZWRG
b3JtU3RhdGU+IG1fc2F2ZWRGb3JtU3RhdGU7CiAgICAgT3duUHRyPEZvcm1LZXlHZW5lcmF0b3I+
IG1fZm9ybUtleUdlbmVyYXRvcjsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>