# *************************************************************
#  
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#  
#    http://www.apache.org/licenses/LICENSE-2.0
#  
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License.
#  
# *************************************************************
# i84653 -o sc.ScPageObj
# i84554 -o sc.AccessibleEditableTextPara_PreviewNote
# i88241 -o sc.AccessibleEditableTextPara_HeaderFooter
-o sc.AccessibleEditableTextPara_PreviewCell
-o sc.ScAccessibleCell
# i91044 -o sc.ScAccessibleCsvCell
# i91044 -o sc.ScAccessibleCsvGrid
# i84641 -o sc.ScAccessibleCsvRuler
# i88330 -o sc.ScAccessibleDocument
# i91045 -o sc.ScAccessibleDocumentPagePreview
-o sc.ScAccessiblePageHeader
-o sc.ScAccessiblePageHeaderArea
-o sc.ScAccessiblePreviewCell
-o sc.ScAccessiblePreviewHeaderCell
-o sc.ScAccessiblePreviewTable
-o sc.ScAccessibleSpreadsheet
-o sc.ScAnnotationObj
-o sc.ScAnnotationShapeObj
-o sc.ScAnnotationsObj
-o sc.ScAreaLinkObj
-o sc.ScAreaLinksObj
-o sc.ScAutoFormatFieldObj
-o sc.ScAutoFormatObj
-o sc.ScAutoFormatsObj
-o sc.ScCellCursorObj
-o sc.ScCellFieldObj
-o sc.ScCellFieldsObj
-o sc.ScCellFormatsEnumeration
-o sc.ScCellFormatsObj
-o sc.ScCellObj
-o sc.ScCellRangeObj
-o sc.ScCellRangesObj
-o sc.ScCellSearchObj
-o sc.ScCellTextCursor
-o sc.ScCellsEnumeration
-o sc.ScCellsObj
-o sc.ScChartObj
-o sc.ScChartsObj
-o sc.ScConsolidationDescriptor
-o sc.ScDDELinkObj
-o sc.ScDDELinksObj
-o sc.ScDataPilotFieldGroupItemObj
-o sc.ScDataPilotFieldGroupObj
-o sc.ScDataPilotFieldGroupsObj
-o sc.ScDataPilotFieldObj
-o sc.ScDataPilotFieldsObj
-o sc.ScDataPilotItemObj
-o sc.ScDataPilotItemsObj
-o sc.ScDataPilotTableObj
-o sc.ScDataPilotTablesObj
-o sc.ScDatabaseRangeObj
# -o sc.ScDatabaseRangesObj
# -o sc.ScDocumentConfiguration
# -o sc.ScDrawPageObj
# -o sc.ScDrawPagesObj
# -o sc.ScFilterDescriptorBase
# -o sc.ScFunctionListObj
# -o sc.ScHeaderFieldObj
# -o sc.ScHeaderFieldsObj
# -o sc.ScHeaderFooterContentObj
# -o sc.ScHeaderFooterTextCursor
# -o sc.ScHeaderFooterTextObj
# -o sc.ScIndexEnumeration_CellAnnotationsEnumeration
# -o sc.ScIndexEnumeration_CellAreaLinksEnumeration
# -o sc.ScIndexEnumeration_DDELinksEnumeration
# -o sc.ScIndexEnumeration_DataPilotFieldsEnumeration
# -o sc.ScIndexEnumeration_DataPilotItemsEnumeration
# -o sc.ScIndexEnumeration_DataPilotTablesEnumeration
# -o sc.ScIndexEnumeration_DatabaseRangesEnumeration
# -o sc.ScIndexEnumeration_FunctionDescriptionEnumeration
# -o sc.ScIndexEnumeration_LabelRangesEnumeration
# -o sc.ScIndexEnumeration_NamedRangesEnumeration
# -o sc.ScIndexEnumeration_ScenariosEnumeration
# -o sc.ScIndexEnumeration_SheetCellRangesEnumeration
# -o sc.ScIndexEnumeration_SheetLinksEnumeration
# -o sc.ScIndexEnumeration_SpreadsheetViewPanesEnumeration
# -o sc.ScIndexEnumeration_SpreadsheetsEnumeration
# -o sc.ScIndexEnumeration_SubTotalFieldsEnumeration
# -o sc.ScIndexEnumeration_TableAutoFormatEnumeration
# -o sc.ScIndexEnumeration_TableChartsEnumeration
# -o sc.ScIndexEnumeration_TableColumnsEnumeration
# -o sc.ScIndexEnumeration_TableConditionalEntryEnumeration
# -o sc.ScIndexEnumeration_TableRowsEnumeration
# -o sc.ScIndexEnumeration_TextFieldEnumeration
# -o sc.ScLabelRangeObj
# -o sc.ScLabelRangesObj
# -o sc.ScModelObj
# -o sc.ScNamedRangeObj
# -o sc.ScNamedRangesObj
# -o sc.ScRecentFunctionsObj
# -o sc.ScScenariosObj
# -o sc.ScShapeObj
# -o sc.ScSheetLinkObj
# -o sc.ScSheetLinksObj
# -o sc.ScSpreadsheetSettings
# -o sc.ScSpreadsheetSettingsObj
# -o sc.ScStyleFamiliesObj
# -o sc.ScStyleFamilyObj
# -o sc.ScStyleObj
# -o sc.ScSubTotalDescriptorBase
# -o sc.ScSubTotalFieldObj
# # i84656 -o sc.ScTabViewObj
# -o sc.ScTableColumnObj
# -o sc.ScTableColumnsObj
# -o sc.ScTableConditionalEntry
# -o sc.ScTableConditionalFormat
# -o sc.ScTableRowObj
# -o sc.ScTableRowsObj
# -o sc.ScTableSheetObj
# -o sc.ScUniqueCellFormatsEnumeration
# -o sc.ScUniqueCellFormatsObj
# -o sc.ScTableSheetsObj
# -o sc.ScTableValidationObj
# -o sc.ScViewPaneObj
# #i89411 -o sc.XMLContentExporter
# #i89411 -o sc.XMLContentImporter
# #i89411 -o sc.XMLExporter
# #i89411 -o sc.XMLImporter
# #i89411 -o sc.XMLMetaExporter
# #i89411 -o sc.XMLMetaImporter
# -o sc.XMLSettingsExporter
# -o sc.XMLSettingsImporter
# -o sc.XMLStylesExporter
# -o sc.XMLStylesImporter
# -o sc.XMLExporter
