<?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>71428</bug_id>
          
          <creation_ts>2011-11-02 18:28:54 -0700</creation_ts>
          <short_desc>De-virtualize JSObject::className</short_desc>
          <delta_ts>2011-11-03 11:20:29 -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>JavaScriptCore</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>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>495125</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-02 18:28:54 -0700</bug_when>
    <thetext>We&apos;re de-virtualizing JSObject. className is a virtual method in JSObject.  Thus, we need to de-virtualize className.  We&apos;ll put it in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495140</commentid>
    <comment_count>1</comment_count>
      <attachid>113418</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-02 18:56:25 -0700</bug_when>
    <thetext>Created attachment 113418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495659</commentid>
    <comment_count>2</comment_count>
      <attachid>113418</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 11:20:25 -0700</bug_when>
    <thetext>Comment on attachment 113418
Patch

Clearing flags on attachment: 113418

Committed r99223: &lt;http://trac.webkit.org/changeset/99223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495660</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 11:20:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113418</attachid>
            <date>2011-11-02 18:56:25 -0700</date>
            <delta_ts>2011-11-03 11:20:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71428-20111102185624.patch</filename>
            <type>text/plain</type>
            <size>23116</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkxMjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk5
MGQ0OTBkMGMyNGFlYmQwOWE3YThiYTM3ZTU4Yzg3MzJmNmUwNGEuLjg5ZDAzYWE1MmYzNjM3NjRj
ZTg1YmNjMDljNjNiNjk4ZmM5YWIyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDQwIEBACiAyMDExLTExLTAyICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6Y2xhc3NOYW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQyOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGNsYXNzTmFt
ZSB0byB0aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQgYWxsIHRoZSB2aXJ0dWFsIAorICAgICAgICBp
bXBsZW1lbnRhdGlvbnMgb2YgY2xhc3NOYW1lIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQg
CisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBzIGluIHRo
ZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAg
ICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6Ojpj
bGFzc05hbWUpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAg
ICAgICAqIGRlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkRl
YnVnZ2VyQWN0aXZhdGlvbjo6Y2xhc3NOYW1lKToKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaDoKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UHJvZmlsZXI6OmNyZWF0ZUNhbGxJZGVudGlmaWVyKToKKyAgICAgICAgKiBy
dW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNDZWxsOjpjbGFzc05hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6
CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpjbGFzc05hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBy
dW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVu
Y1RvU3RyaW5nKToKKyAgICAgICAgKiB0ZXN0UmVnRXhwLmNwcDoKKyAgICAgICAgKEdsb2JhbE9i
amVjdDo6Y3JlYXRlU3RydWN0dXJlKToKKworMjAxMS0xMS0wMiAgTWFyayBIYWhuZW5iZXJnICA8
bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCiAgICAgICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6
OmdldE93blByb3BlcnR5TmFtZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMzA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4IGEwZmFkMTE1
ZTAxNTE1NDY3YjdhNDkyMDY4MTY3OGU5YTNhYTM5OTEuLjRiYTNhMzNhYmY4MDhlMDkzNDc2ZGQ5
Yjk4OWZiZWFjNzAyZTY3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5
IEBACiAyMDExLTExLTAyICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+
CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6Y2xhc3NOYW1lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGNsYXNzTmFtZSB0byB0
aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQgYWxsIHRoZSB2aXJ0dWFsIAorICAgICAgICBpbXBsZW1l
bnRhdGlvbnMgb2YgY2xhc3NOYW1lIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAg
ICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRo
b2RUYWJsZS4KKworICAgICAgICAqIEpTVXRpbHMuY3BwOgorICAgICAgICAoS0pTVmFsdWVUb0NG
VHlwZUludGVybmFsKToKKworMjAxMS0xMS0wMiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCiAgICAgICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6OmdldE93blBy
b3BlcnR5TmFtZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMzA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxODBmMzE2MGNjODhlMGZkNTU4NGJiODA1ZTRkNjAz
MGRiMjUwMDAxLi5lMzI0NWU2ZmMxZDkxMjNkYzYzOTI1YmFmNjdlMWUxNzE0MWU1MTI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTEtMTEtMDIgIE1hcmsgSGFobmVuYmVyZyAgPG1o
YWhuZW5iZXJnQGFwcGxlLmNvbT4KIAorICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0Ojpj
bGFzc05hbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcxNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLgorCisgICAgICAgIEFkZGVkIGNsYXNzTmFtZSB0byB0aGUgTWV0aG9kVGFi
bGUsIGNoYW5nZWQgYWxsIHRoZSB2aXJ0dWFsIAorICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2Yg
Y2xhc3NOYW1lIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAgICAgIGFsbCBjYWxs
IHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y2xhc3NOYW1lKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNj
cmlwdEhvc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNJbmplY3RlZFNjcmlwdEhv
c3Q6OmludGVybmFsQ29uc3RydWN0b3JOYW1lKToKKyAgICAgICAgKiBicmlkZ2UvdGVzdHF0Ymlu
ZGluZ3MuY3BwOgorICAgICAgICAoR2xvYmFsOjpjbGFzc05hbWUpOgorCisyMDExLTExLTAyICBN
YXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgRGUtdmly
dHVhbGl6ZSBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlOYW1lcwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzMDcKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4
IGMyYzE0NmJlY2ExMWM0N2E2NTVhNzk2ODMyNzRlNzc5ZDlmOTMyYmMuLmVmMzA2M2UzZWIyYzcy
MWY0ZTlmNjdkNTNkYWExMThmYjJlOGNlYjIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMS0xMS0wMiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgorCisgICAgICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6OmNsYXNzTmFtZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0MjgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBjbGFzc05hbWUgdG8g
dGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmlydHVhbCAKKyAgICAgICAgaW1wbGVt
ZW50YXRpb25zIG9mIGNsYXNzTmFtZSB0byBzdGF0aWMgb25lcywgYW5kIHJlcGxhY2VkIAorICAg
ICAgICBhbGwgY2FsbCBzaXRlcyB3aXRoIGNvcnJlc3BvbmRpbmcgbG9va3VwcyBpbiB0aGUgTWV0
aG9kVGFibGUuCisKKyAgICAgICAgKiBld2svZXdrX2pzLmNwcDoKKyAgICAgICAgKGV3a19qc19u
cG9iamVjdF90b19vYmplY3QpOgorCiAyMDExLTExLTAyICBUb20gU2VwZXogIDx0c2VwZXpAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFhTU0F1ZGl0b3IgaXMgc2lsZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDQwODE0MzRkNzdjZmYwNWU3
NzYzYTUxZjg3MDNkMjA4ZTE4YzQwYjguLjYyNTA4MmVkMzFhZjMwYTA5ZTFmYjU4YjgwZGNkOTMx
MGQ4ZWRkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFj
a09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVj
dC5oCkBAIC0xNzUsNyArMTc1LDcgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IFByb2hpYml0c1Byb3BlcnR5Q2FjaGluZyB8IE92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc0hh
c0luc3RhbmNlIHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFByb3BlcnR5
TmFtZXMgfCBQYXJlbnQ6OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgotICAgIHZpcnR1YWwg
VVN0cmluZyBjbGFzc05hbWUoKSBjb25zdDsKKyAgICBzdGF0aWMgVVN0cmluZyBjbGFzc05hbWUo
Y29uc3QgSlNPYmplY3QqKTsKIAogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChK
U0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAg
ICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25z
dCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IDE4MGMw
NDMzMjlkOGIwMDVlMzhjMTNhNGNiZTZmNjc4OWQ3YmQ0NTcuLjliMTAwYmNkODJmNzk0NTAwMGI3
ZWQzNGY1MmE0MmRlYWQ2OTUwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCkBAIC0xMTQsMTMgKzExNCwxNCBAQCB2
b2lkIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6aW5pdChFeGVjU3RhdGUqIGV4ZWMpCiB9CiAK
IHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1VU3RyaW5nIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50
Pjo6Y2xhc3NOYW1lKCkgY29uc3QKK1VTdHJpbmcgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojpj
bGFzc05hbWUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBVU3RyaW5nIHRoaXNDbGFz
c05hbWUgPSBjbGFzc1JlZigpLT5jbGFzc05hbWUoKTsKKyAgICBjb25zdCBKU0NhbGxiYWNrT2Jq
ZWN0KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8Y29uc3QgSlNDYWxsYmFja09iamVjdCo+KG9i
amVjdCk7CisgICAgVVN0cmluZyB0aGlzQ2xhc3NOYW1lID0gdGhpc09iamVjdC0+Y2xhc3NSZWYo
KS0+Y2xhc3NOYW1lKCk7CiAgICAgaWYgKCF0aGlzQ2xhc3NOYW1lLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIHRoaXNDbGFzc05hbWU7CiAgICAgCi0gICAgcmV0dXJuIFBhcmVudDo6Y2xhc3NO
YW1lKCk7CisgICAgcmV0dXJuIFBhcmVudDo6Y2xhc3NOYW1lKG9iamVjdCk7CiB9CiAKIHRlbXBs
YXRlIDxjbGFzcyBQYXJlbnQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4
cAppbmRleCBkYjRjM2NkYWY3MmVjMmFlYjg2MjFlNjQ3YTc4Mzg3ZThiMzllOWNhLi4zYzU2NjZm
NGQzNTQ2OTk3N2E4ZGI5NjRmYTZiOTAzNjliYmQ0MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTMzMSw2ICszMzEsNyBAQCBfX1pOM0pTQzhKU09iamVj
dDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRVJOUwogX19aTjNKU0M4SlNPYmplY3QyNWdldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFUE5T
XzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEpT
T2JqZWN0M3B1dEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVO
U183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDZzX2lu
Zm9FCitfX1pOM0pTQzhKU09iamVjdDljbGFzc05hbWVFUEtTMF8KIF9fWk4zSlNDOEpTU3RyaW5n
NnNfaW5mb0UKIF9fWk4zSlNDOFByb2ZpbGVyMTNzdG9wUHJvZmlsaW5nRVBOU185RXhlY1N0YXRl
RVJLTlNfN1VTdHJpbmdFCiBfX1pOM0pTQzhQcm9maWxlcjE0c3RhcnRQcm9maWxpbmdFUE5TXzlF
eGVjU3RhdGVFUktOU183VVN0cmluZ0UKQEAgLTU3Miw3ICs1NzMsNiBAQCBfX1pOSzNKU0M4SlNP
YmplY3QxMWhhc1Byb3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19a
TkszSlNDOEpTT2JqZWN0MTFoYXNQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVqCiBfX1pOSzNKU0M4
SlNPYmplY3Q4dG9OdW1iZXJFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNKU0M4SlNPYmplY3Q4dG9T
dHJpbmdFUE5TXzlFeGVjU3RhdGVFCi1fX1pOSzNKU0M4SlNPYmplY3Q5Y2xhc3NOYW1lRXYKIF9f
Wk5LM0pTQzhKU09iamVjdDl0b0Jvb2xlYW5FUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNKU0M4SlNT
dHJpbmcxMXJlc29sdmVSb3BlRVBOU185RXhlY1N0YXRlRQogX19aTkszSlNDOEpTU3RyaW5nOXRv
Qm9vbGVhbkVQTlNfOUV4ZWNTdGF0ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggOWY1ZjgxMjA0ZDNmNTA0ODM1NmNiOWRhMWRm
YWE1ZTBiNTRhNWEwYy4uYzZiNDMxMjAxYmRjMDA2NjgxNmU0Y2FmYWQyMWYwNzY4NDZiOThkNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5k
ZWYKQEAgLTg2LDcgKzg2LDcgQEAgRVhQT1JUUwogICAgID9jaGVja0N1cnJlbnRJZGVudGlmaWVy
VGFibGVASWRlbnRpZmllckBKU0NAQENBWFBBVkpTR2xvYmFsRGF0YUAyQEBaCiAgICAgP2NoZWNr
U3ludGF4QEpTQ0BAWUFfTlBBVkV4ZWNTdGF0ZUAxQEFCVlNvdXJjZUNvZGVAMUBQQVZKU1ZhbHVl
QDFAQFoKICAgICA/Y2hlY2tzdW1ATUQ1QFdURkBAUUFFWEFBVj8kVmVjdG9yQEUkMEJBQEAyQEBa
Ci0gICAgP2NsYXNzTmFtZUBKU09iamVjdEBKU0NAQFVCRT9BVlVTdHJpbmdAMkBYWgorICAgID9j
bGFzc05hbWVASlNPYmplY3RASlNDQEBTQT9BVlVTdHJpbmdAMkBQQlYxMkBAWgogICAgID9jbGVh
ckBTb3VyY2VQcm92aWRlckNhY2hlQEpTQ0BAUUFFWFhaCiAgICAgP2NsZWFyQnVpbHRpblN0cnVj
dHVyZXNASlNHbG9iYWxEYXRhQEpTQ0BAUUFFWFhaCiAgICAgP2NsZWFyUmFyZURhdGFASlNHbG9i
YWxPYmplY3RASlNDQEBDQVhQQVZKU0NlbGxAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAppbmRleCBiNDFjMjZhNzUw
NTFiZDdlZmQ4NWU4NGU1MmU0YzQwYmJlNjVmNTI3Li5jZTg3NmNjZTdhZGMzYzk5MjEyMTIxMGU0
NGYxZDM4ZTE1YjJhNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVi
dWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcApAQCAtNTUsOSArNTUsMTAgQEAgdm9pZCBEZWJ1
Z2dlckFjdGl2YXRpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYWN0aXZhdGlv
bik7CiB9CiAKLVVTdHJpbmcgRGVidWdnZXJBY3RpdmF0aW9uOjpjbGFzc05hbWUoKSBjb25zdAor
VVN0cmluZyBEZWJ1Z2dlckFjdGl2YXRpb246OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2Jq
ZWN0KQogewotICAgIHJldHVybiBtX2FjdGl2YXRpb24tPmNsYXNzTmFtZSgpOworICAgIGNvbnN0
IERlYnVnZ2VyQWN0aXZhdGlvbiogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PGNvbnN0IERlYnVn
Z2VyQWN0aXZhdGlvbio+KG9iamVjdCk7CisgICAgcmV0dXJuIHRoaXNPYmplY3QtPm1fYWN0aXZh
dGlvbi0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5n
ZXQoKSk7CiB9CiAKIGJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
SlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCmluZGV4IGQ4MzU2YTJjYmJkMDZlZDIwMmUw
OTljMjFjODQ1NDA4MTkyZmFjM2IuLjBiY2IxMzNhM2RkMjc1MWU1NTgyNDIwYTkzYjQ2OTZhNDk3
OWNhMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdn
ZXJBY3RpdmF0aW9uLmgKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNp
dG9yJik7Ci0gICAgICAgIHZpcnR1YWwgVVN0cmluZyBjbGFzc05hbWUoKSBjb25zdDsKKyAgICAg
ICAgc3RhdGljIFVTdHJpbmcgY2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0Kik7CiAgICAgICAgIHN0
YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMg
dm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1
dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4
IGJlYjdmZWI3MGQ4MDFlYWQ5MzFhODY4N2FhMTUyMGMwMjE3ZWViNTEuLmViN2Y0OTcyN2QyNmY4
NDk5ZjM3ZjcxM2Y2MGJjNTU0Y2Y5MDkyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xNTUs
NyArMTU1LDEzIEBAIHB1YmxpYzoKICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihnbG9i
YWxEYXRhLCBhcmd1bWVudHMpOwogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KLSAgICB2
aXJ0dWFsIFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3QgeyByZXR1cm4gImdsb2JhbCI7IH0KKwor
ICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOworCisgICAgc3RhdGljIFN0cnVjdHVy
ZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90
b3R5cGUpCisgICAgeworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0
YSwgMCwgcHJvdG90eXBlLCBUeXBlSW5mbyhHbG9iYWxPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksICZzX2luZm8pOworICAgIH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3Vt
ZW50cykKQEAgLTE5NSw2ICsyMDEsOCBAQCBwcm90ZWN0ZWQ6CiBDT01QSUxFX0FTU0VSVCghSXNJ
bnRlZ2VyPEdsb2JhbE9iamVjdD46OnZhbHVlLCBXVEZfSXNJbnRlZ2VyX0dsb2JhbE9iamVjdF9m
YWxzZSk7CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEdsb2JhbE9iamVjdCk7CiAKK2NvbnN0
IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgImdsb2JhbCIsICZKU0dsb2JhbE9i
amVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2JhbE9iamVjdFRhYmxlLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEdsb2JhbE9iamVjdCkgfTsKKwogR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmplY3Qo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpT
R2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuY3BwCmluZGV4IGJjYWFhYWNiZjIxN2IwODQyNWY0MzI3
Y2E4YmQzN2JmMjNhMTRhMjYuLjBhNGI1NDdkNGZmOTUyYWY1MjNkZjcxOTFkZmY3NWM2NDg2Mjcy
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmNwcApAQCAt
MTcyLDcgKzE3Miw3IEBAIENhbGxJZGVudGlmaWVyIFByb2ZpbGVyOjpjcmVhdGVDYWxsSWRlbnRp
ZmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgZnVuY3Rpb25WCiAgICAgICAgIHJldHVybiBD
YWxsSWRlbnRpZmllcihzdGF0aWNfY2FzdDxKU0Z1bmN0aW9uKj4oYXNPYmplY3QoZnVuY3Rpb25W
YWx1ZSkpLT5uYW1lKGV4ZWMpLCBkZWZhdWx0U291cmNlVVJMLCBkZWZhdWx0TGluZU51bWJlcik7
CiAgICAgaWYgKGFzT2JqZWN0KGZ1bmN0aW9uVmFsdWUpLT5pbmhlcml0cygmSW50ZXJuYWxGdW5j
dGlvbjo6c19pbmZvKSkKICAgICAgICAgcmV0dXJuIENhbGxJZGVudGlmaWVyKHN0YXRpY19jYXN0
PEludGVybmFsRnVuY3Rpb24qPihhc09iamVjdChmdW5jdGlvblZhbHVlKSktPm5hbWUoZXhlYyks
IGRlZmF1bHRTb3VyY2VVUkwsIGRlZmF1bHRMaW5lTnVtYmVyKTsKLSAgICByZXR1cm4gQ2FsbElk
ZW50aWZpZXIobWFrZVVTdHJpbmcoIigiLCBhc09iamVjdChmdW5jdGlvblZhbHVlKS0+Y2xhc3NO
YW1lKCksICIgb2JqZWN0KSIpLCBkZWZhdWx0U291cmNlVVJMLCBkZWZhdWx0TGluZU51bWJlcik7
CisgICAgcmV0dXJuIENhbGxJZGVudGlmaWVyKG1ha2VVU3RyaW5nKCIoIiwgYXNPYmplY3QoZnVu
Y3Rpb25WYWx1ZSktPm1ldGhvZFRhYmxlKCktPmNsYXNzTmFtZShhc09iamVjdChmdW5jdGlvblZh
bHVlKSksICIgb2JqZWN0KSIpLCBkZWZhdWx0U291cmNlVVJMLCBkZWZhdWx0TGluZU51bWJlcik7
CiB9CiAKIENhbGxJZGVudGlmaWVyIGNyZWF0ZUNhbGxJZGVudGlmaWVyRnJvbUZ1bmN0aW9uSW1w
KEV4ZWNTdGF0ZSogZXhlYywgSlNGdW5jdGlvbiogZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IGUxMTY1MTc4OTNlNzIxOTgzNTljZDY5M2Rl
MWRlNzhhNmE2ZjA2NDguLjUzODJhMTNjNTYwY2FhMzRjMTY4N2U1NjkyMzJmMmIyMTA5NTFkM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC03NCw2ICs3
NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHR5cGVkZWYgdm9pZCAoKkdldE93blBy
b3BlcnR5TmFtZXNGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAgICAgICAgIEdldE93blByb3BlcnR5TmFtZXNG
dW5jdGlvblB0ciBnZXRPd25Qcm9wZXJ0eU5hbWVzOworCisgICAgICAgIHR5cGVkZWYgVVN0cmlu
ZyAoKkNsYXNzTmFtZUZ1bmN0aW9uUHRyKShjb25zdCBKU09iamVjdCopOworICAgICAgICBDbGFz
c05hbWVGdW5jdGlvblB0ciBjbGFzc05hbWU7CiAgICAgfTsKIAogI2RlZmluZSBDUkVBVEVfTUVN
QkVSX0NIRUNLRVIobWVtYmVyKSBcCkBAIC0xMTAsNiArMTEzLDcgQEAgc3RydWN0IE1lbWJlckNo
ZWNrIyNtZW1iZXIgeyBcCiAgICAgICAgICZDbGFzc05hbWU6OmRlZmluZVNldHRlciwgXAogICAg
ICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0VmFsdWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Z2V0
T3duUHJvcGVydHlOYW1lcywgXAorICAgICAgICAmQ2xhc3NOYW1lOjpjbGFzc05hbWUsIFwKICAg
ICB9LCBcCiAgICAgc2l6ZW9mKENsYXNzTmFtZSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ2VsbC5jcHAKaW5kZXggMmQ0OGVjMzU5NTM2YWI5ZjNkZmI0NDc4ZmFmNTY5NDQ0Y2Uy
YzE2NS4uZTIyZjViNDQ4NmQyN2MwOGQyNWMzNGE2ZjNjOTA1YmM1NWZhZmNhOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0xNzksNCArMTc5LDEwIEBAIHZv
aWQgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lQXJyYXkmLCBFbnVtCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKK1VT
dHJpbmcgSlNDZWxsOjpjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKQoreworICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBVU3RyaW5nKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCAwZDVkYTRlZDFh
MTdlM2E2YmFiMTlhZTAzNmMwMWNiYTNkNjc1MDE3Li5mZDc5ZGEyMGIyYTU4YTc1ZmI5ZmRiODk2
ZWVhMmNlN2Q5MjViN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApA
QCAtMTQ0LDYgKzE0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgTk9fUkVU
VVJOX0RVRV9UT19BU1NFUlQgdm9pZCBkZWZpbmVTZXR0ZXIoSlNPYmplY3QqLCBFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBzZXR0ZXJGdW5jdGlv
biwgdW5zaWduZWQgYXR0cmlidXRlcyA9IDApOwogICAgICAgICBzdGF0aWMgSlNWYWx1ZSBkZWZh
dWx0VmFsdWUoY29uc3QgSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVU
eXBlKTsKICAgICAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgZ2V0T3du
UHJvcGVydHlOYW1lcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5Jiwg
RW51bWVyYXRpb25Nb2RlKTsKKyAgICAgICAgc3RhdGljIFVTdHJpbmcgY2xhc3NOYW1lKGNvbnN0
IEpTT2JqZWN0Kik7CiAKICAgICBwcml2YXRlOgogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX3N0cnVjdHVyZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAppbmRleCA1ZTBmNzljMzQ5ODZkODdmNzNiMTBlODA0NWE3MDdhMDAwY2Y1ODRhLi5hMTMx
MmEzMmQ4YTBiZDA5MzlmMzU5M2VhNTJiOTZkZTI4Mjg1MzRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC05OCw5ICs5OCw5IEBAIHZvaWQgSlNPYmpl
Y3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICNl
bmRpZgogfQogCi1VU3RyaW5nIEpTT2JqZWN0OjpjbGFzc05hbWUoKSBjb25zdAorVVN0cmluZyBK
U09iamVjdDo6Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgY29uc3Qg
Q2xhc3NJbmZvKiBpbmZvID0gY2xhc3NJbmZvKCk7CisgICAgY29uc3QgQ2xhc3NJbmZvKiBpbmZv
ID0gb2JqZWN0LT5jbGFzc0luZm8oKTsKICAgICBBU1NFUlQoaW5mbyk7CiAgICAgcmV0dXJuIGlu
Zm8tPmNsYXNzTmFtZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CmluZGV4IDQ2MzBhZmNjYzA5NGJiYTQzYTQzM2YwNzg0MDMwMGFlOTA3M2Y0YmIuLjVhZDllYjU5
M2YxZjdhOTlhOGM2ZTBlYzRiZGY4ODg5ZDg0NWU0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaApAQCAtODIsNyArODIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7
CiAKLSAgICAgICAgdmlydHVhbCBVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0OworICAgICAgICBz
dGF0aWMgVVN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsKIAogICAgICAgICBzdGF0
aWMgdm9pZCBmaW5hbGl6ZShKU0NlbGwqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKaW5kZXggMzg2ODI1NDE5MGI2NTc1OTEwZDIz
ZDQ5ZWRkYTg4MmFmMzI5ZDM0YS4uNWU2M2E3Y2UyYWYzOTk3MmQwZGFkMDI5ZDRlMzI5ZGE2NWY1
OTZiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJv
dG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90
b3R5cGUuY3BwCkBAIC0yMTQsNyArMjE0LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBvYmplY3RQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgSlNWYWx1ZSB0
aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1Vu
ZGVmaW5lZE9yTnVsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJp
dmlhbFN0cmluZyhleGVjLCB0aGlzVmFsdWUuaXNVbmRlZmluZWQoKSA/ICJbb2JqZWN0IFVuZGVm
aW5lZF0iIDogIltvYmplY3QgTnVsbF0iKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c01ha2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNWYWx1ZS50b09iamVj
dChleGVjKS0+Y2xhc3NOYW1lKCksICJdIikpOworICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0g
dGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNN
YWtlTm9udHJpdmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAiLCB0aGlzT2JqZWN0LT5tZXRob2RU
YWJsZSgpLT5jbGFzc05hbWUodGhpc09iamVjdCksICJdIikpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcAppbmRleCAzNTBkNmNhMzE1MDQz
NWFjYzZhOTA3NmY4MDFkMjZkMmQ5NDkzMGZhLi43ZjlmYTdhYWMyYTk1ZDlmM2FlODMyMmUzNjRj
YWQyY2QzYzM1MjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4
cC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCkBAIC0xMTks
NyArMTE5LDEzIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEdsb2JhbE9iamVjdChnbG9iYWxE
YXRhLCBzdHJ1Y3R1cmUsIGFyZ3VtZW50cyk7CiAgICAgfQotICAgIHZpcnR1YWwgVVN0cmluZyBj
bGFzc05hbWUoKSBjb25zdCB7IHJldHVybiAiZ2xvYmFsIjsgfQorCisgICAgc3RhdGljIGNvbnN0
IENsYXNzSW5mbyBzX2luZm87CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCAwLCBwcm90b3R5cGUs
IFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7Cisg
ICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1lbnRzKQpAQCAtMTMyLDYg
KzEzOCw4IEBAIHByb3RlY3RlZDoKIENPTVBJTEVfQVNTRVJUKCFJc0ludGVnZXI8R2xvYmFsT2Jq
ZWN0Pjo6dmFsdWUsIFdURl9Jc0ludGVnZXJfR2xvYmFsT2JqZWN0X2ZhbHNlKTsKIEFTU0VSVF9D
TEFTU19GSVRTX0lOX0NFTEwoR2xvYmFsT2JqZWN0KTsKIAorY29uc3QgQ2xhc3NJbmZvIEdsb2Jh
bE9iamVjdDo6c19pbmZvID0geyAiZ2xvYmFsIiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAs
IEV4ZWNTdGF0ZTo6Z2xvYmFsT2JqZWN0VGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoR2xvYmFs
T2JqZWN0KSB9OworCiBHbG9iYWxPYmplY3Q6Okdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFy
Z3VtZW50cykKICAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1V0aWxzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0R2x1ZS9KU1V0aWxzLmNwcAppbmRleCBiZDkyOWNjMTExNTM3NzdmNTkwNWRmZGE3
MGYxNDQ0YTQ4MDZiZmVmLi5iOTdhYmFjZTg2MTYxNGNmZmYyOGI2ZTljZjUyNjA2NzM4ODYxZGE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNVdGlscy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRHbHVlL0pTVXRpbHMuY3BwCkBAIC0yNzAsNyArMjcwLDcgQEAgQ0ZUeXBl
UmVmIEtKU1ZhbHVlVG9DRlR5cGVJbnRlcm5hbChKU1ZhbHVlIGluVmFsdWUsIEV4ZWNTdGF0ZSAq
ZXhlYywgT2JqZWN0SW1wTGkKICNpZiAwCiAgICAgICAgICAgICAgICAgICAgIGlmIChvYmplY3Qt
PmluaGVyaXRzKCZBcnJheUluc3RhbmNlSW1wOjpzX2luZm8pKQogI2Vsc2UKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKG9iamVjdC0+Y2xhc3NOYW1lKCkgPT0gIkFycmF5IikKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG9iamVjdC0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKG9iamVjdCkgPT0g
IkFycmF5IikKICNlbmRpZgogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBpc0FycmF5ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggMjlkNTlmMjY3NGMzYWE1MGI4ZDljMWY5NmNhNjg1
OWFhOGVlN2I5Yy4uNmM4MzQ5N2ExYTJiMjI4NGIzNThhMTk4OTEyYjEzM2M1ZDg2Y2NkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAg
LTg0LDkgKzg0LDEwIEBAIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93KFBhc3NSZWZQ
dHI8RE9NV2luZG93PiBkb21XaW5kb3cpCiAvLyBKU09iamVjdCBtZXRob2RzCiAvLyAtLS0tCiAK
LVVTdHJpbmcgSlNET01XaW5kb3dTaGVsbDo6Y2xhc3NOYW1lKCkgY29uc3QKK1VTdHJpbmcgSlNE
T01XaW5kb3dTaGVsbDo6Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAg
cmV0dXJuIHdpbmRvdygpLT5jbGFzc05hbWUoKTsKKyAgICBjb25zdCBKU0RPTVdpbmRvd1NoZWxs
KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8Y29uc3QgSlNET01XaW5kb3dTaGVsbCo+KG9iamVj
dCk7CisgICAgcmV0dXJuIHRoaXNPYmplY3QtPndpbmRvdygpLT5tZXRob2RUYWJsZSgpLT5jbGFz
c05hbWUodGhpc09iamVjdC0+d2luZG93KCkpOwogfQogCiBib29sIEpTRE9NV2luZG93U2hlbGw6
OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKaW5kZXggNDE5M2RmYjliOGE2
ZGRlYmQ2OGViNGEzMDkzMTQ1M2RlNTZjN2RiZC4uOGQyYzIwYTUzZTA1ODgzODAyODMzNjE4NTc0
ZGY0MTIxNTc5MmIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaApAQCAtNzgsNyArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpT
Qzo6T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogCi0g
ICAgICAgIHZpcnR1YWwgSlNDOjpVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0OworICAgICAgICBz
dGF0aWMgSlNDOjpVU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU0M6OkpTT2JqZWN0Kik7CiAgICAg
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhl
Y1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVy
dHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQzo6SlND
ZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3Bw
CmluZGV4IDQ3NTU3OTM4MDI5ZGZiMGQ3ODhlYjE4MGNkZDQ3MGY3NjlkZmIwNWIuLmNkMTJkMTUz
ODExYjczMTMyMWYyZmNiZjIxZTYyMTNmMTVkY2ExOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAg
LTExNSw3ICsxMTUsOCBAQCBKU1ZhbHVlIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjppbnRlcm5hbENv
bnN0cnVjdG9yTmFtZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDEpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCi0gICAgVVN0cmluZyBy
ZXN1bHQgPSBleGVjLT5hcmd1bWVudCgwKS50b1RoaXNPYmplY3QoZXhlYyktPmNsYXNzTmFtZSgp
OworICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0gZXhlYy0+YXJndW1lbnQoMCkudG9UaGlzT2Jq
ZWN0KGV4ZWMpOworICAgIFVTdHJpbmcgcmVzdWx0ID0gdGhpc09iamVjdC0+bWV0aG9kVGFibGUo
KS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QpOwogICAgIHJldHVybiBqc1N0cmluZyhleGVjLCByZXN1
bHQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvdGVzdHF0YmluZGlu
Z3MuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcAppbmRleCA1
MmM2MGMwMmMwNzFkZmRiODg1N2Q0MTM4ZDI3NDZjODlkZTIxODUzLi5kN2JjMDk2NTc4OWUwOTJm
NDZiZGVmZGRjY2YzNTAzZDE3MDY3Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvdGVzdHF0YmluZGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS90ZXN0cXRi
aW5kaW5ncy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgY2xhc3MgR2xvYmFsIDogcHVibGljIEpTTm9u
RmluYWxPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNl
OwogCi0gICAgdmlydHVhbCBVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJnbG9i
YWwiOyB9CisgICAgc3RhdGljIFVTdHJpbmcgY2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KikgeyBy
ZXR1cm4gImdsb2JhbCI7IH0KIH07CiAKIHN0YXRpYyBjaGFyIGNvZGVbXSA9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2pzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfanMuY3BwCmluZGV4IGQyYzlhOTM3Y2JhOGRlZTQ5ZjNjYjc3MDI2Y2Y4ZmNjNzUwOGEy
ZTEuLjQyZTFlMzA2ZTU5N2RkYzFmM2VmYjlkMTVhNTJkZDUzOGM2MTEzZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfanMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfanMuY3BwCkBAIC00NDksOSArNDQ5LDkgQEAgc3RhdGljIEV3a19KU19PYmplY3Qq
IGV3a19qc19ucG9iamVjdF90b19vYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIG9iamVj
dC0+dmlldyA9IDA7CiAKICAgICBqc28gPSByZWludGVycHJldF9jYXN0PEphdmFTY3JpcHRPYmpl
Y3QqPihucE9iamVjdCk7Ci0gICAgaWYgKCFzdHJjbXAoIkFycmF5IiwganNvLT5pbXAtPmNsYXNz
TmFtZSgpLmFzY2lpKCkuZGF0YSgpKSkKKyAgICBpZiAoIXN0cmNtcCgiQXJyYXkiLCBqc28tPmlt
cC0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKGpzby0+aW1wKS5hc2NpaSgpLmRhdGEoKSkpCiAg
ICAgICAgIG9iamVjdC0+dHlwZSA9IEVXS19KU19PQkpFQ1RfQVJSQVk7Ci0gICAgZWxzZSBpZiAo
IXN0cmNtcCgiRnVuY3Rpb24iLCBqc28tPmltcC0+Y2xhc3NOYW1lKCkuYXNjaWkoKS5kYXRhKCkp
KQorICAgIGVsc2UgaWYgKCFzdHJjbXAoIkZ1bmN0aW9uIiwganNvLT5pbXAtPm1ldGhvZFRhYmxl
KCktPmNsYXNzTmFtZShqc28tPmltcCkuYXNjaWkoKS5kYXRhKCkpKQogICAgICAgICBvYmplY3Qt
PnR5cGUgPSBFV0tfSlNfT0JKRUNUX0ZVTkNUSU9OOwogICAgIGVsc2UKICAgICAgICAgb2JqZWN0
LT50eXBlID0gRVdLX0pTX09CSkVDVF9PQkpFQ1Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>