<?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>42524</bug_id>
          
          <creation_ts>2010-07-18 14:23:33 -0700</creation_ts>
          <short_desc>Add NPJSObjectMap class</short_desc>
          <delta_ts>2010-07-18 14:35:28 -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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253004</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-18 14:23:33 -0700</bug_when>
    <thetext>Add NPJSObjectMap class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253005</commentid>
    <comment_count>1</comment_count>
      <attachid>61913</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-18 14:27:30 -0700</bug_when>
    <thetext>Created attachment 61913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253006</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-18 14:33:12 -0700</bug_when>
    <thetext>Attachment 61913 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/Plugins/NPJSObjectMap.h:26:  #ifndef header guard has wrong style, please use: NPJSObjectMap_h  [build/header_guard] [5]
WebKit2/WebProcess/Plugins/NPJSObjectMap.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
WebKit2/WebProcess/Plugins/NPJSObjectMap.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/Plugins/NPJSObjectMap.cpp:66:  NP_Allocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/WebProcess/Plugins/NPJSObjectMap.cpp:67:  NP_Deallocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/WebProcess/Plugins/NPJSObjectMap.cpp:116:  NPJSObject::NP_Allocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/WebProcess/Plugins/NPJSObjectMap.cpp:123:  NPJSObject::NP_Deallocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/WebProcess/Plugins/PluginView.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 8 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253007</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-18 14:35:28 -0700</bug_when>
    <thetext>Committed r63631: &lt;http://trac.webkit.org/changeset/63631&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61913</attachid>
            <date>2010-07-18 14:27:30 -0700</date>
            <delta_ts>2010-07-18 14:31:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42524-20100718142729.patch</filename>
            <type>text/plain</type>
            <size>18392</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGM4YzQwMWM3YzRiMDZhZWQ4NThjODMzMzFlMDY0OGNlNDYzZDA0Yy4uMmQ4MjYyZDlmMGJmYTUx
MTdkMjYxNzE3ODFmMzgwYmNhMTE3OTQ1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAxMC0wNy0xOCAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBOUEpTT2JqZWN0TWFwIGNsYXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjUyNAorCisgICAg
ICAgIEV4cG9ydCBTY3JpcHRDb250cm9sbGVyIGZ1bmN0aW9ucy4KKworICAgICAgICAqIFdlYkNv
cmUuZXhwLmluOgorCisyMDEwLTA3LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KIAogICAgICAgICBJ
bXBsZW1lbnQgc29tZSBOUFJ1bnRpbWUgcmVsYXRlZCBOUE5fIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MGFjZWYyMmY5NWRmN2NiOTUxMjRkYzJiMWMxYzY3NjEyMjgyOGQzMy4uYmQxYzg1NDJlNWE0YWQw
OGMxYTlkZmIwZjU5MTQwOWVjYmVkZTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0zODAsOCArMzgwLDEwIEBAIF9f
Wk43V2ViQ29yZTE2TmF2aWdhdGlvbkFjdGlvbkMxRXYKIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29u
dHJvbGxlcjEwaW5pdFNjcmlwdEVQTlNfMTVET01XcmFwcGVyV29ybGRFCiBfX1pON1dlYkNvcmUx
NlNjcmlwdENvbnRyb2xsZXIxMWNyZWF0ZVdvcmxkRXYKIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29u
dHJvbGxlcjEzZXhlY3V0ZVNjcmlwdEVSS05TXzZTdHJpbmdFYk5TXzE0U2hvdWxkQWxsb3dYU1NF
CitfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxN2NhbkV4ZWN1dGVTY3JpcHRzRU5TXzMz
UmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVTY3JpcHRzRQogX19aTjdXZWJDb3JlMTZTY3JpcHRD
b250cm9sbGVyMTh3aW5kb3dTY3JpcHRPYmplY3RFdgogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250
cm9sbGVyMjBleGVjdXRlU2NyaXB0SW5Xb3JsZEVQTlNfMTVET01XcmFwcGVyV29ybGRFUktOU182
U3RyaW5nRWJOU18xNFNob3VsZEFsbG93WFNTRQorX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9s
bGVyMjRqc09iamVjdEZvclBsdWdpbkVsZW1lbnRFUE5TXzE3SFRNTFBsdWdJbkVsZW1lbnRFCiBf
X1pON1dlYkNvcmUxNlRocmVhZEdsb2JhbERhdGExMHN0YXRpY0RhdGFFCiBfX1pON1dlYkNvcmUx
NlRocmVhZEdsb2JhbERhdGFDMUV2CiBfX1pON1dlYkNvcmUxNlRocmVhZEdsb2JhbERhdGFEMUV2
CkBAIC0xMjIyLDEyICsxMjI0LDggQEAgX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3RE
MkV2CiBfX1pOM0pTQzhCaW5kaW5nczhJbnN0YW5jZTE5Y3JlYXRlUnVudGltZU9iamVjdEVQTlNf
OUV4ZWNTdGF0ZUUKIF9fWk4zSlNDOEJpbmRpbmdzOEluc3RhbmNlQzJFTjNXVEYxMFBhc3NSZWZQ
dHJJTlMwXzEwUm9vdE9iamVjdEVFRQogX19aTjNKU0M4QmluZGluZ3M4SW5zdGFuY2VEMkV2Ci1f
X1pON1dlYkNvcmUxM0lkZW50aWZpZXJSZXAzZ2V0RVBLYwotX19aTjdXZWJDb3JlMTNJZGVudGlm
aWVyUmVwM2dldEVpCiBfX1pON1dlYkNvcmUxM0lkZW50aWZpZXJSZXA3aXNWYWxpZEVQUzBfCiBf
X1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxNmNyZWF0ZVJvb3RPYmplY3RFUHYKLV9fWk43
V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE3Y2FuRXhlY3V0ZVNjcmlwdHNFTlNfMzNSZWFzb25G
b3JDYWxsaW5nQ2FuRXhlY3V0ZVNjcmlwdHNFCi1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xs
ZXIyNGpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudEVQTlNfMTdIVE1MUGx1Z0luRWxlbWVudEUKIF9f
Wk5LM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDEyZGVmYXVsdFZhbHVlRVBOU185RXhlY1N0
YXRlRU5TXzIyUHJlZmVycmVkUHJpbWl0aXZlVHlwZUUKIF9fWlRWTjNKU0MxM1J1bnRpbWVNZXRo
b2RFCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggOTBmMGZkMjJkMDllYzYyMmFmZjUxZDQ1NTcwNmUyYWI5MzJjOWRiNS4uMDUy
ZmVmZjgyYTU2ZDBhZWU3Y2E1ZmMyMmU2MzhjMGVlODdlYmRmZCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNyBAQAogMjAx
MC0wNy0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBOUEpTT2JqZWN0TWFw
IGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjUyNAorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICBBZGQgZmlsZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVj
dE1hcC5jcHA6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0
TWFwLmg6IEFkZGVkLgorICAgICAgICBBZGQgTlBKU09iamVjdE1hcCwgYSBtYXAgd2hpY2ggY29u
dGFpbnMgTlBPYmplY3RzIHRoYXQgd3JhcCBKYXZhU2NyaXB0IG9iamVjdHMuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpblZpZXc6OlBsdWdpblZpZXcpOgorICAgICAgICBJbml0aWFsaXplIHRoZSBtYXAuCisKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICBJbnZhbGlk
YXRlIHRoZSBtYXAuCisKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6ZnJhbWUpOgorICAg
ICAgICBBZGQgZnJhbWUgZ2V0dGVyLgorCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6Ondp
bmRvd1NjcmlwdE5QT2JqZWN0KToKKyAgICAgICAgV3JhcCB0aGUgd2luZG93IG9iamVjdC4KKwor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3OjpwbHVnaW5FbGVtZW50TlBPYmplY3QpOgorICAg
ICAgICBXcmFwIHRoZSBwbHVnLWluIGVsZW1lbnQgb2JqZWN0LgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaDoKKworMjAxMC0wNy0xOCAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CiAKICAgICAgICAgSW1wbGVtZW50IG1vcmUgTlBSdW50aW1lIHJlbGF0ZWQgTlBOXyBmdW5jdGlv
bnMKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODIxMmVl
OGEyOTgyMDhmZDdlOGE2MmI4ZGIxN2U4ZjM1MmU3M2M4OC4uMzQxODcwZWRiOWJiMjAyZTI0MDg4
OTg1ZWFiZmI3MGU3ZDY1NTZjNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTMyLDYgKzMyLDggQEAKIAkJMEY1MjY2NzQxMURENEE0OTAwMDZEMzNDIC8q
IFdlYlByb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTI2NjczMTFERDRBNDkwMDA2RDMzQyAvKiBXZWJQcm9jZXNzUHJveHlN
YWMubW0gKi87IH07CiAJCTFBMTA0NzVBMTEwQTVBRDUwMEE0M0VDRCAvKiBKYXZhU2NyaXB0Q29y
ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUExQzdERTEwMEU4NDZFMDA3OERFQkMgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
ICovOyB9OwogCQkxQTFDNEVDODEwRDA2MDk5MDA1RTY3RTcgLyogV2ViQ29yZS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUExQzc5
QTEwMEU3RkM1MDA3OERFQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CisJCTFBMjE2MUIw
MTFGMzc2NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIxNjFBRTExRjM3NjY0MDA4QUQwRjUgLyogTlBK
U09iamVjdE1hcC5oICovOyB9OworCQkxQTIxNjFCMTExRjM3NjY0MDA4QUQwRjUgLyogTlBKU09i
amVjdE1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTIxNjFBRjExRjM3NjY0MDA4QUQwRjUgLyogTlBKU09iamVjdE1hcC5jcHAgKi87IH07CiAJ
CTFBMjE2MkIwMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMTYyQUUxMUYzODk3
MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5jcHAgKi87IH07CiAJCTFBMjE2MkIxMTFG
Mzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MkFGMTFGMzg5NzEwMDhBRDBGNSAvKiBO
UFJ1bnRpbWVVdGlsaXRpZXMuaCAqLzsgfTsKIAkJMUEzMDA2NkUxMTEwRjRGNzAwMzE5MzdDIC8q
IFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMzAwNjZDMTExMEY0RjcwMDMxOTM3QyAvKiBSZXNwb25zaXZlbmVzc1Rp
bWVyLmggKi87IH07CkBAIC0yOTksNiArMzAxLDggQEAKIAkJMEY1MjY1QkIxMUREMzc4NjAwMDZE
MzNDIC8qIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eU1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1MjY2NzMxMURENEE0OTAwMDZEMzND
IC8qIFdlYlByb2Nlc3NQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYlByb2Nlc3NQcm94eU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMTA1OEM3QjFGRUE1NTg1RTExQ0EyQ0JCIC8qIENvY29hLmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkx
QTIxNjFBRTExRjM3NjY0MDA4QUQwRjUgLyogTlBKU09iamVjdE1hcC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOUEpTT2JqZWN0TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFBMjE2MUFGMTFGMzc2NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5QSlNPYmplY3RNYXAuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTIxNjJBRTExRjM4OTcxMDA4QUQwRjUgLyog
TlBSdW50aW1lVXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5QUnVudGltZVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFBMjE2MkFGMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlBSdW50aW1lVXRpbGl0aWVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMzAwNjZDMTExMEY0RjcwMDMxOTM3QyAvKiBSZXNwb25z
aXZlbmVzc1RpbWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc3BvbnNp
dmVuZXNzVGltZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1Miw2ICs2NTYs
OCBAQAogCQkJCTFBNkZCOTA4MTFFNjZGQjEwMERCMTM3MSAvKiBOZXRzY2FwZSAqLywKIAkJCQkx
QTZGQjdFNTExRTY1MzA1MDBEQjEzNzEgLyogRHVtbXlQbHVnaW4uY3BwICovLAogCQkJCTFBNkZC
N0U0MTFFNjUzMDUwMERCMTM3MSAvKiBEdW1teVBsdWdpbi5oICovLAorCQkJCTFBMjE2MUFGMTFG
Mzc2NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmNwcCAqLywKKwkJCQkxQTIxNjFBRTExRjM3
NjY0MDA4QUQwRjUgLyogTlBKU09iamVjdE1hcC5oICovLAogCQkJCTFBMjE2MkFFMTFGMzg5NzEw
MDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwICovLAogCQkJCTFBMjE2MkFGMTFGMzg5
NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuaCAqLywKIAkJCQkxQTZGQjdEMDExRTY1
MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNwcCAqLywKQEAgLTEyNDAsNiArMTI0Niw3IEBACiAJCQkJ
QkM4Njk5QjcxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlld0ludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzJFNkU4QzExNDE5NzE1MDBBNjNCMUUgLyogV29ya0l0ZW0uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMkU2RThFMTE0MTk3MTUwMEE2M0IxRSAvKiBXb3JrUXVldWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFBMjE2MUIwMTFGMzc2NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTIxNjJCMTExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1l
VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTE0MzEsNiArMTQzOCw3IEBACiAJCQkJQkM4Njk5QjYx
MTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMkU2RThE
MTE0MTk3MTUwMEE2M0IxRSAvKiBXb3JrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMw
MDkyRjgxMTU4MzdBMzAwRTBBRTJBIC8qIFdvcmtRdWV1ZU1hYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxQTIxNjFCMTExRjM3NjY0MDA4QUQwRjUgLyogTlBKU09iamVjdE1hcC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQTIxNjJCMDExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0
aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TlBKU09iamVjdE1hcC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0
TWFwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mODg3ZWI2ZGFhZWNjYjIyNTYwYWY3Y2I0ZTY1MmM1MjU2MDQw
MTkzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09i
amVjdE1hcC5jcHAKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiTlBK
U09iamVjdE1hcC5oIgorCisjaW5jbHVkZSAiTlBSdW50aW1lVXRpbGl0aWVzLmgiCisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Q
cm90ZWN0Lmg+CisjaW5jbHVkZSA8V2ViS2l0L25wcnVudGltZS5oPgorI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgewor
cHVibGljOgorICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBKU09iamVjdE1hcCogb2Jq
ZWN0TWFwLCBKU09iamVjdCoganNPYmplY3QpOworCitwcml2YXRlOgorICAgIE5QSlNPYmplY3Qo
KQorICAgICAgICA6IG1fb2JqZWN0TWFwKDApCisgICAgeworICAgIH0KKworICAgIH5OUEpTT2Jq
ZWN0KCkKKyAgICB7CisgICAgICAgIC8vIFJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgbWFwLgor
ICAgICAgICBBU1NFUlQobV9vYmplY3RNYXAtPm1fb2JqZWN0cy5jb250YWlucyhtX2pzT2JqZWN0
LmdldCgpKSk7CisgICAgICAgIG1fb2JqZWN0TWFwLT5tX29iamVjdHMucmVtb3ZlKG1fanNPYmpl
Y3QuZ2V0KCkpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGlzTlBKU09iamVjdChOUE9iamVj
dCopOworCisgICAgc3RhdGljIE5QSlNPYmplY3QqIHRvTlBKU09iamVjdChOUE9iamVjdCogbnBP
YmplY3QpCisgICAgeworICAgICAgICBBU1NFUlQoaXNOUEpTT2JqZWN0KG5wT2JqZWN0KSk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxOUEpTT2JqZWN0Kj4obnBPYmplY3QpOworICAgIH0K
KworICAgIHZvaWQgaW5pdGlhbGl6ZShOUEpTT2JqZWN0TWFwKiwgSlNPYmplY3QqIGpzT2JqZWN0
KTsKKworICAgIHN0YXRpYyBOUENsYXNzKiBucENsYXNzKCk7CisgICAgc3RhdGljIE5QT2JqZWN0
KiBOUF9BbGxvY2F0ZShOUFAsIE5QQ2xhc3MqKTsKKyAgICBzdGF0aWMgdm9pZCBOUF9EZWFsbG9j
YXRlKE5QT2JqZWN0Kik7CisKKyAgICBOUEpTT2JqZWN0TWFwKiBtX29iamVjdE1hcDsKKyAgICBQ
cm90ZWN0ZWRQdHI8SlNPYmplY3Q+IG1fanNPYmplY3Q7Cit9OworCitOUEpTT2JqZWN0KiBOUEpT
T2JqZWN0OjpjcmVhdGUoTlBKU09iamVjdE1hcCogb2JqZWN0TWFwLCBKU09iamVjdCoganNPYmpl
Y3QpCit7CisgICAgTlBKU09iamVjdCogbnBKU09iamVjdCA9IHRvTlBKU09iamVjdChjcmVhdGVO
UE9iamVjdCgwLCBucENsYXNzKCkpKTsKKyAgICBucEpTT2JqZWN0LT5pbml0aWFsaXplKG9iamVj
dE1hcCwganNPYmplY3QpOworCisgICAgcmV0dXJuIG5wSlNPYmplY3Q7Cit9CisKK2Jvb2wgTlBK
U09iamVjdDo6aXNOUEpTT2JqZWN0KE5QT2JqZWN0KiBucE9iamVjdCkKK3sKKyAgICByZXR1cm4g
bnBPYmplY3QtPl9jbGFzcyA9PSBucENsYXNzKCk7Cit9CisKK3ZvaWQgTlBKU09iamVjdDo6aW5p
dGlhbGl6ZShOUEpTT2JqZWN0TWFwKiBvYmplY3RNYXAsIEpTT2JqZWN0KiBqc09iamVjdCkKK3sK
KyAgICBBU1NFUlQoIW1fb2JqZWN0TWFwKTsKKyAgICBBU1NFUlQoIW1fanNPYmplY3QpOworCisg
ICAgbV9vYmplY3RNYXAgPSBvYmplY3RNYXA7CisgICAgbV9qc09iamVjdCA9IGpzT2JqZWN0Owor
fQorCitOUENsYXNzKiBOUEpTT2JqZWN0OjpucENsYXNzKCkKK3sKKyAgICBzdGF0aWMgTlBDbGFz
cyBucENsYXNzID0geworICAgICAgICBOUF9DTEFTU19TVFJVQ1RfVkVSU0lPTiwKKyAgICAgICAg
TlBfQWxsb2NhdGUsCisgICAgICAgIE5QX0RlYWxsb2NhdGUsCisgICAgICAgIDAsIAorICAgICAg
ICAwLAorICAgICAgICAwLAorICAgICAgICAwLAorICAgICAgICAwLAorICAgICAgICAwLAorICAg
ICAgICAwLAorICAgICAgICAwLAorICAgICAgICAwLAorICAgICAgICAwCisgICAgfTsKKworICAg
IHJldHVybiAmbnBDbGFzczsKK30KKyAgICAKK05QT2JqZWN0KiBOUEpTT2JqZWN0OjpOUF9BbGxv
Y2F0ZShOUFAgbnBwLCBOUENsYXNzKiBucENsYXNzKQoreworICAgIEFTU0VSVF9VTlVTRUQobnBw
LCAhbnBwKTsKKworICAgIHJldHVybiBuZXcgTlBKU09iamVjdDsKK30KKwordm9pZCBOUEpTT2Jq
ZWN0OjpOUF9EZWFsbG9jYXRlKE5QT2JqZWN0KiBucE9iamVjdCkKK3sKKyAgICBOUEpTT2JqZWN0
KiBucEpTT2JqZWN0ID0gdG9OUEpTT2JqZWN0KG5wT2JqZWN0KTsKKyAgICBkZWxldGUgbnBKU09i
amVjdDsKK30KKworTlBKU09iamVjdE1hcDo6TlBKU09iamVjdE1hcChQbHVnaW5WaWV3KiBwbHVn
aW5WaWV3KQorICAgIDogbV9wbHVnaW5WaWV3KHBsdWdpblZpZXcpCit7Cit9CisKK05QT2JqZWN0
KiBOUEpTT2JqZWN0TWFwOjpnZXRPckNyZWF0ZU9iamVjdChKU09iamVjdCoganNPYmplY3QpCit7
CisgICAgLy8gRmlyc3QsIGNoZWNrIGlmIHdlIGFscmVhZHkga25vdyBhYm91dCB0aGlzIG9iamVj
dC4KKyAgICBpZiAoTlBKU09iamVjdCogbnBKU09iamVjdCA9IG1fb2JqZWN0cy5nZXQoanNPYmpl
Y3QpKSB7CisgICAgICAgIHJldGFpbk5QT2JqZWN0KG5wSlNPYmplY3QpOworICAgICAgICByZXR1
cm4gbnBKU09iamVjdDsKKyAgICB9CisKKyAgICBOUEpTT2JqZWN0KiBucEpTT2JqZWN0ID0gTlBK
U09iamVjdDo6Y3JlYXRlKHRoaXMsIGpzT2JqZWN0KTsKKyAgICBtX29iamVjdHMuc2V0KGpzT2Jq
ZWN0LCBucEpTT2JqZWN0KTsKKworICAgIHJldHVybiBucEpTT2JqZWN0OworfQorCit2b2lkIE5Q
SlNPYmplY3RNYXA6OmludmFsaWRhdGUoKQoreworICAgIFZlY3RvcjxOUEpTT2JqZWN0Kj4gbnBK
U09iamVjdHM7CisgICAgY29weVZhbHVlc1RvVmVjdG9yKG1fb2JqZWN0cywgbnBKU09iamVjdHMp
OworCisgICAgLy8gRGVhbGxvY2F0ZSBhbGwgdGhlIG9iamVjdCB3cmFwcGVycyBzbyB3ZSB3b24n
dCBsZWFrIGFueSBKYXZhU2NyaXB0IG9iamVjdHMuCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBucEpTT2JqZWN0cy5zaXplKCk7ICsraSkKKyAgICAgICAgZGVhbGxvY2F0ZU5QT2JqZWN0KG5w
SlNPYmplY3RzW2ldKTsKKyAgICAKKyAgICAvLyBXZSBzaG91bGRuJ3QgaGF2ZSBhbnkgb2JqZWN0
cyBsZWZ0IG5vdy4KKyAgICBBU1NFUlQobV9vYmplY3RzLmlzRW1wdHkoKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TlBKU09iamVjdE1hcC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdE1h
cC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE4MjNhMDE0ZDJlMTAxYzhiMGM4M2M0Y2YwZWFlMDMwNmVlMzNjMjgK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0
TWFwLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTlBKU09iamVjdFdy
YXBwZXJNYXBfaAorI2RlZmluZSBOUEpTT2JqZWN0V3JhcHBlck1hcF9oCisKKyNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgorCitjbGFzcyBOUE9iamVjdDsKKworbmFtZXNwYWNlIEpTQyB7CisgICAg
Y2xhc3MgSlNPYmplY3Q7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBOUEpTT2Jq
ZWN0OworY2xhc3MgUGx1Z2luVmlldzsKKworLy8gQSBwZXIgcGx1Zy1pbiBtYXAgb2YgTlBPYmpl
Y3RzIHRoYXQgd3JhcCBKYXZhU2NyaXB0IG9iamVjdHMuCisKK2NsYXNzIE5QSlNPYmplY3RNYXAg
eworcHVibGljOgorICAgIGV4cGxpY2l0IE5QSlNPYmplY3RNYXAoUGx1Z2luVmlldyopOworCisg
ICAgLy8gUmV0dXJucyBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIHRoZSBnaXZlbiBKYXZhU2NyaXB0
IG9iamVjdC4gSWYgdGhlcmUgaXMgYWxyZWFkeSBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIHRoaXMg
SlNPYmplY3QsIGl0IHdpbGwKKyAgICAvLyByZXRhaW4gaXQgYW5kIHJldHVybiBpdC4KKyAgICBO
UE9iamVjdCogZ2V0T3JDcmVhdGVPYmplY3QoSlNDOjpKU09iamVjdCopOworCisgICAgdm9pZCBp
bnZhbGlkYXRlKCk7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIE5QSlNPYmplY3Q7Cisg
ICAgUGx1Z2luVmlldyogbV9wbHVnaW5WaWV3OworCisgICAgSGFzaE1hcDxKU0M6OkpTT2JqZWN0
KiwgTlBKU09iamVjdCo+IG1fb2JqZWN0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gTlBKU09iamVjdFdyYXBwZXJNYXBfaApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA2ZjMxYzE2ODJkM2Y5NDU2MDVhNTQ1MmI0ZmYwYWMz
NGFjMDcyN2Q5Li42MTJiNDZmNWY3ZGVmYzg3MDRjMGZkZTE4NmE2MDdkOGQwNzcwZmRhIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtMzcsNiArMzcsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Nj
cm9sbFZpZXcuaD4KIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTIxMCw2ICsyMTEsNyBAQCBQbHVnaW5WaWV3
OjpQbHVnaW5WaWV3KFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBwbHVnaW5FbGVtZW50LCBQ
YXNzUmVmUHRyPFBsdQogICAgICwgbV9pc0luaXRpYWxpemVkKGZhbHNlKQogICAgICwgbV9pc1dh
aXRpbmdVbnRpbE1lZGlhQ2FuU3RhcnQoZmFsc2UpCiAgICAgLCBtX3BlbmRpbmdVUkxSZXF1ZXN0
c1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1
ZXN0c1RpbWVyRmlyZWQpCisgICAgLCBtX25wSlNPYmplY3RNYXAodGhpcykKIHsKIH0KIApAQCAt
MjI2LDEwICsyMjgsMTggQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQogICAgIGlmIChtX3Bs
dWdpbiAmJiBtX2lzSW5pdGlhbGl6ZWQpCiAgICAgICAgIG1fcGx1Z2luLT5kZXN0cm95KCk7CiAK
KyAgICAvLyBJbnZhbGlkYXRlIHRoZSBOUE9iamVjdCBtYXAuCisgICAgbV9ucEpTT2JqZWN0TWFw
LmludmFsaWRhdGUoKTsKKwogICAgIC8vIENhbmNlbCBhbGwgc3RyZWFtcy4KICAgICBjYW5jZWxB
bGxTdHJlYW1zKCk7CiB9CiAKK0ZyYW1lKiBQbHVnaW5WaWV3OjpmcmFtZSgpCit7CisgICAgcmV0
dXJuIG1fcGx1Z2luRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKK30KKwogdm9pZCBQbHVn
aW5WaWV3Ojppbml0aWFsaXplUGx1Z2luKCkKIHsKICAgICBpZiAobV9pc0luaXRpYWxpemVkKQpA
QCAtNTMzLDE0ICs1NDMsMjUgQEAgdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVp
bnQ2NF90IHN0cmVhbUlEKQogCiBOUE9iamVjdCogUGx1Z2luVmlldzo6d2luZG93U2NyaXB0TlBP
YmplY3QoKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0dXJuIDA7CisgICAg
aWYgKCFmcmFtZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIEZJWE1FOiBIYW5kbGUg
SmF2YVNjcmlwdCBiZWluZyBkaXNhYmxlZC4KKyAgICBBU1NFUlQoZnJhbWUoKS0+c2NyaXB0KCkt
PmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSk7CisKKyAgICByZXR1
cm4gbV9ucEpTT2JqZWN0TWFwLmdldE9yQ3JlYXRlT2JqZWN0KGZyYW1lKCktPnNjcmlwdCgpLT53
aW5kb3dTaGVsbChwbHVnaW5Xb3JsZCgpKS0+d2luZG93KCkpOwogfQogCiBOUE9iamVjdCogUGx1
Z2luVmlldzo6cGx1Z2luRWxlbWVudE5QT2JqZWN0KCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgotICAgIHJldHVybiAwOworICAgIGlmICghZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICAvLyBGSVhNRTogSGFuZGxlIEphdmFTY3JpcHQgYmVpbmcgZGlzYWJsZWQuCisgICAg
SlNPYmplY3QqIG9iamVjdCA9IGZyYW1lKCktPnNjcmlwdCgpLT5qc09iamVjdEZvclBsdWdpbkVs
ZW1lbnQobV9wbHVnaW5FbGVtZW50KTsKKyAgICBBU1NFUlQob2JqZWN0KTsKKworICAgIHJldHVy
biBtX25wSlNPYmplY3RNYXAuZ2V0T3JDcmVhdGVPYmplY3Qob2JqZWN0KTsKIH0KIAogdm9pZCBQ
bHVnaW5WaWV3OjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiB3ZWJGcmFtZSkKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCBmMzdjMDE2OTY3YmQzYTA4YTA0OWRlNGZk
OTEzOWEwYWViZmQ3OGRlLi4wZDgyYzljNzM0MTNiNzMyZGU2ODI2Y2I4Njc5MDE3NzQ0ZmRiNDQy
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKKysr
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFBsdWdpblZpZXdfaAogI2RlZmluZSBQbHVnaW5WaWV3X2gKIAorI2luY2x1
ZGUgIk5QSlNPYmplY3RNYXAuaCIKICNpbmNsdWRlICJQbHVnaW4uaCIKICNpbmNsdWRlICJQbHVn
aW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgpAQCAtMzgsNiArMzksNyBAQAog
Ly8gRklYTUU6IEV2ZW50dWFsbHkgdGhpcyBzaG91bGQgbW92ZSB0byBXZWJDb3JlLgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CisgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgSFRNTFBsdWdJbkVs
ZW1lbnQ7CiB9CiAKQEAgLTUwLDYgKzUyLDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFBsdWdpblZpZXcocGx1Z2luRWxlbWVudCwgcGx1Z2luLCBwYXJhbWV0ZXJzKSk7
CiAgICAgfQogCisgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKCk7CisKIHByaXZhdGU6CiAgICAg
UGx1Z2luVmlldyhXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIFBhc3NSZWZQdHI8UGx1Z2lu
PiwgY29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKTsKICAgICB2aXJ0dWFsIH5Q
bHVnaW5WaWV3KCk7CkBAIC0xMTQsNiArMTE4LDkgQEAgcHJpdmF0ZToKIAogICAgIC8vIFN0cmVh
bXMgdGhhdCB0aGUgcGx1Zy1pbiBoYXMgcmVxdWVzdGVkIHRvIGxvYWQuIAogICAgIEhhc2hNYXA8
dWludDY0X3QsIFJlZlB0cjxTdHJlYW0+ID4gbV9zdHJlYW1zOworCisgICAgLy8gTlBPYmplY3Rz
IHdyYXBwaW5nIEphdmFTY3JpcHQgb2JqZWN0cy4KKyAgICBOUEpTT2JqZWN0TWFwIG1fbnBKU09i
amVjdE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="50019"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>