<?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>41703</bug_id>
          
          <creation_ts>2010-07-06 09:52:17 -0700</creation_ts>
          <short_desc>Simplify access to element attribute map, removing unneeded functions</short_desc>
          <delta_ts>2010-07-06 14:21:56 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247108</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-06 09:52:17 -0700</bug_when>
    <thetext>Simplify access to element attribute map, removing unneeded functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247133</commentid>
    <comment_count>1</comment_count>
      <attachid>60641</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-06 11:00:08 -0700</bug_when>
    <thetext>Created attachment 60641
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247145</commentid>
    <comment_count>2</comment_count>
      <attachid>60641</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-07-06 11:19:21 -0700</bug_when>
    <thetext>Comment on attachment 60641
Patch

WebCore/ChangeLog:10
 +          attributeMap ufnction instead of the mappedAttributes function.
Typo: Should be &quot;function&quot;.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247210</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-06 14:21:56 -0700</bug_when>
    <thetext>Committed r62596: &lt;http://trac.webkit.org/changeset/62596&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60641</attachid>
            <date>2010-07-06 11:00:08 -0700</date>
            <delta_ts>2010-07-06 11:19:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41703-20100706110006.patch</filename>
            <type>text/plain</type>
            <size>20936</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjU1OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMTAtMDctMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbXBs
aWZ5IGFjY2VzcyB0byBlbGVtZW50IGF0dHJpYnV0ZSBtYXAsIHJlbW92aW5nIHVubmVlZGVkIGZ1
bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDE3MDMKKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVXaXRoRWxlbWVudCk6IFVzZSB0
aGUKKyAgICAgICAgYXR0cmlidXRlTWFwIHVmbmN0aW9uIGluc3RlYWQgb2YgdGhlIG1hcHBlZEF0
dHJpYnV0ZXMgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpz
dHlsZUZvckVsZW1lbnQpOiBEaXR0by4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6On5FbGVtZW50KTogUmVuYW1lZCBuYW1lZEF0dHJNYXAg
dG8gbV9hdHRyaWJ1dGVNYXAuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVBdHRy
aWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEF0dHJpYnV0ZSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0QXR0cmlidXRlKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRyaWJ1dGVNYXApOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omhhc0F0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmNyZWF0ZUF0dHJpYnV0ZU1hcCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmdldFVSTEF0dHJpYnV0ZSk6IERpdHRvLgorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuaDogUmVtb3ZlZCB1bm5lZWRlZCB2aXJ0dWFsIGF0dHJpYnV0ZXMgZnVuY3Rp
b24uCisgICAgICAgIE1hZGUgcmVhZC1vbmx5IGFyZ3VtZW50IHRvIGF0dHJpYnV0ZXMgZnVuY3Rp
b24gZGVmYXVsdCB0byBmYWxzZS4KKyAgICAgICAgKExhdGVyLCB3ZSdsbCBlbGltaW5hdGUgdGhp
cy4pIFJlbmFtZWQgbmFtZWRBdHRyTWFwIHRvIG1fYXR0cmlidXRlTWFwCisgICAgICAgIGFuZCBt
YWRlIGl0IHByaXZhdGUgaW5zdGVhZCBvZiBwcm90ZWN0ZWQuCisKKyAgICAgICAgKiBkb20vU3R5
bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjphdHRyaWJ1
dGVDaGFuZ2VkKTogVXNlIGF0dHJpYnV0ZU1hcCBmdW5jdGlvbgorICAgICAgICBpbnN0ZWFkIG9m
IG5hbWVkQXR0ck1hcCBkYXRhIG1lbWJlciBvciBtYXBwZWRBdHRyaWJ1dGVzIGZ1bmN0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZSk6IERpdHRvLgorCisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDogUmVtb3ZlZCBt
YXBwZWRBdHRyaWJ1dGVzIGZ1bmN0aW9uIGFuZCBjaGFuZ2VkCisgICAgICAgIGNhbGxlcnMgdG8g
dXNlIGF0dHJpYnV0ZU1hcCBmdW5jdGlvbiBpbnN0ZWFkLgorCisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNl
dElucHV0VHlwZSk6IFVzZSBhdHRyaWJ1dGVNYXAgaW5zdGVhZCBvZgorICAgICAgICBtYXBwZWRB
dHRyaWJ1dGVzLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZSk6IERp
dHRvLgorCiAyMDEwLTA3LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggQ2Fpcm8gYnVpbGQuCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2
aXNpb24gNjI1NTEpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpjYW5T
aGFyZVN0eWxlV2l0aAogICAgICAgICAgICAgaWYgKGNsYXNzZXNNYXRjaCkgewogICAgICAgICAg
ICAgICAgIGJvb2wgbWFwcGVkQXR0cnNNYXRjaCA9IHRydWU7CiAgICAgICAgICAgICAgICAgaWYg
KHMtPmhhc01hcHBlZEF0dHJpYnV0ZXMoKSkKLSAgICAgICAgICAgICAgICAgICAgbWFwcGVkQXR0
cnNNYXRjaCA9IHMtPm1hcHBlZEF0dHJpYnV0ZXMoKS0+bWFwcGVkTWFwc0VxdWl2YWxlbnQobV9z
dHlsZWRFbGVtZW50LT5tYXBwZWRBdHRyaWJ1dGVzKCkpOworICAgICAgICAgICAgICAgICAgICBt
YXBwZWRBdHRyc01hdGNoID0gcy0+YXR0cmlidXRlTWFwKCktPm1hcHBlZE1hcHNFcXVpdmFsZW50
KG1fc3R5bGVkRWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOwogICAgICAgICAgICAgICAgIGlmICht
YXBwZWRBdHRyc01hdGNoKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChzLT5pc0xpbmsoKSkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZWxlbWVudExpbmtTdGF0ZSAhPSBzdHls
ZS0+aW5zaWRlTGluaygpKQpAQCAtMTI1OCw3ICsxMjU4LDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJT
dHlsZT4gQ1NTU3R5bGVTZWxlY3RvcgogICAgICAgICAgICAgLy8gQXNrIGlmIHRoZSBIVE1MIGVs
ZW1lbnQgaGFzIG1hcHBlZCBhdHRyaWJ1dGVzLgogICAgICAgICAgICAgaWYgKG1fc3R5bGVkRWxl
bWVudC0+aGFzTWFwcGVkQXR0cmlidXRlcygpKSB7CiAgICAgICAgICAgICAgICAgLy8gV2FsayBv
dXIgYXR0cmlidXRlIGxpc3QgYW5kIGFkZCBpbiBlYWNoIGRlY2wuCi0gICAgICAgICAgICAgICAg
Y29uc3QgTmFtZWROb2RlTWFwKiBtYXAgPSBtX3N0eWxlZEVsZW1lbnQtPm1hcHBlZEF0dHJpYnV0
ZXMoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBOYW1lZE5vZGVNYXAqIG1hcCA9IG1fc3R5bGVk
RWxlbWVudC0+YXR0cmlidXRlTWFwKCk7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1hcC0+bGVuZ3RoKCk7IGkrKykgewogICAgICAgICAgICAgICAgICAgICBBdHRy
aWJ1dGUqIGF0dHIgPSBtYXAtPmF0dHJpYnV0ZUl0ZW0oaSk7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChhdHRyLT5pc01hcHBlZEF0dHJpYnV0ZSgpICYmIGF0dHItPmRlY2woKSkgewpJbmRleDog
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDYyNTUxKQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTcwLDggKzcwLDggQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBFbGVtZW50Ojpj
cmVhdGUoY29ucwogCiBFbGVtZW50Ojp+RWxlbWVudCgpCiB7Ci0gICAgaWYgKG5hbWVkQXR0ck1h
cCkKLSAgICAgICAgbmFtZWRBdHRyTWFwLT5kZXRhY2hGcm9tRWxlbWVudCgpOworICAgIGlmICht
X2F0dHJpYnV0ZU1hcCkKKyAgICAgICAgbV9hdHRyaWJ1dGVNYXAtPmRldGFjaEZyb21FbGVtZW50
KCk7CiB9CiAKIGlubGluZSBFbGVtZW50UmFyZURhdGEqIEVsZW1lbnQ6OnJhcmVEYXRhKCkgY29u
c3QKQEAgLTE2NSw5ICsxNjUsOSBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IEVsZW1lbnQ6OmNsb25l
RWxlbWVuCiAKIHZvaWQgRWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGlmIChuYW1lZEF0dHJNYXApIHsK
KyAgICBpZiAobV9hdHRyaWJ1dGVNYXApIHsKICAgICAgICAgZWMgPSAwOwotICAgICAgICBuYW1l
ZEF0dHJNYXAtPnJlbW92ZU5hbWVkSXRlbShuYW1lLCBlYyk7CisgICAgICAgIG1fYXR0cmlidXRl
TWFwLT5yZW1vdmVOYW1lZEl0ZW0obmFtZSwgZWMpOwogICAgICAgICBpZiAoZWMgPT0gTk9UX0ZP
VU5EX0VSUikKICAgICAgICAgICAgIGVjID0gMDsKICAgICB9CkBAIC0xOTUsMTIgKzE5NSw2IEBA
IHZvaWQgRWxlbWVudDo6c2V0Qm9vbGVhbkF0dHJpYnV0ZShjb25zdCAKICAgICB9CiB9CiAKLS8v
IFZpcnR1YWwgZnVuY3Rpb24sIGRlZmluZWQgaW4gYmFzZSBjbGFzcy4KLU5hbWVkTm9kZU1hcCog
RWxlbWVudDo6YXR0cmlidXRlcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGF0dHJpYnV0ZXMoZmFs
c2UpOwotfQotCiBOb2RlOjpOb2RlVHlwZSBFbGVtZW50Ojpub2RlVHlwZSgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIEVMRU1FTlRfTk9ERTsKQEAgLTUyNiw4ICs1MjAsOCBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAobmFt
ZWRBdHRyTWFwKSB7Ci0gICAgICAgIGlmIChBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IG5hbWVkQXR0
ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShuYW1lLCBpZ25vcmVDYXNlKSkKKyAgICBpZiAobV9hdHRy
aWJ1dGVNYXApIHsKKyAgICAgICAgaWYgKEF0dHJpYnV0ZSogYXR0cmlidXRlID0gbV9hdHRyaWJ1
dGVNYXAtPmdldEF0dHJpYnV0ZUl0ZW0obmFtZSwgaWdub3JlQ2FzZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gYXR0cmlidXRlLT52YWx1ZSgpOwogICAgIH0KIApAQCAtNTYwLDkgKzU1NCw5IEBAIHZv
aWQgRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IEF0b21pY1MKICAgICAgICAgdXBkYXRlSWQo
b2xkID8gb2xkLT52YWx1ZSgpIDogbnVsbEF0b20sIHZhbHVlKTsKIAogICAgIGlmIChvbGQgJiYg
dmFsdWUuaXNOdWxsKCkpCi0gICAgICAgIG5hbWVkQXR0ck1hcC0+cmVtb3ZlQXR0cmlidXRlKG9s
ZC0+bmFtZSgpKTsKKyAgICAgICAgbV9hdHRyaWJ1dGVNYXAtPnJlbW92ZUF0dHJpYnV0ZShvbGQt
Pm5hbWUoKSk7CiAgICAgZWxzZSBpZiAoIW9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpCi0gICAgICAg
IG5hbWVkQXR0ck1hcC0+YWRkQXR0cmlidXRlKGNyZWF0ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1l
KG51bGxBdG9tLCBsb2NhbE5hbWUsIG51bGxBdG9tKSwgdmFsdWUpKTsKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAtPmFkZEF0dHJpYnV0ZShjcmVhdGVBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShudWxs
QXRvbSwgbG9jYWxOYW1lLCBudWxsQXRvbSksIHZhbHVlKSk7CiAgICAgZWxzZSBpZiAob2xkICYm
ICF2YWx1ZS5pc051bGwoKSkgewogICAgICAgICBvbGQtPnNldFZhbHVlKHZhbHVlKTsKICAgICAg
ICAgYXR0cmlidXRlQ2hhbmdlZChvbGQpOwpAQCAtNTg5LDkgKzU4Myw5IEBAIHZvaWQgRWxlbWVu
dDo6c2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmkKICAgICAgICAgdXBkYXRlSWQob2xkID8gb2xk
LT52YWx1ZSgpIDogbnVsbEF0b20sIHZhbHVlKTsKIAogICAgIGlmIChvbGQgJiYgdmFsdWUuaXNO
dWxsKCkpCi0gICAgICAgIG5hbWVkQXR0ck1hcC0+cmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICAg
ICAgICBtX2F0dHJpYnV0ZU1hcC0+cmVtb3ZlQXR0cmlidXRlKG5hbWUpOwogICAgIGVsc2UgaWYg
KCFvbGQgJiYgIXZhbHVlLmlzTnVsbCgpKQotICAgICAgICBuYW1lZEF0dHJNYXAtPmFkZEF0dHJp
YnV0ZShjcmVhdGVBdHRyaWJ1dGUobmFtZSwgdmFsdWUpKTsKKyAgICAgICAgbV9hdHRyaWJ1dGVN
YXAtPmFkZEF0dHJpYnV0ZShjcmVhdGVBdHRyaWJ1dGUobmFtZSwgdmFsdWUpKTsKICAgICBlbHNl
IGlmIChvbGQpIHsKICAgICAgICAgb2xkLT5zZXRWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGF0dHJp
YnV0ZUNoYW5nZWQob2xkKTsKQEAgLTY3MCwzOCArNjY0LDM4IEBAIHZvaWQgRWxlbWVudDo6c2V0
QXR0cmlidXRlTWFwKFBhc3NSZWZQdHIKICAgICAvLyBJZiBzZXR0aW5nIHRoZSB3aG9sZSBtYXAg
Y2hhbmdlcyB0aGUgaWQgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGNhbGwgdXBkYXRlSWQuCiAKICAg
ICBjb25zdCBRdWFsaWZpZWROYW1lJiBpZE5hbWUgPSBkb2N1bWVudCgpLT5pZEF0dHJpYnV0ZU5h
bWUoKTsKLSAgICBBdHRyaWJ1dGUqIG9sZElkID0gbmFtZWRBdHRyTWFwID8gbmFtZWRBdHRyTWFw
LT5nZXRBdHRyaWJ1dGVJdGVtKGlkTmFtZSkgOiAwOworICAgIEF0dHJpYnV0ZSogb2xkSWQgPSBt
X2F0dHJpYnV0ZU1hcCA/IG1fYXR0cmlidXRlTWFwLT5nZXRBdHRyaWJ1dGVJdGVtKGlkTmFtZSkg
OiAwOwogICAgIEF0dHJpYnV0ZSogbmV3SWQgPSBsaXN0ID8gbGlzdC0+Z2V0QXR0cmlidXRlSXRl
bShpZE5hbWUpIDogMDsKIAogICAgIGlmIChvbGRJZCB8fCBuZXdJZCkKICAgICAgICAgdXBkYXRl
SWQob2xkSWQgPyBvbGRJZC0+dmFsdWUoKSA6IG51bGxBdG9tLCBuZXdJZCA/IG5ld0lkLT52YWx1
ZSgpIDogbnVsbEF0b20pOwogCi0gICAgaWYgKG5hbWVkQXR0ck1hcCkKLSAgICAgICAgbmFtZWRB
dHRyTWFwLT5tX2VsZW1lbnQgPSAwOworICAgIGlmIChtX2F0dHJpYnV0ZU1hcCkKKyAgICAgICAg
bV9hdHRyaWJ1dGVNYXAtPm1fZWxlbWVudCA9IDA7CiAKLSAgICBuYW1lZEF0dHJNYXAgPSBsaXN0
OworICAgIG1fYXR0cmlidXRlTWFwID0gbGlzdDsKIAotICAgIGlmIChuYW1lZEF0dHJNYXApIHsK
LSAgICAgICAgbmFtZWRBdHRyTWFwLT5tX2VsZW1lbnQgPSB0aGlzOworICAgIGlmIChtX2F0dHJp
YnV0ZU1hcCkgeworICAgICAgICBtX2F0dHJpYnV0ZU1hcC0+bV9lbGVtZW50ID0gdGhpczsKICAg
ICAgICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgY3JlYXRlZCBhcyByZXN1bHQgb2YgYSBwYXN0ZSBv
ciBkcmFnLW4tZHJvcCBvcGVyYXRpb24KICAgICAgICAgLy8gd2Ugd2FudCB0byByZW1vdmUgYWxs
IHRoZSBzY3JpcHQgYW5kIGV2ZW50IGhhbmRsZXJzLgogICAgICAgICBpZiAoc2NyaXB0aW5nUGVy
bWlzc2lvbiA9PSBGcmFnbWVudFNjcmlwdGluZ05vdEFsbG93ZWQpIHsKICAgICAgICAgICAgIHVu
c2lnbmVkIGkgPSAwOwotICAgICAgICAgICAgd2hpbGUgKGkgPCBuYW1lZEF0dHJNYXAtPmxlbmd0
aCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSA9IG5hbWVkQXR0ck1hcC0+bV9hdHRyaWJ1dGVzW2ldLT5uYW1lKCk7CisgICAgICAgICAgICB3
aGlsZSAoaSA8IG1fYXR0cmlidXRlTWFwLT5sZW5ndGgoKSkgeworICAgICAgICAgICAgICAgIGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUgPSBtX2F0dHJpYnV0ZU1hcC0+bV9hdHRy
aWJ1dGVzW2ldLT5uYW1lKCk7CiAgICAgICAgICAgICAgICAgaWYgKGlzRXZlbnRIYW5kbGVyQXR0
cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWVkQXR0ck1h
cC0+bV9hdHRyaWJ1dGVzLnJlbW92ZShpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9hdHRyaWJ1
dGVNYXAtPm1fYXR0cmlidXRlcy5yZW1vdmUoaSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmIChpc0F0dHJpYnV0
ZVRvUmVtb3ZlKGF0dHJpYnV0ZU5hbWUsIG5hbWVkQXR0ck1hcC0+bV9hdHRyaWJ1dGVzW2ldLT52
YWx1ZSgpKSkKLSAgICAgICAgICAgICAgICAgICAgbmFtZWRBdHRyTWFwLT5tX2F0dHJpYnV0ZXNb
aV0tPnNldFZhbHVlKG51bGxBdG9tKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNBdHRyaWJ1dGVU
b1JlbW92ZShhdHRyaWJ1dGVOYW1lLCBtX2F0dHJpYnV0ZU1hcC0+bV9hdHRyaWJ1dGVzW2ldLT52
YWx1ZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgbV9hdHRyaWJ1dGVNYXAtPm1fYXR0cmlidXRl
c1tpXS0+c2V0VmFsdWUobnVsbEF0b20pOwogICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQotICAgICAgICB1bnNpZ25lZCBsZW4gPSBuYW1lZEF0dHJNYXAtPmxl
bmd0aCgpOworICAgICAgICB1bnNpZ25lZCBsZW4gPSBtX2F0dHJpYnV0ZU1hcC0+bGVuZ3RoKCk7
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47IGkrKykKLSAgICAgICAgICAg
IGF0dHJpYnV0ZUNoYW5nZWQobmFtZWRBdHRyTWFwLT5tX2F0dHJpYnV0ZXNbaV0uZ2V0KCkpOwor
ICAgICAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChtX2F0dHJpYnV0ZU1hcC0+bV9hdHRyaWJ1dGVz
W2ldLmdldCgpKTsKICAgICAgICAgLy8gRklYTUU6IFdoYXQgYWJvdXQgYXR0cmlidXRlcyB0aGF0
IHdlcmUgaW4gdGhlIG9sZCBtYXAgdGhhdCBhcmUgbm90IGluIHRoZSBuZXcgbWFwPwogICAgIH0K
IH0KQEAgLTcxNiw3ICs3MTAsNyBAQCBib29sIEVsZW1lbnQ6Omhhc0F0dHJpYnV0ZXMoKSBjb25z
dAogICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShhbnlRTmFtZSgpKTsKICNlbmRp
ZgogCi0gICAgcmV0dXJuIG5hbWVkQXR0ck1hcCAmJiBuYW1lZEF0dHJNYXAtPmxlbmd0aCgpID4g
MDsKKyAgICByZXR1cm4gbV9hdHRyaWJ1dGVNYXAgJiYgbV9hdHRyaWJ1dGVNYXAtPmxlbmd0aCgp
OwogfQogCiBTdHJpbmcgRWxlbWVudDo6bm9kZU5hbWUoKSBjb25zdApAQCAtNzU5LDcgKzc1Myw3
IEBAIEtVUkwgRWxlbWVudDo6YmFzZVVSSSgpIGNvbnN0CiAKIHZvaWQgRWxlbWVudDo6Y3JlYXRl
QXR0cmlidXRlTWFwKCkgY29uc3QKIHsKLSAgICBuYW1lZEF0dHJNYXAgPSBOYW1lZE5vZGVNYXA6
OmNyZWF0ZShjb25zdF9jYXN0PEVsZW1lbnQqPih0aGlzKSk7CisgICAgbV9hdHRyaWJ1dGVNYXAg
PSBOYW1lZE5vZGVNYXA6OmNyZWF0ZShjb25zdF9jYXN0PEVsZW1lbnQqPih0aGlzKSk7CiB9CiAK
IGJvb2wgRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUoQXR0cmlidXRlKikgY29uc3QKQEAgLTc5Miw4
ICs3ODYsOCBAQCB2b2lkIEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKICAgICBDb250
YWluZXJOb2RlOjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwogCiAgICAgaWYgKGhhc0lEKCkpIHsK
LSAgICAgICAgaWYgKE5hbWVkTm9kZU1hcCogYXR0cnMgPSBuYW1lZEF0dHJNYXAuZ2V0KCkpIHsK
LSAgICAgICAgICAgIEF0dHJpYnV0ZSogaWRJdGVtID0gYXR0cnMtPmdldEF0dHJpYnV0ZUl0ZW0o
ZG9jdW1lbnQoKS0+aWRBdHRyaWJ1dGVOYW1lKCkpOworICAgICAgICBpZiAobV9hdHRyaWJ1dGVN
YXApIHsKKyAgICAgICAgICAgIEF0dHJpYnV0ZSogaWRJdGVtID0gbV9hdHRyaWJ1dGVNYXAtPmdl
dEF0dHJpYnV0ZUl0ZW0oZG9jdW1lbnQoKS0+aWRBdHRyaWJ1dGVOYW1lKCkpOwogICAgICAgICAg
ICAgaWYgKGlkSXRlbSAmJiAhaWRJdGVtLT5pc051bGwoKSkKICAgICAgICAgICAgICAgICB1cGRh
dGVJZChudWxsQXRvbSwgaWRJdGVtLT52YWx1ZSgpKTsKICAgICAgICAgfQpAQCAtODAzLDggKzc5
Nyw4IEBAIHZvaWQgRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogdm9pZCBFbGVtZW50
OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKIHsKICAgICBpZiAoaGFzSUQoKSkgewotICAgICAgICBp
ZiAoTmFtZWROb2RlTWFwKiBhdHRycyA9IG5hbWVkQXR0ck1hcC5nZXQoKSkgewotICAgICAgICAg
ICAgQXR0cmlidXRlKiBpZEl0ZW0gPSBhdHRycy0+Z2V0QXR0cmlidXRlSXRlbShkb2N1bWVudCgp
LT5pZEF0dHJpYnV0ZU5hbWUoKSk7CisgICAgICAgIGlmIChtX2F0dHJpYnV0ZU1hcCkgeworICAg
ICAgICAgICAgQXR0cmlidXRlKiBpZEl0ZW0gPSBtX2F0dHJpYnV0ZU1hcC0+Z2V0QXR0cmlidXRl
SXRlbShkb2N1bWVudCgpLT5pZEF0dHJpYnV0ZU5hbWUoKSk7CiAgICAgICAgICAgICBpZiAoaWRJ
dGVtICYmICFpZEl0ZW0tPmlzTnVsbCgpKQogICAgICAgICAgICAgICAgIHVwZGF0ZUlkKGlkSXRl
bS0+dmFsdWUoKSwgbnVsbEF0b20pOwogICAgICAgICB9CkBAIC0xMjMxLDggKzEyMjUsOCBAQCB2
b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZShjb25zdCBTdHJpCiB7CiAgICAgU3RyaW5nIGxv
Y2FsTmFtZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBuYW1lLmxvd2VyKCkg
OiBuYW1lOwogCi0gICAgaWYgKG5hbWVkQXR0ck1hcCkgewotICAgICAgICBuYW1lZEF0dHJNYXAt
PnJlbW92ZU5hbWVkSXRlbShsb2NhbE5hbWUsIGVjKTsKKyAgICBpZiAobV9hdHRyaWJ1dGVNYXAp
IHsKKyAgICAgICAgbV9hdHRyaWJ1dGVNYXAtPnJlbW92ZU5hbWVkSXRlbShsb2NhbE5hbWUsIGVj
KTsKICAgICAgICAgaWYgKGVjID09IE5PVF9GT1VORF9FUlIpCiAgICAgICAgICAgICBlYyA9IDA7
CiAgICAgfQpAQCAtMTUzMiw4ICsxNTI2LDggQEAgRE9NU3RyaW5nTWFwKiBFbGVtZW50OjpkYXRh
c2V0KCkKIEtVUkwgRWxlbWVudDo6Z2V0VVJMQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUpIGNvbnN0CiB7CiAjaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgIGlmIChuYW1lZEF0dHJN
YXApIHsKLSAgICAgICAgaWYgKEF0dHJpYnV0ZSogYXR0cmlidXRlID0gbmFtZWRBdHRyTWFwLT5n
ZXRBdHRyaWJ1dGVJdGVtKG5hbWUpKQorICAgIGlmIChtX2F0dHJpYnV0ZU1hcCkgeworICAgICAg
ICBpZiAoQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBtX2F0dHJpYnV0ZU1hcC0+Z2V0QXR0cmlidXRl
SXRlbShuYW1lKSkKICAgICAgICAgICAgIEFTU0VSVChpc1VSTEF0dHJpYnV0ZShhdHRyaWJ1dGUp
KTsKICAgICB9CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDYyNTUxKQorKysgV2ViQ29yZS9k
b20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsMTUgKzE5OCwxMyBAQCBwdWJsaWM6
CiAgICAgLy8gdXNlIGEgc3RhdGljIEF0b21pY1N0cmluZyB2YWx1ZSBpbnN0ZWFkIHRvIGF2b2lk
IHRoZSBjb252ZXJzaW9uIG92ZXJoZWFkLgogICAgIHZvaWQgc2V0Q1N0cmluZ0F0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgY2hhciogY1N0cmluZ1ZhbHVlKTsKIAotICAgIHZp
cnR1YWwgTmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVzKCkgY29uc3Q7Ci0gICAgTmFtZWROb2RlTWFw
KiBhdHRyaWJ1dGVzKGJvb2wgcmVhZG9ubHkpIGNvbnN0OworICAgIE5hbWVkTm9kZU1hcCogYXR0
cmlidXRlcyhib29sIHJlYWRvbmx5ID0gZmFsc2UpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBtZXRo
b2QgaXMgY2FsbGVkIHdoZW5ldmVyIGFuIGF0dHJpYnV0ZSBpcyBhZGRlZCwgY2hhbmdlZCBvciBy
ZW1vdmVkLgogICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJv
b2wgcHJlc2VydmVEZWNscyA9IGZhbHNlKTsKIAotICAgIC8vIG5vdCBwYXJ0IG9mIHRoZSBET00K
ICAgICB2b2lkIHNldEF0dHJpYnV0ZU1hcChQYXNzUmVmUHRyPE5hbWVkTm9kZU1hcD4sIEZyYWdt
ZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7Ci0gICAg
TmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVNYXAoKSBjb25zdCB7IHJldHVybiBuYW1lZEF0dHJNYXAu
Z2V0KCk7IH0KKyAgICBOYW1lZE5vZGVNYXAqIGF0dHJpYnV0ZU1hcCgpIGNvbnN0IHsgcmV0dXJu
IG1fYXR0cmlidXRlTWFwLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY29weU5vbkF0dHJp
YnV0ZVByb3BlcnRpZXMoY29uc3QgRWxlbWVudCogLypzb3VyY2UqLykgeyB9CiAKQEAgLTM0OCw4
ICszNDYsOCBAQCBwcml2YXRlOgogICAgIEVsZW1lbnRSYXJlRGF0YSogcmFyZURhdGEoKSBjb25z
dDsKICAgICBFbGVtZW50UmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKCk7CiAgICAgCi1wcm90ZWN0
ZWQ6Ci0gICAgbXV0YWJsZSBSZWZQdHI8TmFtZWROb2RlTWFwPiBuYW1lZEF0dHJNYXA7Citwcml2
YXRlOgorICAgIG11dGFibGUgUmVmUHRyPE5hbWVkTm9kZU1hcD4gbV9hdHRyaWJ1dGVNYXA7CiB9
OwogICAgIAogaW5saW5lIGJvb2wgTm9kZTo6aGFzVGFnTmFtZShjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lKSBjb25zdApAQCAtMzgzLDkgKzM4MSw5IEBAIGlubGluZSBOYW1lZE5vZGVNYXAqIEVs
ZW1lbnQ6OmF0dHJpYnV0ZXMKICAgICAgICAgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55
UU5hbWUoKSk7CiAjZW5kaWYKIAotICAgIGlmICghcmVhZG9ubHkgJiYgIW5hbWVkQXR0ck1hcCkK
KyAgICBpZiAoIXJlYWRvbmx5ICYmICFtX2F0dHJpYnV0ZU1hcCkKICAgICAgICAgY3JlYXRlQXR0
cmlidXRlTWFwKCk7Ci0gICAgcmV0dXJuIG5hbWVkQXR0ck1hcC5nZXQoKTsKKyAgICByZXR1cm4g
bV9hdHRyaWJ1dGVNYXAuZ2V0KCk7CiB9CiAKIGlubGluZSB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUlk
KGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpCkBA
IC00MDUsMTMgKzQwMywxMyBAQCBpbmxpbmUgdm9pZCBFbGVtZW50Ojp1cGRhdGVJZChjb25zdCBB
dG9tCiAKIGlubGluZSBib29sIEVsZW1lbnQ6OmZhc3RIYXNBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSkgY29uc3QKIHsKLSAgICByZXR1cm4gbmFtZWRBdHRyTWFwICYmIG5hbWVk
QXR0ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShuYW1lKTsKKyAgICByZXR1cm4gbV9hdHRyaWJ1dGVN
YXAgJiYgbV9hdHRyaWJ1dGVNYXAtPmdldEF0dHJpYnV0ZUl0ZW0obmFtZSk7CiB9CiAKIGlubGlu
ZSBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmZhc3RHZXRBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKIHsKLSAgICBpZiAobmFtZWRBdHRyTWFwKSB7Ci0gICAg
ICAgIGlmIChBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IG5hbWVkQXR0ck1hcC0+Z2V0QXR0cmlidXRl
SXRlbShuYW1lKSkKKyAgICBpZiAobV9hdHRyaWJ1dGVNYXApIHsKKyAgICAgICAgaWYgKEF0dHJp
YnV0ZSogYXR0cmlidXRlID0gbV9hdHRyaWJ1dGVNYXAtPmdldEF0dHJpYnV0ZUl0ZW0obmFtZSkp
CiAgICAgICAgICAgICByZXR1cm4gYXR0cmlidXRlLT52YWx1ZSgpOwogICAgIH0KICAgICByZXR1
cm4gbnVsbEF0b207CkBAIC00MjAsNyArNDE4LDcgQEAgaW5saW5lIGNvbnN0IEF0b21pY1N0cmlu
ZyYgRWxlbWVudDo6ZmFzdAogaW5saW5lIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6aWRG
b3JTdHlsZVJlc29sdXRpb24oKSBjb25zdAogewogICAgIEFTU0VSVChoYXNJRCgpKTsKLSAgICBy
ZXR1cm4gbmFtZWRBdHRyTWFwLT5pZEZvclN0eWxlUmVzb2x1dGlvbigpOworICAgIHJldHVybiBt
X2F0dHJpYnV0ZU1hcC0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKIH0KIAogaW5saW5lIGJvb2wg
RWxlbWVudDo6aXNJZEF0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSkgY29uc3QKSW5kZXg6IFdlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2MjU1MSkKKysr
IFdlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsOCAr
MTQ4LDggQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0dAogICAgIGlm
IChhdHRyLT5kZWNsKCkgJiYgIXByZXNlcnZlRGVjbHMpIHsKICAgICAgICAgYXR0ci0+c2V0RGVj
bCgwKTsKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgICAgICBpZiAobmFtZWRB
dHRyTWFwKQotICAgICAgICAgICAgbWFwcGVkQXR0cmlidXRlcygpLT5kZWNsUmVtb3ZlZCgpOwor
ICAgICAgICBpZiAoYXR0cmlidXRlTWFwKCkpCisgICAgICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+
ZGVjbFJlbW92ZWQoKTsKICAgICB9CiAKICAgICBib29sIGNoZWNrRGVjbCA9IHRydWU7CkBAIC0x
NTgsOCArMTU4LDggQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0dAog
ICAgIGlmIChwcmVzZXJ2ZURlY2xzKSB7CiAgICAgICAgIGlmIChhdHRyLT5kZWNsKCkpIHsKICAg
ICAgICAgICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKLSAgICAgICAgICAgIGlmIChuYW1lZEF0
dHJNYXApCi0gICAgICAgICAgICAgICAgbWFwcGVkQXR0cmlidXRlcygpLT5kZWNsQWRkZWQoKTsK
KyAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVNYXAoKSkKKyAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVNYXAoKS0+ZGVjbEFkZGVkKCk7CiAgICAgICAgICAgICBjaGVja0RlY2wgPSBmYWxzZTsKICAg
ICAgICAgfQogICAgIH0gZWxzZSBpZiAoIWF0dHItPmlzTnVsbCgpICYmIGVudHJ5ICE9IGVOb25l
KSB7CkBAIC0xNjcsOCArMTY3LDggQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFu
Z2VkKEF0dAogICAgICAgICBpZiAoZGVjbCkgewogICAgICAgICAgICAgYXR0ci0+c2V0RGVjbChk
ZWNsKTsKICAgICAgICAgICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKLSAgICAgICAgICAgIGlm
IChuYW1lZEF0dHJNYXApCi0gICAgICAgICAgICAgICAgbWFwcGVkQXR0cmlidXRlcygpLT5kZWNs
QWRkZWQoKTsKKyAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVNYXAoKSkKKyAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGVNYXAoKS0+ZGVjbEFkZGVkKCk7CiAgICAgICAgICAgICBjaGVja0RlY2wgPSBm
YWxzZTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBuZWVkVG9QYXJzZSA9IHRydWU7CkBA
IC0xOTEsOCArMTkxLDggQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0
dAogICAgICAgICBhdHRyLT5kZWNsKCktPnNldE1hcHBlZFN0YXRlKGVudHJ5LCBhdHRyLT5uYW1l
KCksIGF0dHItPnZhbHVlKCkpOwogICAgICAgICBhdHRyLT5kZWNsKCktPnNldFBhcmVudCgwKTsK
ICAgICAgICAgYXR0ci0+ZGVjbCgpLT5zZXROb2RlKDApOwotICAgICAgICBpZiAobmFtZWRBdHRy
TWFwKQotICAgICAgICAgICAgbWFwcGVkQXR0cmlidXRlcygpLT5kZWNsQWRkZWQoKTsKKyAgICAg
ICAgaWYgKGF0dHJpYnV0ZU1hcCgpKQorICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPmRlY2xB
ZGRlZCgpOwogICAgIH0KIAogICAgIHVwZGF0ZUFmdGVyQXR0cmlidXRlQ2hhbmdlZChhdHRyKTsK
QEAgLTIyMCw4ICsyMjAsOCBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hh
bmdlCiAgICAgaWYgKGhhc0NsYXNzKQogICAgICAgICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5l
d0NsYXNzU3RyaW5nKTsKICAgICBlbHNlIHsKLSAgICAgICAgaWYgKG5hbWVkQXR0ck1hcCkgICAg
Ci0gICAgICAgICAgICBuYW1lZEF0dHJNYXAtPmNsZWFyQ2xhc3MoKTsKKyAgICAgICAgaWYgKGF0
dHJpYnV0ZU1hcCgpKSAgICAKKyAgICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5jbGVhckNsYXNz
KCk7CiAgICAgfQogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICBkaXNwYXRjaFN1YnRy
ZWVNb2RpZmllZEV2ZW50KCk7CkBAIC0yMzEsMTMgKzIzMSwxMyBAQCB2b2lkIFN0eWxlZEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlCiB7CiAgICAgaWYgKGlzSWRBdHRyaWJ1dGVOYW1lKGF0
dHItPm5hbWUoKSkpIHsKICAgICAgICAgc2V0SGFzSUQoIWF0dHItPmlzTnVsbCgpKTsKLSAgICAg
ICAgaWYgKG5hbWVkQXR0ck1hcCkgeworICAgICAgICBpZiAoYXR0cmlidXRlTWFwKCkpIHsKICAg
ICAgICAgICAgIGlmIChhdHRyLT5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBuYW1lZEF0dHJN
YXAtPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKG51bGxBdG9tKTsKKyAgICAgICAgICAgICAgICBh
dHRyaWJ1dGVNYXAoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24obnVsbEF0b20pOwogICAgICAg
ICAgICAgZWxzZSBpZiAoZG9jdW1lbnQoKS0+aW5Db21wYXRNb2RlKCkpCi0gICAgICAgICAgICAg
ICAgbmFtZWRBdHRyTWFwLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihhdHRyLT52YWx1ZSgpLmxv
d2VyKCkpOworICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5zZXRJZEZvclN0eWxlUmVz
b2x1dGlvbihhdHRyLT52YWx1ZSgpLmxvd2VyKCkpOwogICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIG5hbWVkQXR0ck1hcC0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24oYXR0ci0+dmFs
dWUoKSk7CisgICAgICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPnNldElkRm9yU3R5bGVSZXNv
bHV0aW9uKGF0dHItPnZhbHVlKCkpOwogICAgICAgICB9CiAgICAgICAgIHNldE5lZWRzU3R5bGVS
ZWNhbGMoKTsKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBjbGFzc0F0dHIpCkluZGV4
OiBXZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
U3R5bGVkRWxlbWVudC5oCShyZXZpc2lvbiA2MjU1MSkKKysrIFdlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAqICAgICAgICAgICAoQykg
MTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykg
MjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQogICogICAgICAgICAgIChDKSAyMDAxIERp
cmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0
LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAw
OCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTI2LDEwICsyNiw4IEBACiAjZGVmaW5lIFN0eWxlZEVsZW1lbnRfaAogCiAj
aW5jbHVkZSAiQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJDU1NQcmlt
aXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJNYXBwZWRBdHRy
aWJ1dGVFbnRyeS5oIgotI2luY2x1ZGUgIk5hbWVkTm9kZU1hcC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQwLDEwICszOCw3IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQgOiBwdWJsaWMg
RWxlbWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+U3R5bGVkRWxlbWVudCgpOwogCi0gICAg
TmFtZWROb2RlTWFwKiBtYXBwZWRBdHRyaWJ1dGVzKCkgeyByZXR1cm4gbmFtZWRBdHRyTWFwLmdl
dCgpOyB9Ci0gICAgY29uc3QgTmFtZWROb2RlTWFwKiBtYXBwZWRBdHRyaWJ1dGVzKCkgY29uc3Qg
eyByZXR1cm4gbmFtZWRBdHRyTWFwLmdldCgpOyB9Ci0KLSAgICBib29sIGhhc01hcHBlZEF0dHJp
YnV0ZXMoKSBjb25zdCB7IHJldHVybiBuYW1lZEF0dHJNYXAgJiYgbWFwcGVkQXR0cmlidXRlcygp
LT5oYXNNYXBwZWRBdHRyaWJ1dGVzKCk7IH0KKyAgICBib29sIGhhc01hcHBlZEF0dHJpYnV0ZXMo
KSBjb25zdCB7IHJldHVybiBhdHRyaWJ1dGVNYXAoKSAmJiBhdHRyaWJ1dGVNYXAoKS0+aGFzTWFw
cGVkQXR0cmlidXRlcygpOyB9CiAgICAgYm9vbCBpc01hcHBlZEF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBuYW1lKSBjb25zdCB7IE1hcHBlZEF0dHJpYnV0ZUVudHJ5IHJlcyA9IGVOb25l
OyBtYXBUb0VudHJ5KG5hbWUsIHJlcyk7IHJldHVybiByZXMgIT0gZU5vbmU7IH0KIAogICAgIHZv
aWQgYWRkQ1NTTGVuZ3RoKEF0dHJpYnV0ZSosIGludCBpZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7
CkBAIC02MSwxMiArNTYsMTIgQEAgcHVibGljOgogCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24qIGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lU3R5bGVEZWNs
LmdldCgpOyB9CiAgICAgdmlydHVhbCBib29sIGNhbkhhdmVBZGRpdGlvbmFsQXR0cmlidXRlU3R5
bGVEZWNscygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIGFkZGl0
aW9uYWxBdHRyaWJ1dGVTdHlsZURlY2xzKFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bio+Jikge307CisgICAgdmlydHVhbCB2b2lkIGFkZGl0aW9uYWxBdHRyaWJ1dGVTdHlsZURlY2xz
KFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbio+JikgeyB9CiAgICAgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24qIGdldElubGluZVN0eWxlRGVjbCgpOwogICAgIENTU1N0eWxlRGVj
bGFyYXRpb24qIHN0eWxlKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKTsK
IAotICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdCB7IEFTU0VS
VChoYXNDbGFzcygpKTsgQVNTRVJUKG1hcHBlZEF0dHJpYnV0ZXMoKSk7IHJldHVybiBtYXBwZWRB
dHRyaWJ1dGVzKCktPmNsYXNzTmFtZXMoKTsgfQorICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcm
IGNsYXNzTmFtZXMoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBj
b25zdDsKIApAQCAtMTAxLDYgKzk2LDEzIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPENTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uPiBtX2lubGluZVN0eWxlRGVjbDsKIH07CiAKK2lubGluZSBjb25z
dCBTcGFjZVNwbGl0U3RyaW5nJiBTdHlsZWRFbGVtZW50OjpjbGFzc05hbWVzKCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoaGFzQ2xhc3MoKSk7CisgICAgQVNTRVJUKGF0dHJpYnV0ZU1hcCgpKTsKKyAg
ICByZXR1cm4gYXR0cmlidXRlTWFwKCktPmNsYXNzTmFtZXMoKTsKK30KKwogaW5saW5lIHZvaWQg
U3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZVN0eWxlQXR0cmlidXRlKCkKIHsKICAgICBjbGVhcklz
U3R5bGVBdHRyaWJ1dGVWYWxpZCgpOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAko
cmV2aXNpb24gNjI1NTEpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg2NCw3ICs4NjQsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNl
dElucHV0VHlwZShjb25zCiAgICAgICAgICAgICAgICAgcmVnaXN0ZXJGb3JBY3RpdmF0aW9uQ2Fs
bGJhY2tJZk5lZWRlZCgpOwogCiAgICAgICAgICAgICBpZiAoZGlkUmVzcGVjdEhlaWdodEFuZFdp
ZHRoICE9IHdpbGxSZXNwZWN0SGVpZ2h0QW5kV2lkdGgpIHsKLSAgICAgICAgICAgICAgICBOYW1l
ZE5vZGVNYXAqIG1hcCA9IG1hcHBlZEF0dHJpYnV0ZXMoKTsKKyAgICAgICAgICAgICAgICBOYW1l
ZE5vZGVNYXAqIG1hcCA9IGF0dHJpYnV0ZU1hcCgpOwogICAgICAgICAgICAgICAgIEFTU0VSVCht
YXApOwogICAgICAgICAgICAgICAgIGlmIChBdHRyaWJ1dGUqIGhlaWdodCA9IG1hcC0+Z2V0QXR0
cmlidXRlSXRlbShoZWlnaHRBdHRyKSkKICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlQ2hh
bmdlZChoZWlnaHQsIGZhbHNlKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA2MjU1MSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjUsMTEgKzMyNSwxMSBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTVkdT
dHlsZWRFbGVtZW50CiAKIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IFNWR1N0eWxlZEVsZW1lbnQ6Omdl
dFByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpCiB7Ci0gICAgaWYgKCFt
YXBwZWRBdHRyaWJ1dGVzKCkpCisgICAgaWYgKCFhdHRyaWJ1dGVNYXAoKSkKICAgICAgICAgcmV0
dXJuIDA7CiAKICAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUobnVsbEF0b20sIG5hbWUs
IG51bGxBdG9tKTsKLSAgICBBdHRyaWJ1dGUqIGF0dHIgPSBtYXBwZWRBdHRyaWJ1dGVzKCktPmdl
dEF0dHJpYnV0ZUl0ZW0oYXR0cmlidXRlTmFtZSk7CisgICAgQXR0cmlidXRlKiBhdHRyID0gYXR0
cmlidXRlTWFwKCktPmdldEF0dHJpYnV0ZUl0ZW0oYXR0cmlidXRlTmFtZSk7CiAgICAgaWYgKCFh
dHRyIHx8ICFhdHRyLT5pc01hcHBlZEF0dHJpYnV0ZSgpIHx8ICFhdHRyLT5zdHlsZSgpKQogICAg
ICAgICByZXR1cm4gMDsKIAo=
</data>
<flag name="review"
          id="48274"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>