From c89de96a1b349656c1c151486bbf8caca52593f3 Mon Sep 17 00:00:00 2001 From: Viktor Andreev Date: Wed, 10 Jul 2024 20:04:45 +0600 Subject: [PATCH] Add Esstr bin records --- .../Linux/XlsbFormatLib/XlsbFormatLib.pro | 10 +- .../XlsbFormat/Biff12_records/BeginEsstr.cpp | 64 +++++++++++ OOXML/XlsbFormat/Biff12_records/BeginEsstr.h | 59 ++++++++++ OOXML/XlsbFormat/Biff12_records/EndEsstr.cpp | 54 ++++++++++ OOXML/XlsbFormat/Biff12_records/EndEsstr.h | 52 +++++++++ OOXML/XlsbFormat/Biff12_records/Str.cpp | 64 +++++++++++ OOXML/XlsbFormat/Biff12_records/Str.h | 59 ++++++++++ OOXML/XlsbFormat/Biff12_unions/ESSTR.cpp | 101 ++++++++++++++++++ OOXML/XlsbFormat/Biff12_unions/ESSTR.h | 60 +++++++++++ 9 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 OOXML/XlsbFormat/Biff12_records/BeginEsstr.cpp create mode 100644 OOXML/XlsbFormat/Biff12_records/BeginEsstr.h create mode 100644 OOXML/XlsbFormat/Biff12_records/EndEsstr.cpp create mode 100644 OOXML/XlsbFormat/Biff12_records/EndEsstr.h create mode 100644 OOXML/XlsbFormat/Biff12_records/Str.cpp create mode 100644 OOXML/XlsbFormat/Biff12_records/Str.h create mode 100644 OOXML/XlsbFormat/Biff12_unions/ESSTR.cpp create mode 100644 OOXML/XlsbFormat/Biff12_unions/ESSTR.h diff --git a/OOXML/Projects/Linux/XlsbFormatLib/XlsbFormatLib.pro b/OOXML/Projects/Linux/XlsbFormatLib/XlsbFormatLib.pro index c762e2159e..046039e26c 100644 --- a/OOXML/Projects/Linux/XlsbFormatLib/XlsbFormatLib.pro +++ b/OOXML/Projects/Linux/XlsbFormatLib/XlsbFormatLib.pro @@ -695,6 +695,9 @@ SOURCES += \ ../../../XlsbFormat/Biff12_records/EndDynamicArrayPr.cpp \ ../../../XlsbFormat/Biff12_records/BeginRichValueBlock.cpp \ ../../../XlsbFormat/Biff12_records/EndRichValueBlock.cpp \ + ../../../XlsbFormat/Biff12_records/BeginEsstr.cpp \ + ../../../XlsbFormat/Biff12_records/EndEsstr.cpp \ + ../../../XlsbFormat/Biff12_records/Str.cpp \ ### Biff12_structures ../../../XlsbFormat/Biff12_structures/LPByteBuf.cpp \ ../../../XlsbFormat/Biff12_structures/IsoPasswordData.cpp \ @@ -1068,6 +1071,7 @@ SOURCES += \ ../../../XlsbFormat/Biff12_unions/FMD.cpp \ ../../../XlsbFormat/Biff12_unions/DYNAMICARRAYMETADATA.cpp \ ../../../XlsbFormat/Biff12_unions/RICHDATAMETADATA.cpp \ + ../../../XlsbFormat/Biff12_unions/ESSTR.cpp \ } HEADERS += \ ../../../XlsbFormat/Biff12_unions/COMMENTS.h \ @@ -1737,6 +1741,9 @@ HEADERS += \ ../../../XlsbFormat/Biff12_records/EndDynamicArrayPr.h \ ../../../XlsbFormat/Biff12_records/BeginRichValueBlock.h \ ../../../XlsbFormat/Biff12_records/EndRichValueBlock.h \ + ../../../XlsbFormat/Biff12_records/BeginEsstr.h \ + ../../../XlsbFormat/Biff12_records/EndEsstr.h \ + ../../../XlsbFormat/Biff12_records/Str.h \ ### Biff12_structures ../../../XlsbFormat/Biff12_structures/ACProductVersion.h \ ../../../XlsbFormat/Biff12_structures/Blxf.h \ @@ -2109,4 +2116,5 @@ HEADERS += \ ../../../XlsbFormat/Biff12_unions/ESFMD.h \ ../../../XlsbFormat/Biff12_unions/FMD.h \ ../../../XlsbFormat/Biff12_unions/DYNAMICARRAYMETADATA.h \ - ../../../XlsbFormat/Biff12_unions/RICHDATAMETADATA.h \ \ No newline at end of file + ../../../XlsbFormat/Biff12_unions/RICHDATAMETADATA.h \ + ../../../XlsbFormat/Biff12_unions/ESSTR.h \ \ No newline at end of file diff --git a/OOXML/XlsbFormat/Biff12_records/BeginEsstr.cpp b/OOXML/XlsbFormat/Biff12_records/BeginEsstr.cpp new file mode 100644 index 0000000000..567553dfa9 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/BeginEsstr.cpp @@ -0,0 +1,64 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2021 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "BeginEsstr.h" + +using namespace XLS; + +namespace XLSB +{ + + BeginEsstr::BeginEsstr() + { + } + + BeginEsstr::~BeginEsstr() + { + } + + BaseObjectPtr BeginEsstr::clone() + { + return BaseObjectPtr(new BeginEsstr(*this)); + } + + void BeginEsstr::readFields(XLS::CFRecord& record) + { + record >> Cstr; + } + + void BeginEsstr::writeFields(XLS::CFRecord& record) + { + record << Cstr; + } + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_records/BeginEsstr.h b/OOXML/XlsbFormat/Biff12_records/BeginEsstr.h new file mode 100644 index 0000000000..b81211bd80 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/BeginEsstr.h @@ -0,0 +1,59 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2024 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +#pragma once + +#include "../../../MsBinaryFile/XlsFile/Format/Logic/Biff_records/BiffRecord.h" +#include "../../XlsxFormat/WritingElement.h" + +namespace XLSB +{ + // Logical representation of BrtBeginEsstr record in BIFF12 + class BeginEsstr: public XLS::BiffRecord + { + BIFF_RECORD_DEFINE_TYPE_INFO(BeginEsstr) + BASE_OBJECT_DEFINE_CLASS_NAME(BeginEsstr) + public: + BeginEsstr(); + ~BeginEsstr(); + + XLS::BaseObjectPtr clone(); + + void readFields(XLS::CFRecord& record) override; + void writeFields(XLS::CFRecord& record) override; + + //static const XLS::ElementType type = XLS::typeBeginEsstr; + + _INT32 Cstr; + }; + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_records/EndEsstr.cpp b/OOXML/XlsbFormat/Biff12_records/EndEsstr.cpp new file mode 100644 index 0000000000..ce6052c9f9 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/EndEsstr.cpp @@ -0,0 +1,54 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2021 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "EndEsstr.h" + +using namespace XLS; + +namespace XLSB +{ + + EndEsstr::EndEsstr() + { + } + + EndEsstr::~EndEsstr() + { + } + + BaseObjectPtr EndEsstr::clone() + { + return BaseObjectPtr(new EndEsstr(*this)); + } + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_records/EndEsstr.h b/OOXML/XlsbFormat/Biff12_records/EndEsstr.h new file mode 100644 index 0000000000..943e92c9b5 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/EndEsstr.h @@ -0,0 +1,52 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2024 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +#pragma once + +#include "../../../MsBinaryFile/XlsFile/Format/Logic/Biff_records/BiffRecord.h" +#include "../../XlsxFormat/WritingElement.h" + +namespace XLSB +{ + // Logical representation of BrtEndEsstr record in BIFF12 + class EndEsstr: public XLS::BiffRecord + { + BIFF_RECORD_DEFINE_TYPE_INFO(EndEsstr) + BASE_OBJECT_DEFINE_CLASS_NAME(EndEsstr) + public: + EndEsstr(); + ~EndEsstr(); + XLS::BaseObjectPtr clone(); + //static const XLS::ElementType type = XLS::typeEndEsstr; + }; + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_records/Str.cpp b/OOXML/XlsbFormat/Biff12_records/Str.cpp new file mode 100644 index 0000000000..14082471a8 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/Str.cpp @@ -0,0 +1,64 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2021 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "Str.h" + +using namespace XLS; + +namespace XLSB +{ + + Str::Str() + { + } + + Str::~Str() + { + } + + BaseObjectPtr Str::clone() + { + return BaseObjectPtr(new Str(*this)); + } + + void Str::readFields(XLS::CFRecord& record) + { + record >> stText; + } + + void Str::writeFields(XLS::CFRecord& record) + { + record << stText; + } + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_records/Str.h b/OOXML/XlsbFormat/Biff12_records/Str.h new file mode 100644 index 0000000000..ca3f77ca8c --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_records/Str.h @@ -0,0 +1,59 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2024 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +#pragma once + +#include "../../../MsBinaryFile/XlsFile/Format/Logic/Biff_records/BiffRecord.h" +#include "../../../MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BIFF12/XLWideString.h" +#include "../../XlsxFormat/WritingElement.h" + +namespace XLSB +{ + // Logical representation of BrtStr record in BIFF12 + class Str: public XLS::BiffRecord + { + BIFF_RECORD_DEFINE_TYPE_INFO(Str) + BASE_OBJECT_DEFINE_CLASS_NAME(Str) + public: + Str(); + ~Str(); + + XLS::BaseObjectPtr clone(); + + void readFields(XLS::CFRecord& record) override; + void writeFields(XLS::CFRecord& record) override; + + XLWideString stText; + //static const XLS::ElementType type = XLS::typeStr; + }; + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_unions/ESSTR.cpp b/OOXML/XlsbFormat/Biff12_unions/ESSTR.cpp new file mode 100644 index 0000000000..fa26669fe8 --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_unions/ESSTR.cpp @@ -0,0 +1,101 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2021 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +#include "ESSTR.h" +#include "../Biff12_records/BeginEsstr.h" +#include "../Biff12_records/Str.h" +#include "../Biff12_records/EndEsstr.h" + + +using namespace XLS; + +namespace XLSB +{ + + ESSTR::ESSTR() + { + } + + ESSTR::~ESSTR() + { + } + + BaseObjectPtr ESSTR::clone() + { + return BaseObjectPtr(new ESSTR(*this)); + } + + //ESSTR = [BrtESSTR] [BrtValueMeta] + const bool ESSTR::loadContent(BinProcessor& proc) + { + m_BrtEndEsstr = false; + if (proc.optional()) + { + m_BrtBeginEsstr = elements_.back(); + elements_.pop_back(); + } + + int countStr = proc.repeated(0, 0); + + while(countStr > 0) + { + m_BrtStrs.insert(m_BrtStrs.begin(), elements_.back()); + elements_.pop_back(); + countStr--; + } + + if (proc.optional()) + { + m_BrtEndEsstr = true; + elements_.pop_back(); + } + else + m_BrtEndEsstr = false; + + return m_BrtBeginEsstr && m_BrtEndEsstr; + return true; + } + + const bool ESSTR::saveContent(BinProcessor& proc) + { + if (m_BrtBeginEsstr != nullptr) + proc.mandatory(*m_BrtBeginEsstr); + + for(auto i : m_BrtStrs) + proc.mandatory(*i); + + proc.mandatory(); + return true; + } + +} // namespace XLSB + diff --git a/OOXML/XlsbFormat/Biff12_unions/ESSTR.h b/OOXML/XlsbFormat/Biff12_unions/ESSTR.h new file mode 100644 index 0000000000..b27cde794b --- /dev/null +++ b/OOXML/XlsbFormat/Biff12_unions/ESSTR.h @@ -0,0 +1,60 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2024 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +#pragma once + +#include "../../../MsBinaryFile/XlsFile/Format/Logic/CompositeObject.h" + + + +namespace XLSB +{ + + class ESSTR: public XLS::CompositeObject + { + BASE_OBJECT_DEFINE_CLASS_NAME(ESSTR) + public: + ESSTR(); + ~ESSTR(); + + XLS::BaseObjectPtr clone(); + + const bool loadContent(XLS::BinProcessor& proc) override; + const bool saveContent(XLS::BinProcessor& proc) override; + + XLS::BaseObjectPtr m_BrtBeginEsstr; + std::vector m_BrtStrs; + bool m_BrtEndEsstr; + + }; + +} // namespace XLSB +