openmetadata-ingestion 1.2.5.2__py3-none-any.whl → 1.3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openmetadata-ingestion might be problematic. Click here for more details.

Files changed (826) hide show
  1. airflow_provider_openmetadata/lineage/runner.py +44 -5
  2. airflow_provider_openmetadata/lineage/status.py +1 -1
  3. metadata/antlr/split_listener.py +1 -4
  4. metadata/applications/auto_tagger.py +212 -0
  5. metadata/cli/app.py +47 -0
  6. metadata/cli/db_dump.py +6 -3
  7. metadata/clients/aws_client.py +4 -0
  8. metadata/clients/domo_client.py +0 -2
  9. metadata/cmd.py +24 -13
  10. metadata/data_insight/processor/reports/entity_report_data_processor.py +8 -2
  11. metadata/data_insight/processor/reports/web_analytic_report_data_processor.py +4 -0
  12. metadata/data_insight/source/metadata.py +11 -4
  13. metadata/data_quality/interface/sqlalchemy/databricks/test_suite_interface.py +29 -0
  14. metadata/data_quality/interface/sqlalchemy/snowflake/test_suite_interface.py +29 -0
  15. metadata/data_quality/interface/sqlalchemy/sqa_test_suite_interface.py +6 -6
  16. metadata/data_quality/interface/sqlalchemy/unity_catalog/test_suite_interface.py +35 -0
  17. metadata/data_quality/interface/test_suite_interface_factory.py +40 -0
  18. metadata/data_quality/processor/test_case_runner.py +17 -8
  19. metadata/data_quality/source/test_suite.py +8 -2
  20. metadata/data_quality/validations/base_test_handler.py +21 -17
  21. metadata/data_quality/validations/column/base/columnValueLengthsToBeBetween.py +38 -1
  22. metadata/data_quality/validations/column/base/columnValuesToBeBetween.py +36 -1
  23. metadata/data_quality/validations/column/base/columnValuesToBeInSet.py +27 -0
  24. metadata/data_quality/validations/column/base/columnValuesToBeNotInSet.py +27 -0
  25. metadata/data_quality/validations/column/base/columnValuesToBeNotNull.py +27 -0
  26. metadata/data_quality/validations/column/base/columnValuesToBeUnique.py +15 -0
  27. metadata/data_quality/validations/column/base/columnValuesToMatchRegex.py +27 -0
  28. metadata/data_quality/validations/column/base/columnValuesToNotMatchRegex.py +27 -0
  29. metadata/data_quality/validations/column/pandas/columnValueLengthsToBeBetween.py +23 -0
  30. metadata/data_quality/validations/column/pandas/columnValuesToBeBetween.py +23 -0
  31. metadata/data_quality/validations/column/pandas/columnValuesToBeInSet.py +11 -0
  32. metadata/data_quality/validations/column/pandas/columnValuesToBeNotInSet.py +11 -0
  33. metadata/data_quality/validations/column/pandas/columnValuesToBeNotNull.py +11 -0
  34. metadata/data_quality/validations/column/pandas/columnValuesToMatchRegex.py +11 -0
  35. metadata/data_quality/validations/column/pandas/columnValuesToNotMatchRegex.py +11 -0
  36. metadata/data_quality/validations/column/sqlalchemy/columnValueLengthsToBeBetween.py +27 -0
  37. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeBetween.py +23 -0
  38. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeInSet.py +11 -0
  39. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeNotInSet.py +11 -0
  40. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeNotNull.py +11 -0
  41. metadata/data_quality/validations/column/sqlalchemy/columnValuesToMatchRegex.py +11 -0
  42. metadata/data_quality/validations/column/sqlalchemy/columnValuesToNotMatchRegex.py +11 -0
  43. metadata/data_quality/validations/mixins/pandas_validator_mixin.py +13 -2
  44. metadata/data_quality/validations/mixins/sqa_validator_mixin.py +40 -0
  45. metadata/examples/workflows/databricks.yaml +0 -1
  46. metadata/examples/workflows/mongodb.yaml +4 -2
  47. metadata/examples/workflows/mstr.yaml +24 -0
  48. metadata/examples/workflows/sas.yaml +28 -0
  49. metadata/examples/workflows/unity_catalog.yaml +27 -0
  50. metadata/examples/workflows/unity_catalog_lineage.yaml +18 -0
  51. metadata/examples/workflows/unity_catalog_usage.yaml +35 -0
  52. metadata/generated/antlr/EntityLinkLexer.py +391 -292
  53. metadata/generated/antlr/EntityLinkListener.py +12 -12
  54. metadata/generated/antlr/EntityLinkParser.py +228 -103
  55. metadata/generated/schema/analytics/__init__.py +1 -1
  56. metadata/generated/schema/analytics/basic.py +1 -1
  57. metadata/generated/schema/analytics/reportData.py +1 -1
  58. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  59. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  60. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  61. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  62. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  63. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  64. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  65. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  66. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  67. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  68. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  69. metadata/generated/schema/api/__init__.py +1 -1
  70. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  71. metadata/generated/schema/api/analytics/__init__.py +1 -1
  72. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  73. metadata/generated/schema/api/automations/__init__.py +1 -1
  74. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  75. metadata/generated/schema/api/bulkAssets.py +1 -1
  76. metadata/generated/schema/api/classification/__init__.py +1 -1
  77. metadata/generated/schema/api/classification/createClassification.py +1 -1
  78. metadata/generated/schema/api/classification/createTag.py +1 -1
  79. metadata/generated/schema/api/classification/loadTags.py +1 -1
  80. metadata/generated/schema/api/createBot.py +2 -3
  81. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  82. metadata/generated/schema/api/createType.py +1 -1
  83. metadata/generated/schema/api/data/__init__.py +1 -1
  84. metadata/generated/schema/api/data/createChart.py +1 -1
  85. metadata/generated/schema/api/data/createContainer.py +2 -2
  86. metadata/generated/schema/api/data/createCustomProperty.py +2 -3
  87. metadata/generated/schema/api/data/createDashboard.py +1 -1
  88. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  89. metadata/generated/schema/api/data/createDatabase.py +2 -3
  90. metadata/generated/schema/api/data/createDatabaseSchema.py +2 -3
  91. metadata/generated/schema/api/data/createGlossary.py +2 -3
  92. metadata/generated/schema/api/data/createGlossaryTerm.py +2 -3
  93. metadata/generated/schema/api/data/createMlModel.py +1 -1
  94. metadata/generated/schema/api/data/createPipeline.py +2 -2
  95. metadata/generated/schema/api/data/createQuery.py +2 -2
  96. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  97. metadata/generated/schema/api/data/createStoredProcedure.py +2 -4
  98. metadata/generated/schema/api/data/createTable.py +2 -2
  99. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  100. metadata/generated/schema/api/data/createTopic.py +1 -1
  101. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  102. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  103. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  104. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  105. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  106. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  107. metadata/generated/schema/api/docStore/__init__.py +1 -1
  108. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  109. metadata/generated/schema/api/domains/__init__.py +1 -1
  110. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  111. metadata/generated/schema/api/domains/createDomain.py +1 -1
  112. metadata/generated/schema/api/feed/__init__.py +1 -1
  113. metadata/generated/schema/api/feed/closeTask.py +8 -1
  114. metadata/generated/schema/api/feed/createPost.py +1 -1
  115. metadata/generated/schema/api/feed/createSuggestion.py +30 -0
  116. metadata/generated/schema/api/feed/createThread.py +1 -1
  117. metadata/generated/schema/api/feed/resolveTask.py +12 -1
  118. metadata/generated/schema/api/feed/threadCount.py +18 -14
  119. metadata/generated/schema/api/lineage/__init__.py +1 -1
  120. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  121. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  122. metadata/generated/schema/api/policies/__init__.py +1 -1
  123. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  124. metadata/generated/schema/api/services/__init__.py +1 -1
  125. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  126. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  127. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  128. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  129. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  130. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  131. metadata/generated/schema/api/services/createSearchService.py +1 -1
  132. metadata/generated/schema/api/services/createStorageService.py +1 -1
  133. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  134. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  135. metadata/generated/schema/api/setOwner.py +1 -1
  136. metadata/generated/schema/api/teams/__init__.py +1 -1
  137. metadata/generated/schema/api/teams/createPersona.py +1 -1
  138. metadata/generated/schema/api/teams/createRole.py +2 -3
  139. metadata/generated/schema/api/teams/createTeam.py +1 -1
  140. metadata/generated/schema/api/teams/createUser.py +2 -2
  141. metadata/generated/schema/api/tests/__init__.py +1 -1
  142. metadata/generated/schema/api/tests/createCustomMetric.py +4 -2
  143. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  144. metadata/generated/schema/api/tests/createTestCase.py +4 -1
  145. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +31 -0
  146. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  147. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  148. metadata/generated/schema/api/voteRequest.py +1 -1
  149. metadata/generated/schema/auth/__init__.py +1 -1
  150. metadata/generated/schema/auth/basicAuth.py +1 -1
  151. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  152. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  153. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  154. metadata/generated/schema/auth/emailRequest.py +1 -1
  155. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  156. metadata/generated/schema/auth/generateToken.py +1 -1
  157. metadata/generated/schema/auth/jwtAuth.py +1 -1
  158. metadata/generated/schema/auth/loginRequest.py +1 -1
  159. metadata/generated/schema/auth/logoutRequest.py +1 -1
  160. metadata/generated/schema/auth/passwordResetRequest.py +3 -3
  161. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  162. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  163. metadata/generated/schema/auth/refreshToken.py +1 -1
  164. metadata/generated/schema/auth/registrationRequest.py +2 -2
  165. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  166. metadata/generated/schema/auth/revokeToken.py +1 -1
  167. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  168. metadata/generated/schema/auth/ssoAuth.py +1 -1
  169. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  170. metadata/generated/schema/configuration/__init__.py +1 -1
  171. metadata/generated/schema/configuration/appsPrivateConfiguration.py +28 -0
  172. metadata/generated/schema/configuration/authConfig.py +1 -1
  173. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/elasticSearchConfiguration.py +7 -1
  177. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/ldapConfiguration.py +28 -2
  182. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  183. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  184. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  185. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  186. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  187. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  188. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  192. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  193. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  194. metadata/generated/schema/dataInsight/__init__.py +1 -1
  195. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  196. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  197. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  198. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  199. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  200. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  201. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  202. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  203. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  204. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  205. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  206. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  207. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  208. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  209. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +1 -1
  210. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +1 -1
  211. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +1 -1
  212. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +1 -1
  213. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +1 -1
  214. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +1 -1
  215. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  216. metadata/generated/schema/email/__init__.py +1 -1
  217. metadata/generated/schema/email/emailRequest.py +1 -1
  218. metadata/generated/schema/email/smtpSettings.py +1 -1
  219. metadata/generated/schema/entity/__init__.py +1 -1
  220. metadata/generated/schema/entity/applications/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/app.py +18 -4
  222. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +30 -0
  225. metadata/generated/schema/entity/{services/connections/database/mongoDB → applications/configuration/external}/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/autoTaggerAppConfig.py +28 -0
  227. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +46 -0
  228. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +3 -0
  229. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +14 -0
  230. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +27 -0
  231. metadata/generated/schema/entity/applications/configuration/{searchIndexingApp.py → internal/searchIndexingAppConfig.py} +13 -3
  232. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +3 -0
  233. metadata/generated/schema/entity/applications/configuration/private/external/metaPilotAppPrivateConfig.py +26 -0
  234. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  235. metadata/generated/schema/entity/applications/jobStatus.py +3 -3
  236. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  237. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  238. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +12 -3
  239. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +12 -3
  240. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  241. metadata/generated/schema/entity/automations/__init__.py +1 -1
  242. metadata/generated/schema/entity/automations/testServiceConnection.py +2 -2
  243. metadata/generated/schema/entity/automations/workflow.py +1 -1
  244. metadata/generated/schema/entity/bot.py +2 -3
  245. metadata/generated/schema/entity/classification/__init__.py +1 -1
  246. metadata/generated/schema/entity/classification/classification.py +1 -1
  247. metadata/generated/schema/entity/classification/tag.py +2 -2
  248. metadata/generated/schema/entity/data/__init__.py +1 -1
  249. metadata/generated/schema/entity/data/chart.py +1 -1
  250. metadata/generated/schema/entity/data/container.py +4 -9
  251. metadata/generated/schema/entity/data/dashboard.py +1 -1
  252. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  253. metadata/generated/schema/entity/data/database.py +4 -8
  254. metadata/generated/schema/entity/data/databaseSchema.py +2 -8
  255. metadata/generated/schema/entity/data/glossary.py +1 -1
  256. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  257. metadata/generated/schema/entity/data/metrics.py +1 -1
  258. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  259. metadata/generated/schema/entity/data/pipeline.py +6 -9
  260. metadata/generated/schema/entity/data/query.py +2 -2
  261. metadata/generated/schema/entity/data/report.py +1 -1
  262. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  263. metadata/generated/schema/entity/data/storedProcedure.py +3 -9
  264. metadata/generated/schema/entity/data/table.py +18 -12
  265. metadata/generated/schema/entity/data/topic.py +1 -1
  266. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  267. metadata/generated/schema/entity/docStore/document.py +1 -1
  268. metadata/generated/schema/entity/domains/__init__.py +1 -1
  269. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  270. metadata/generated/schema/entity/domains/domain.py +1 -1
  271. metadata/generated/schema/entity/events/__init__.py +1 -1
  272. metadata/generated/schema/entity/events/webhook.py +6 -3
  273. metadata/generated/schema/entity/feed/__init__.py +1 -1
  274. metadata/generated/schema/entity/feed/suggestion.py +61 -0
  275. metadata/generated/schema/entity/feed/thread.py +6 -1
  276. metadata/generated/schema/entity/policies/__init__.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  279. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  280. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  281. metadata/generated/schema/entity/policies/filters.py +2 -5
  282. metadata/generated/schema/entity/policies/policy.py +1 -1
  283. metadata/generated/schema/entity/services/__init__.py +1 -1
  284. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  286. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  289. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  290. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +46 -0
  298. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +2 -2
  300. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  304. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  305. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +2 -2
  306. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +2 -2
  307. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +2 -2
  308. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +2 -2
  309. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  310. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  311. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  312. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +6 -1
  314. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +2 -7
  316. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +2 -2
  321. metadata/generated/schema/entity/services/connections/database/db2Connection.py +3 -2
  322. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +86 -0
  325. metadata/generated/schema/entity/services/connections/database/druidConnection.py +2 -2
  326. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +2 -2
  329. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +2 -2
  330. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +3 -0
  331. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +17 -0
  332. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +16 -0
  333. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +23 -0
  334. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +43 -0
  335. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +20 -0
  336. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +69 -0
  337. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +35 -0
  338. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +2 -2
  339. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +2 -2
  340. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +24 -14
  341. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +5 -2
  342. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +2 -2
  343. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +2 -2
  344. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +2 -2
  345. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +2 -2
  346. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +2 -2
  347. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +2 -2
  348. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +2 -2
  350. metadata/generated/schema/entity/services/connections/database/sasConnection.py +48 -0
  351. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +2 -2
  352. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +2 -2
  353. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +2 -2
  354. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +2 -2
  355. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +90 -0
  356. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +2 -2
  357. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  358. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  364. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  365. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +5 -20
  370. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +2 -8
  378. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +23 -0
  387. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  389. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  391. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  392. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  393. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  397. metadata/generated/schema/entity/services/connections/storage/{adlsConection.py → adlsConnection.py} +2 -2
  398. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  402. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  403. metadata/generated/schema/entity/services/dashboardService.py +4 -1
  404. metadata/generated/schema/entity/services/databaseService.py +13 -1
  405. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  406. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +27 -22
  407. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  408. metadata/generated/schema/entity/services/ingestionPipelines/status.py +56 -0
  409. metadata/generated/schema/entity/services/messagingService.py +1 -1
  410. metadata/generated/schema/entity/services/metadataService.py +1 -1
  411. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  412. metadata/generated/schema/entity/services/pipelineService.py +4 -1
  413. metadata/generated/schema/entity/services/searchService.py +1 -1
  414. metadata/generated/schema/entity/services/serviceType.py +1 -1
  415. metadata/generated/schema/entity/services/storageService.py +10 -3
  416. metadata/generated/schema/entity/teams/__init__.py +1 -1
  417. metadata/generated/schema/entity/teams/persona.py +1 -1
  418. metadata/generated/schema/entity/teams/role.py +2 -6
  419. metadata/generated/schema/entity/teams/team.py +1 -1
  420. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  421. metadata/generated/schema/entity/teams/user.py +3 -10
  422. metadata/generated/schema/entity/type.py +2 -2
  423. metadata/generated/schema/entity/utils/__init__.py +1 -1
  424. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  425. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  426. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  427. metadata/generated/schema/events/__init__.py +1 -1
  428. metadata/generated/schema/events/alertMetrics.py +27 -0
  429. metadata/generated/schema/events/api/__init__.py +1 -1
  430. metadata/generated/schema/events/api/createEventSubscription.py +14 -12
  431. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  432. metadata/generated/schema/events/eventFilterRule.py +13 -2
  433. metadata/generated/schema/events/eventSubscription.py +89 -49
  434. metadata/generated/schema/events/eventSubscriptionOffset.py +21 -0
  435. metadata/generated/schema/events/failedEvent.py +26 -0
  436. metadata/generated/schema/events/filterResourceDescriptor.py +27 -0
  437. metadata/generated/schema/events/subscriptionResourceDescriptor.py +11 -10
  438. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  439. metadata/generated/schema/metadataIngestion/application.py +40 -0
  440. metadata/generated/schema/metadataIngestion/applicationPipeline.py +15 -6
  441. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  442. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  443. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +6 -1
  444. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +6 -1
  445. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  446. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  447. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  448. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  449. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +6 -3
  450. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  451. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  452. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +6 -3
  453. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  454. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  455. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +6 -3
  456. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  457. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  458. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  459. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  460. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  461. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  462. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  463. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  464. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  465. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +2 -2
  466. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +24 -0
  467. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  468. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  469. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  470. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +8 -1
  471. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  472. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  473. metadata/generated/schema/monitoring/__init__.py +1 -1
  474. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  475. metadata/generated/schema/security/__init__.py +1 -1
  476. metadata/generated/schema/security/client/__init__.py +1 -1
  477. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  478. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  479. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  480. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  481. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  482. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  483. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  484. metadata/generated/schema/security/credentials/__init__.py +1 -1
  485. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  486. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  487. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  488. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  489. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  490. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  491. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  492. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  493. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  494. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  495. metadata/generated/schema/security/secrets/__init__.py +1 -1
  496. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  497. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +14 -4
  498. metadata/generated/schema/security/secrets/secretsManagerProvider.py +2 -2
  499. metadata/generated/schema/security/securityConfiguration.py +1 -1
  500. metadata/generated/schema/security/ssl/__init__.py +1 -1
  501. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  502. metadata/generated/schema/security/ssl/verifySSLConfig.py +4 -1
  503. metadata/generated/schema/settings/__init__.py +1 -1
  504. metadata/generated/schema/settings/settings.py +1 -1
  505. metadata/generated/schema/system/__init__.py +1 -1
  506. metadata/generated/schema/system/entityError.py +17 -0
  507. metadata/generated/schema/system/eventPublisherJob.py +5 -19
  508. metadata/generated/schema/system/indexingError.py +34 -0
  509. metadata/generated/schema/system/ui/__init__.py +1 -1
  510. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  511. metadata/generated/schema/system/ui/page.py +1 -1
  512. metadata/generated/schema/tests/__init__.py +1 -1
  513. metadata/generated/schema/tests/assigned.py +18 -0
  514. metadata/generated/schema/tests/basic.py +17 -39
  515. metadata/generated/schema/tests/customMetric.py +4 -2
  516. metadata/generated/schema/tests/resolved.py +35 -0
  517. metadata/generated/schema/tests/testCase.py +11 -2
  518. metadata/generated/schema/tests/testCaseResolutionStatus.py +63 -0
  519. metadata/generated/schema/tests/testDefinition.py +5 -1
  520. metadata/generated/schema/tests/testSuite.py +1 -1
  521. metadata/generated/schema/type/__init__.py +1 -1
  522. metadata/generated/schema/type/auditLog.py +1 -1
  523. metadata/generated/schema/type/basic.py +5 -5
  524. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  525. metadata/generated/schema/type/changeEvent.py +5 -75
  526. metadata/generated/schema/type/changeEventType.py +29 -0
  527. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  528. metadata/generated/schema/type/csvDocumentation.py +1 -1
  529. metadata/generated/schema/type/csvErrorType.py +1 -1
  530. metadata/generated/schema/type/csvFile.py +1 -1
  531. metadata/generated/schema/type/csvImportResult.py +1 -1
  532. metadata/generated/schema/type/dailyCount.py +1 -1
  533. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  534. metadata/generated/schema/type/entityHistory.py +1 -1
  535. metadata/generated/schema/type/entityLineage.py +2 -1
  536. metadata/generated/schema/type/entityReference.py +5 -1
  537. metadata/generated/schema/type/entityReferenceList.py +1 -1
  538. metadata/generated/schema/type/entityRelationship.py +1 -1
  539. metadata/generated/schema/type/entityUsage.py +1 -1
  540. metadata/generated/schema/type/filterPattern.py +1 -1
  541. metadata/generated/schema/type/function.py +7 -6
  542. metadata/generated/schema/type/include.py +1 -1
  543. metadata/generated/schema/type/jdbcConnection.py +1 -1
  544. metadata/generated/schema/type/lifeCycle.py +1 -1
  545. metadata/generated/schema/type/paging.py +1 -1
  546. metadata/generated/schema/type/profile.py +1 -1
  547. metadata/generated/schema/type/queryParserData.py +2 -2
  548. metadata/generated/schema/type/reaction.py +1 -1
  549. metadata/generated/schema/type/schedule.py +1 -1
  550. metadata/generated/schema/type/schema.py +1 -1
  551. metadata/generated/schema/type/tableQuery.py +2 -2
  552. metadata/generated/schema/type/tableUsageCount.py +1 -1
  553. metadata/generated/schema/type/tagLabel.py +1 -1
  554. metadata/generated/schema/type/usageDetails.py +1 -1
  555. metadata/generated/schema/type/usageRequest.py +1 -1
  556. metadata/generated/schema/type/votes.py +1 -1
  557. metadata/great_expectations/action.py +3 -2
  558. metadata/ingestion/api/delete.py +5 -2
  559. metadata/ingestion/api/models.py +4 -10
  560. metadata/ingestion/api/parser.py +3 -37
  561. metadata/ingestion/api/status.py +15 -4
  562. metadata/ingestion/api/step.py +39 -6
  563. metadata/ingestion/api/steps.py +20 -0
  564. metadata/ingestion/api/topology_runner.py +114 -168
  565. metadata/ingestion/bulksink/metadata_usage.py +11 -5
  566. metadata/ingestion/lineage/models.py +4 -0
  567. metadata/ingestion/lineage/parser.py +4 -5
  568. metadata/ingestion/lineage/sql_lineage.py +9 -17
  569. metadata/ingestion/models/custom_pydantic.py +4 -2
  570. metadata/ingestion/models/lf_tags_model.py +33 -0
  571. metadata/ingestion/models/patch_request.py +108 -2
  572. metadata/ingestion/models/tests_data.py +9 -0
  573. metadata/ingestion/models/topology.py +177 -60
  574. metadata/ingestion/ometa/auth_provider.py +0 -349
  575. metadata/ingestion/ometa/mixins/es_mixin.py +17 -0
  576. metadata/ingestion/ometa/mixins/patch_mixin.py +17 -68
  577. metadata/ingestion/ometa/mixins/suggestions_mixin.py +41 -0
  578. metadata/ingestion/ometa/mixins/table_mixin.py +18 -0
  579. metadata/ingestion/ometa/mixins/tests_mixin.py +24 -3
  580. metadata/ingestion/ometa/mixins/user_mixin.py +117 -22
  581. metadata/ingestion/ometa/ometa_api.py +18 -25
  582. metadata/ingestion/ometa/routes.py +7 -0
  583. metadata/ingestion/processor/query_parser.py +9 -2
  584. metadata/ingestion/sink/metadata_rest.py +25 -6
  585. metadata/ingestion/source/dashboard/dashboard_service.py +38 -61
  586. metadata/ingestion/source/dashboard/domodashboard/metadata.py +13 -14
  587. metadata/ingestion/source/dashboard/lightdash/metadata.py +2 -1
  588. metadata/ingestion/source/dashboard/looker/metadata.py +38 -25
  589. metadata/ingestion/source/dashboard/metabase/metadata.py +23 -6
  590. metadata/ingestion/source/dashboard/mode/client.py +10 -23
  591. metadata/ingestion/source/dashboard/mode/connection.py +6 -1
  592. metadata/ingestion/source/dashboard/mode/metadata.py +8 -4
  593. metadata/ingestion/source/dashboard/mstr/client.py +208 -0
  594. metadata/ingestion/source/dashboard/mstr/connection.py +53 -0
  595. metadata/ingestion/source/dashboard/mstr/metadata.py +182 -0
  596. metadata/ingestion/source/dashboard/mstr/models.py +144 -0
  597. metadata/ingestion/source/dashboard/powerbi/metadata.py +15 -10
  598. metadata/ingestion/source/dashboard/qliksense/metadata.py +11 -7
  599. metadata/ingestion/source/dashboard/quicksight/metadata.py +9 -5
  600. metadata/ingestion/source/dashboard/redash/metadata.py +23 -14
  601. metadata/ingestion/source/dashboard/superset/api_source.py +11 -8
  602. metadata/ingestion/source/dashboard/superset/client.py +16 -9
  603. metadata/ingestion/source/dashboard/superset/connection.py +3 -3
  604. metadata/ingestion/source/dashboard/superset/db_source.py +14 -10
  605. metadata/ingestion/source/dashboard/superset/mixin.py +22 -18
  606. metadata/ingestion/source/dashboard/superset/queries.py +1 -1
  607. metadata/ingestion/source/dashboard/tableau/client.py +91 -11
  608. metadata/ingestion/source/dashboard/tableau/connection.py +10 -1
  609. metadata/ingestion/source/dashboard/tableau/metadata.py +58 -70
  610. metadata/ingestion/source/dashboard/tableau/models.py +0 -8
  611. metadata/ingestion/source/dashboard/tableau/queries.py +5 -5
  612. metadata/ingestion/source/database/athena/client.py +80 -0
  613. metadata/ingestion/source/database/athena/connection.py +7 -0
  614. metadata/ingestion/source/database/athena/metadata.py +161 -19
  615. metadata/ingestion/source/database/azuresql/metadata.py +0 -1
  616. metadata/ingestion/source/database/bigquery/connection.py +24 -3
  617. metadata/ingestion/source/database/bigquery/metadata.py +39 -27
  618. metadata/ingestion/source/database/bigquery/queries.py +11 -4
  619. metadata/ingestion/source/database/bigquery/query_parser.py +13 -0
  620. metadata/ingestion/source/database/bigquery/usage.py +1 -3
  621. metadata/ingestion/source/database/column_helpers.py +0 -10
  622. metadata/ingestion/source/database/column_type_parser.py +11 -5
  623. metadata/ingestion/source/database/common_db_source.py +8 -2
  624. metadata/ingestion/source/database/common_nosql_source.py +8 -4
  625. metadata/ingestion/source/database/database_service.py +89 -7
  626. metadata/ingestion/source/database/databricks/client.py +5 -10
  627. metadata/ingestion/source/database/databricks/connection.py +16 -55
  628. metadata/ingestion/source/database/databricks/lineage.py +29 -26
  629. metadata/ingestion/source/database/databricks/metadata.py +448 -11
  630. metadata/ingestion/source/database/databricks/queries.py +28 -0
  631. metadata/ingestion/source/database/databricks/query_parser.py +5 -1
  632. metadata/ingestion/source/database/databricks/usage.py +2 -2
  633. metadata/ingestion/source/database/datalake/connection.py +31 -4
  634. metadata/ingestion/source/database/datalake/metadata.py +113 -27
  635. metadata/ingestion/source/database/dbt/dbt_config.py +5 -0
  636. metadata/ingestion/source/database/dbt/dbt_service.py +10 -14
  637. metadata/ingestion/source/database/dbt/dbt_utils.py +3 -1
  638. metadata/ingestion/source/database/dbt/metadata.py +11 -25
  639. metadata/ingestion/source/database/deltalake/metadata.py +6 -3
  640. metadata/ingestion/source/database/domodatabase/metadata.py +7 -6
  641. metadata/ingestion/source/database/doris/connection.py +72 -0
  642. metadata/ingestion/source/database/doris/metadata.py +315 -0
  643. metadata/ingestion/source/database/doris/queries.py +54 -0
  644. metadata/ingestion/source/database/doris/utils.py +64 -0
  645. metadata/ingestion/source/database/extended_sample_data.py +532 -0
  646. metadata/ingestion/source/database/glue/metadata.py +8 -5
  647. metadata/ingestion/source/database/hive/connection.py +0 -2
  648. metadata/ingestion/source/database/hive/utils.py +3 -0
  649. metadata/ingestion/source/database/iceberg/catalog/__init__.py +65 -0
  650. metadata/ingestion/source/database/iceberg/catalog/base.py +40 -0
  651. metadata/ingestion/source/database/iceberg/catalog/dynamodb.py +102 -0
  652. metadata/ingestion/source/database/iceberg/catalog/glue.py +88 -0
  653. metadata/ingestion/source/database/iceberg/catalog/hive.py +51 -0
  654. metadata/ingestion/source/database/iceberg/catalog/rest.py +84 -0
  655. metadata/ingestion/source/database/iceberg/connection.py +68 -0
  656. metadata/ingestion/source/database/iceberg/fs/__init__.py +52 -0
  657. metadata/ingestion/source/database/iceberg/fs/azure.py +44 -0
  658. metadata/ingestion/source/database/iceberg/fs/base.py +30 -0
  659. metadata/ingestion/source/database/iceberg/fs/s3.py +77 -0
  660. metadata/ingestion/source/database/iceberg/helper.py +124 -0
  661. metadata/ingestion/source/database/iceberg/metadata.py +311 -0
  662. metadata/ingestion/source/database/iceberg/models.py +66 -0
  663. metadata/ingestion/source/database/life_cycle_query_mixin.py +72 -3
  664. metadata/ingestion/source/database/mongodb/connection.py +1 -5
  665. metadata/ingestion/source/database/mssql/lineage.py +2 -0
  666. metadata/ingestion/source/database/mssql/metadata.py +108 -4
  667. metadata/ingestion/source/database/mssql/models.py +30 -0
  668. metadata/ingestion/source/database/mssql/queries.py +179 -1
  669. metadata/ingestion/source/database/mssql/utils.py +207 -4
  670. metadata/ingestion/source/database/mysql/metadata.py +0 -2
  671. metadata/ingestion/source/database/oracle/metadata.py +108 -2
  672. metadata/ingestion/source/database/oracle/models.py +30 -0
  673. metadata/ingestion/source/database/oracle/queries.py +98 -17
  674. metadata/ingestion/source/database/oracle/utils.py +0 -1
  675. metadata/ingestion/source/database/postgres/lineage.py +32 -14
  676. metadata/ingestion/source/database/postgres/metadata.py +15 -7
  677. metadata/ingestion/source/database/postgres/pgspider/lineage.py +0 -1
  678. metadata/ingestion/source/database/postgres/queries.py +4 -2
  679. metadata/ingestion/source/database/postgres/query_parser.py +4 -72
  680. metadata/ingestion/source/database/postgres/usage.py +41 -0
  681. metadata/ingestion/source/database/postgres/utils.py +34 -0
  682. metadata/ingestion/source/database/query_parser_source.py +8 -2
  683. metadata/ingestion/source/database/redshift/metadata.py +14 -4
  684. metadata/ingestion/source/database/redshift/queries.py +10 -4
  685. metadata/ingestion/source/database/redshift/query_parser.py +16 -0
  686. metadata/ingestion/source/database/redshift/usage.py +0 -2
  687. metadata/ingestion/source/database/salesforce/metadata.py +32 -3
  688. metadata/ingestion/source/database/sample_data.py +120 -6
  689. metadata/ingestion/source/database/sas/client.py +184 -0
  690. metadata/ingestion/source/database/sas/connection.py +47 -0
  691. metadata/ingestion/source/database/sas/extension_attr.py +103 -0
  692. metadata/ingestion/source/database/sas/metadata.py +914 -0
  693. metadata/ingestion/source/database/snowflake/metadata.py +8 -51
  694. metadata/ingestion/source/database/snowflake/models.py +6 -1
  695. metadata/ingestion/source/database/snowflake/queries.py +0 -4
  696. metadata/ingestion/source/database/snowflake/query_parser.py +5 -20
  697. metadata/ingestion/source/database/snowflake/utils.py +2 -6
  698. metadata/ingestion/source/database/stored_procedures_mixin.py +12 -8
  699. metadata/ingestion/source/database/unitycatalog/__init__.py +0 -0
  700. metadata/ingestion/source/database/unitycatalog/client.py +87 -0
  701. metadata/ingestion/source/database/unitycatalog/connection.py +97 -0
  702. metadata/ingestion/source/database/{databricks/unity_catalog → unitycatalog}/lineage.py +11 -11
  703. metadata/ingestion/source/database/{databricks/unity_catalog → unitycatalog}/metadata.py +42 -49
  704. metadata/ingestion/source/database/unitycatalog/query_parser.py +60 -0
  705. metadata/ingestion/source/database/unitycatalog/usage.py +31 -0
  706. metadata/ingestion/source/database/usage_source.py +3 -2
  707. metadata/ingestion/source/messaging/common_broker_source.py +6 -4
  708. metadata/ingestion/source/messaging/kinesis/metadata.py +6 -3
  709. metadata/ingestion/source/messaging/messaging_service.py +6 -2
  710. metadata/ingestion/source/metadata/amundsen/metadata.py +10 -7
  711. metadata/ingestion/source/metadata/atlas/metadata.py +5 -5
  712. metadata/ingestion/source/mlmodel/mlflow/metadata.py +5 -2
  713. metadata/ingestion/source/mlmodel/mlmodel_service.py +6 -2
  714. metadata/ingestion/source/pipeline/airflow/connection.py +0 -12
  715. metadata/ingestion/source/pipeline/airflow/lineage_parser.py +12 -6
  716. metadata/ingestion/source/pipeline/airflow/metadata.py +63 -34
  717. metadata/ingestion/source/pipeline/airflow/models.py +5 -4
  718. metadata/ingestion/source/pipeline/dagster/metadata.py +7 -4
  719. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +12 -9
  720. metadata/ingestion/source/pipeline/domopipeline/metadata.py +7 -4
  721. metadata/ingestion/source/pipeline/gluepipeline/metadata.py +5 -2
  722. metadata/ingestion/source/pipeline/pipeline_service.py +6 -2
  723. metadata/ingestion/source/pipeline/spline/metadata.py +0 -1
  724. metadata/ingestion/source/search/elasticsearch/connection.py +4 -1
  725. metadata/ingestion/source/search/elasticsearch/metadata.py +1 -2
  726. metadata/ingestion/source/search/search_service.py +6 -2
  727. metadata/ingestion/source/storage/s3/metadata.py +22 -17
  728. metadata/ingestion/source/storage/storage_service.py +53 -11
  729. metadata/ingestion/stage/table_usage.py +9 -2
  730. metadata/mixins/sqalchemy/sqa_mixin.py +14 -7
  731. metadata/parsers/protobuf_parser.py +29 -11
  732. metadata/pii/processor.py +9 -2
  733. metadata/profiler/api/models.py +19 -1
  734. metadata/profiler/interface/pandas/profiler_interface.py +59 -18
  735. metadata/profiler/interface/profiler_interface.py +13 -2
  736. metadata/profiler/interface/profiler_interface_factory.py +49 -14
  737. metadata/profiler/interface/sqlalchemy/bigquery/profiler_interface.py +3 -0
  738. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +26 -0
  739. metadata/profiler/interface/sqlalchemy/db2/__init__.py +0 -0
  740. metadata/profiler/interface/sqlalchemy/db2/profiler_interface.py +38 -0
  741. metadata/profiler/interface/sqlalchemy/mariadb/profiler_interface.py +85 -0
  742. metadata/profiler/interface/sqlalchemy/profiler_interface.py +77 -34
  743. metadata/profiler/interface/sqlalchemy/single_store/profiler_interface.py +2 -2
  744. metadata/profiler/interface/sqlalchemy/snowflake/profiler_interface.py +7 -0
  745. metadata/profiler/interface/sqlalchemy/trino/profiler_interface.py +2 -2
  746. metadata/profiler/interface/sqlalchemy/unity_catalog/profiler_interface.py +33 -0
  747. metadata/profiler/metrics/composed/null_ratio.py +1 -1
  748. metadata/profiler/metrics/hybrid/histogram.py +1 -0
  749. metadata/profiler/metrics/static/max.py +4 -1
  750. metadata/profiler/metrics/static/min.py +4 -1
  751. metadata/profiler/metrics/system/queries/snowflake.py +89 -17
  752. metadata/profiler/metrics/system/system.py +62 -20
  753. metadata/profiler/orm/functions/length.py +1 -0
  754. metadata/profiler/orm/functions/median.py +7 -0
  755. metadata/profiler/orm/functions/table_metric_computer.py +462 -0
  756. metadata/profiler/orm/registry.py +1 -0
  757. metadata/profiler/processor/core.py +116 -52
  758. metadata/profiler/processor/default.py +14 -3
  759. metadata/profiler/processor/handle_partition.py +2 -2
  760. metadata/profiler/processor/processor.py +9 -4
  761. metadata/profiler/processor/sampler/sqlalchemy/bigquery/sampler.py +31 -3
  762. metadata/profiler/processor/sampler/sqlalchemy/sampler.py +29 -6
  763. metadata/profiler/processor/sampler/sqlalchemy/trino/sampler.py +10 -4
  764. metadata/profiler/source/base/profiler_source.py +5 -2
  765. metadata/profiler/source/bigquery/type_mapper.py +0 -1
  766. metadata/profiler/source/mariadb/functions/median.py +20 -0
  767. metadata/profiler/source/mariadb/metrics/window/first_quartile.py +10 -0
  768. metadata/profiler/source/mariadb/metrics/window/median.py +10 -0
  769. metadata/profiler/source/mariadb/metrics/window/third_quartile.py +10 -0
  770. metadata/profiler/source/metadata.py +43 -10
  771. metadata/profiler/source/metadata_ext.py +16 -50
  772. metadata/py.typed +0 -0
  773. metadata/readers/dataframe/json.py +5 -4
  774. metadata/readers/file/api_reader.py +0 -1
  775. metadata/utils/constants.py +5 -0
  776. metadata/utils/datalake/datalake_utils.py +363 -129
  777. metadata/utils/entity_link.py +26 -6
  778. metadata/utils/fqn.py +20 -0
  779. metadata/utils/helpers.py +55 -9
  780. metadata/utils/importer.py +2 -3
  781. metadata/utils/life_cycle_utils.py +4 -4
  782. metadata/utils/logger.py +13 -2
  783. metadata/utils/partition.py +10 -5
  784. metadata/utils/secrets/client/loader.py +0 -1
  785. metadata/utils/secrets/noop_secrets_manager.py +4 -3
  786. metadata/utils/secrets/secrets_manager_factory.py +3 -4
  787. metadata/utils/{source_hash_utils.py → source_hash.py} +10 -1
  788. metadata/utils/sqlalchemy_utils.py +21 -0
  789. metadata/utils/storage_metadata_config.py +42 -1
  790. metadata/utils/tag_utils.py +5 -2
  791. metadata/workflow/application.py +154 -0
  792. metadata/workflow/application_output_handler.py +34 -0
  793. metadata/workflow/base.py +84 -153
  794. metadata/workflow/data_insight.py +8 -7
  795. metadata/workflow/data_quality.py +3 -2
  796. metadata/workflow/ingestion.py +203 -0
  797. metadata/workflow/metadata.py +2 -3
  798. metadata/workflow/output_handler.py +204 -0
  799. metadata/workflow/profiler.py +2 -2
  800. metadata/workflow/usage.py +3 -4
  801. metadata/workflow/workflow_output_handler.py +15 -255
  802. metadata/workflow/workflow_status_mixin.py +44 -52
  803. openmetadata_ingestion-1.3.0.0.dist-info/METADATA +749 -0
  804. {openmetadata_ingestion-1.2.5.2.dist-info → openmetadata_ingestion-1.3.0.0.dist-info}/RECORD +812 -725
  805. {openmetadata_ingestion-1.2.5.2.dist-info → openmetadata_ingestion-1.3.0.0.dist-info}/WHEEL +1 -1
  806. metadata/generated/schema/entity/applications/appConfig.py +0 -21
  807. metadata/generated/schema/entity/applications/configuration/dataInsightsApp.py +0 -17
  808. metadata/generated/schema/entity/applications/configuration/externalAppIngestionConfig.py +0 -38
  809. metadata/generated/schema/entity/services/connections/database/mongoDB/mongoDBValues.py +0 -44
  810. metadata/generated/schema/events/dataInsightAlertConfig.py +0 -17
  811. metadata/generated/schema/events/entitySpelFilters.py +0 -19
  812. metadata/ingestion/models/es_documents.py +0 -339
  813. metadata/ingestion/ometa/mixins/glossary_mixin.py +0 -501
  814. metadata/ingestion/ometa/provider_registry.py +0 -144
  815. metadata/ingestion/source/database/databricks/legacy/lineage.py +0 -51
  816. metadata/ingestion/source/database/databricks/legacy/metadata.py +0 -339
  817. metadata/ingestion/source/metadata/metadata_elasticsearch/metadata.py +0 -144
  818. metadata/profiler/orm/functions/table_metric_construct.py +0 -365
  819. openmetadata_ingestion-1.2.5.2.dist-info/METADATA +0 -426
  820. /metadata/ingestion/source/{database/databricks/legacy → dashboard/mstr}/__init__.py +0 -0
  821. /metadata/ingestion/source/database/{databricks/unity_catalog → doris}/__init__.py +0 -0
  822. /metadata/ingestion/source/{metadata/metadata_elasticsearch → database/sas}/__init__.py +0 -0
  823. /metadata/ingestion/source/database/{databricks → unitycatalog}/models.py +0 -0
  824. {openmetadata_ingestion-1.2.5.2.dist-info → openmetadata_ingestion-1.3.0.0.dist-info}/LICENSE +0 -0
  825. {openmetadata_ingestion-1.2.5.2.dist-info → openmetadata_ingestion-1.3.0.0.dist-info}/entry_points.txt +0 -0
  826. {openmetadata_ingestion-1.2.5.2.dist-info → openmetadata_ingestion-1.3.0.0.dist-info}/top_level.txt +0 -0
@@ -11,289 +11,390 @@ else:
11
11
 
12
12
  def serializedATN():
13
13
  with StringIO() as buf:
14
- buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\t")
15
- buf.write("\u00f8\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
16
- buf.write("\t\7\4\b\t\b\3\2\3\2\3\2\3\2\3\3\3\3\3\4\3\4\3\4\3\4\3")
17
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
18
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
19
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
20
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
21
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
22
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
23
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
24
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
25
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
26
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
27
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
28
- buf.write("\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
29
- buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4")
30
- buf.write("\3\4\5\4\u00cd\n\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
14
+ buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\b")
15
+ buf.write("\u0380\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
16
+ buf.write("\t\7\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3")
17
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
31
18
  buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
32
- buf.write("\5\3\5\3\5\3\5\3\5\5\5\u00ea\n\5\3\6\3\6\3\6\3\7\6\7\u00f0")
33
- buf.write("\n\7\r\7\16\7\u00f1\3\b\6\b\u00f5\n\b\r\b\16\b\u00f6\2")
34
- buf.write("\2\t\3\3\5\4\7\5\t\6\13\7\r\b\17\t\3\2\3\3\2c|\3\u0298")
35
- buf.write("\2\"\2\"\2$\2$\2\'\2+\2.\2\60\2\62\2;\2C\2\\\2a\2a\2c")
36
- buf.write("\2|\2\u00ac\2\u00ac\2\u00b4\2\u00b5\2\u00b7\2\u00b7\2")
37
- buf.write("\u00bb\2\u00bc\2\u00be\2\u00c0\2\u00c2\2\u00d8\2\u00da")
38
- buf.write("\2\u00f8\2\u00fa\2\u02c3\2\u02c8\2\u02d3\2\u02e2\2\u02e6")
39
- buf.write("\2\u02ee\2\u02ee\2\u02f0\2\u02f0\2\u0372\2\u0376\2\u0378")
40
- buf.write("\2\u0379\2\u037c\2\u037f\2\u0381\2\u0381\2\u0388\2\u0388")
41
- buf.write("\2\u038a\2\u038c\2\u038e\2\u038e\2\u0390\2\u03a3\2\u03a5")
42
- buf.write("\2\u03f7\2\u03f9\2\u0483\2\u048c\2\u0531\2\u0533\2\u0558")
43
- buf.write("\2\u055b\2\u055b\2\u0563\2\u0589\2\u05d2\2\u05ec\2\u05f2")
44
- buf.write("\2\u05f4\2\u0622\2\u064c\2\u0662\2\u066b\2\u0670\2\u0671")
45
- buf.write("\2\u0673\2\u06d5\2\u06d7\2\u06d7\2\u06e7\2\u06e8\2\u06f0")
46
- buf.write("\2\u06fe\2\u0701\2\u0701\2\u0712\2\u0712\2\u0714\2\u0731")
47
- buf.write("\2\u074f\2\u07a7\2\u07b3\2\u07b3\2\u07c2\2\u07ec\2\u07f6")
48
- buf.write("\2\u07f7\2\u07fc\2\u07fc\2\u0802\2\u0817\2\u081c\2\u081c")
49
- buf.write("\2\u0826\2\u0826\2\u082a\2\u082a\2\u0842\2\u085a\2\u0862")
50
- buf.write("\2\u086c\2\u08a2\2\u08b6\2\u08b8\2\u08bf\2\u0906\2\u093b")
51
- buf.write("\2\u093f\2\u093f\2\u0952\2\u0952\2\u095a\2\u0963\2\u0968")
52
- buf.write("\2\u0971\2\u0973\2\u0982\2\u0987\2\u098e\2\u0991\2\u0992")
53
- buf.write("\2\u0995\2\u09aa\2\u09ac\2\u09b2\2\u09b4\2\u09b4\2\u09b8")
54
- buf.write("\2\u09bb\2\u09bf\2\u09bf\2\u09d0\2\u09d0\2\u09de\2\u09df")
55
- buf.write("\2\u09e1\2\u09e3\2\u09e8\2\u09f3\2\u09f6\2\u09fb\2\u09fe")
56
- buf.write("\2\u09fe\2\u0a07\2\u0a0c\2\u0a11\2\u0a12\2\u0a15\2\u0a2a")
57
- buf.write("\2\u0a2c\2\u0a32\2\u0a34\2\u0a35\2\u0a37\2\u0a38\2\u0a3a")
58
- buf.write("\2\u0a3b\2\u0a5b\2\u0a5e\2\u0a60\2\u0a60\2\u0a68\2\u0a71")
59
- buf.write("\2\u0a74\2\u0a76\2\u0a87\2\u0a8f\2\u0a91\2\u0a93\2\u0a95")
60
- buf.write("\2\u0aaa\2\u0aac\2\u0ab2\2\u0ab4\2\u0ab5\2\u0ab7\2\u0abb")
61
- buf.write("\2\u0abf\2\u0abf\2\u0ad2\2\u0ad2\2\u0ae2\2\u0ae3\2\u0ae8")
62
- buf.write("\2\u0af1\2\u0afb\2\u0afb\2\u0b07\2\u0b0e\2\u0b11\2\u0b12")
63
- buf.write("\2\u0b15\2\u0b2a\2\u0b2c\2\u0b32\2\u0b34\2\u0b35\2\u0b37")
64
- buf.write("\2\u0b3b\2\u0b3f\2\u0b3f\2\u0b5e\2\u0b5f\2\u0b61\2\u0b63")
65
- buf.write("\2\u0b68\2\u0b71\2\u0b73\2\u0b79\2\u0b85\2\u0b85\2\u0b87")
66
- buf.write("\2\u0b8c\2\u0b90\2\u0b92\2\u0b94\2\u0b97\2\u0b9b\2\u0b9c")
67
- buf.write("\2\u0b9e\2\u0b9e\2\u0ba0\2\u0ba1\2\u0ba5\2\u0ba6\2\u0baa")
68
- buf.write("\2\u0bac\2\u0bb0\2\u0bbb\2\u0bd2\2\u0bd2\2\u0be8\2\u0bf4")
69
- buf.write("\2\u0c07\2\u0c0e\2\u0c10\2\u0c12\2\u0c14\2\u0c2a\2\u0c2c")
70
- buf.write("\2\u0c3b\2\u0c3f\2\u0c3f\2\u0c5a\2\u0c5c\2\u0c62\2\u0c63")
71
- buf.write("\2\u0c68\2\u0c71\2\u0c7a\2\u0c80\2\u0c82\2\u0c82\2\u0c87")
72
- buf.write("\2\u0c8e\2\u0c90\2\u0c92\2\u0c94\2\u0caa\2\u0cac\2\u0cb5")
73
- buf.write("\2\u0cb7\2\u0cbb\2\u0cbf\2\u0cbf\2\u0ce0\2\u0ce0\2\u0ce2")
74
- buf.write("\2\u0ce3\2\u0ce8\2\u0cf1\2\u0cf3\2\u0cf4\2\u0d07\2\u0d0e")
75
- buf.write("\2\u0d10\2\u0d12\2\u0d14\2\u0d3c\2\u0d3f\2\u0d3f\2\u0d50")
76
- buf.write("\2\u0d50\2\u0d56\2\u0d58\2\u0d5a\2\u0d63\2\u0d68\2\u0d7a")
77
- buf.write("\2\u0d7c\2\u0d81\2\u0d87\2\u0d98\2\u0d9c\2\u0db3\2\u0db5")
78
- buf.write("\2\u0dbd\2\u0dbf\2\u0dbf\2\u0dc2\2\u0dc8\2\u0de8\2\u0df1")
79
- buf.write("\2\u0e03\2\u0e32\2\u0e34\2\u0e35\2\u0e42\2\u0e48\2\u0e52")
80
- buf.write("\2\u0e5b\2\u0e83\2\u0e84\2\u0e86\2\u0e86\2\u0e89\2\u0e8a")
81
- buf.write("\2\u0e8c\2\u0e8c\2\u0e8f\2\u0e8f\2\u0e96\2\u0e99\2\u0e9b")
82
- buf.write("\2\u0ea1\2\u0ea3\2\u0ea5\2\u0ea7\2\u0ea7\2\u0ea9\2\u0ea9")
83
- buf.write("\2\u0eac\2\u0ead\2\u0eaf\2\u0eb2\2\u0eb4\2\u0eb5\2\u0ebf")
84
- buf.write("\2\u0ebf\2\u0ec2\2\u0ec6\2\u0ec8\2\u0ec8\2\u0ed2\2\u0edb")
85
- buf.write("\2\u0ede\2\u0ee1\2\u0f02\2\u0f02\2\u0f22\2\u0f35\2\u0f42")
86
- buf.write("\2\u0f49\2\u0f4b\2\u0f6e\2\u0f8a\2\u0f8e\2\u1002\2\u102c")
87
- buf.write("\2\u1041\2\u104b\2\u1052\2\u1057\2\u105c\2\u105f\2\u1063")
88
- buf.write("\2\u1063\2\u1067\2\u1068\2\u1070\2\u1072\2\u1077\2\u1083")
89
- buf.write("\2\u1090\2\u1090\2\u1092\2\u109b\2\u10a2\2\u10c7\2\u10c9")
90
- buf.write("\2\u10c9\2\u10cf\2\u10cf\2\u10d2\2\u10fc\2\u10fe\2\u124a")
91
- buf.write("\2\u124c\2\u124f\2\u1252\2\u1258\2\u125a\2\u125a\2\u125c")
92
- buf.write("\2\u125f\2\u1262\2\u128a\2\u128c\2\u128f\2\u1292\2\u12b2")
93
- buf.write("\2\u12b4\2\u12b7\2\u12ba\2\u12c0\2\u12c2\2\u12c2\2\u12c4")
94
- buf.write("\2\u12c7\2\u12ca\2\u12d8\2\u12da\2\u1312\2\u1314\2\u1317")
95
- buf.write("\2\u131a\2\u135c\2\u136b\2\u137e\2\u1382\2\u1391\2\u13a2")
96
- buf.write("\2\u13f7\2\u13fa\2\u13ff\2\u1403\2\u166e\2\u1671\2\u1681")
97
- buf.write("\2\u1683\2\u169c\2\u16a2\2\u16ec\2\u16f0\2\u16fa\2\u1702")
98
- buf.write("\2\u170e\2\u1710\2\u1713\2\u1722\2\u1733\2\u1742\2\u1753")
99
- buf.write("\2\u1762\2\u176e\2\u1770\2\u1772\2\u1782\2\u17b5\2\u17d9")
100
- buf.write("\2\u17d9\2\u17de\2\u17de\2\u17e2\2\u17eb\2\u17f2\2\u17fb")
101
- buf.write("\2\u1812\2\u181b\2\u1822\2\u1879\2\u1882\2\u1886\2\u1889")
102
- buf.write("\2\u18aa\2\u18ac\2\u18ac\2\u18b2\2\u18f7\2\u1902\2\u1920")
103
- buf.write("\2\u1948\2\u196f\2\u1972\2\u1976\2\u1982\2\u19ad\2\u19b2")
104
- buf.write("\2\u19cb\2\u19d2\2\u19dc\2\u1a02\2\u1a18\2\u1a22\2\u1a56")
105
- buf.write("\2\u1a82\2\u1a8b\2\u1a92\2\u1a9b\2\u1aa9\2\u1aa9\2\u1b07")
106
- buf.write("\2\u1b35\2\u1b47\2\u1b4d\2\u1b52\2\u1b5b\2\u1b85\2\u1ba2")
107
- buf.write("\2\u1bb0\2\u1be7\2\u1c02\2\u1c25\2\u1c42\2\u1c4b\2\u1c4f")
108
- buf.write("\2\u1c7f\2\u1c82\2\u1c8a\2\u1ceb\2\u1cee\2\u1cf0\2\u1cf3")
109
- buf.write("\2\u1cf7\2\u1cf8\2\u1d02\2\u1dc1\2\u1e02\2\u1f17\2\u1f1a")
110
- buf.write("\2\u1f1f\2\u1f22\2\u1f47\2\u1f4a\2\u1f4f\2\u1f52\2\u1f59")
111
- buf.write("\2\u1f5b\2\u1f5b\2\u1f5d\2\u1f5d\2\u1f5f\2\u1f5f\2\u1f61")
112
- buf.write("\2\u1f7f\2\u1f82\2\u1fb6\2\u1fb8\2\u1fbe\2\u1fc0\2\u1fc0")
113
- buf.write("\2\u1fc4\2\u1fc6\2\u1fc8\2\u1fce\2\u1fd2\2\u1fd5\2\u1fd8")
114
- buf.write("\2\u1fdd\2\u1fe2\2\u1fee\2\u1ff4\2\u1ff6\2\u1ff8\2\u1ffe")
115
- buf.write("\2\u2072\2\u2073\2\u2076\2\u207b\2\u2081\2\u208b\2\u2092")
116
- buf.write("\2\u209e\2\u2104\2\u2104\2\u2109\2\u2109\2\u210c\2\u2115")
117
- buf.write("\2\u2117\2\u2117\2\u211b\2\u211f\2\u2126\2\u2126\2\u2128")
118
- buf.write("\2\u2128\2\u212a\2\u212a\2\u212c\2\u212f\2\u2131\2\u213b")
119
- buf.write("\2\u213e\2\u2141\2\u2147\2\u214b\2\u2150\2\u2150\2\u2152")
120
- buf.write("\2\u218b\2\u2462\2\u249d\2\u24ec\2\u2501\2\u2778\2\u2795")
121
- buf.write("\2\u2c02\2\u2c30\2\u2c32\2\u2c60\2\u2c62\2\u2ce6\2\u2ced")
122
- buf.write("\2\u2cf0\2\u2cf4\2\u2cf5\2\u2cff\2\u2cff\2\u2d02\2\u2d27")
123
- buf.write("\2\u2d29\2\u2d29\2\u2d2f\2\u2d2f\2\u2d32\2\u2d69\2\u2d71")
124
- buf.write("\2\u2d71\2\u2d82\2\u2d98\2\u2da2\2\u2da8\2\u2daa\2\u2db0")
125
- buf.write("\2\u2db2\2\u2db8\2\u2dba\2\u2dc0\2\u2dc2\2\u2dc8\2\u2dca")
126
- buf.write("\2\u2dd0\2\u2dd2\2\u2dd8\2\u2dda\2\u2de0\2\u2e31\2\u2e31")
127
- buf.write("\2\u3007\2\u3009\2\u3023\2\u302b\2\u3033\2\u3037\2\u303a")
128
- buf.write("\2\u303e\2\u3043\2\u3098\2\u309f\2\u30a1\2\u30a3\2\u30fc")
129
- buf.write("\2\u30fe\2\u3101\2\u3107\2\u3130\2\u3133\2\u3190\2\u3194")
130
- buf.write("\2\u3197\2\u31a2\2\u31bc\2\u31f2\2\u3201\2\u3222\2\u322b")
131
- buf.write("\2\u324a\2\u3251\2\u3253\2\u3261\2\u3282\2\u328b\2\u32b3")
132
- buf.write("\2\u32c1\2\u3402\2\u4db7\2\u4e02\2\u9fec\2\ua002\2\ua48e")
133
- buf.write("\2\ua4d2\2\ua4ff\2\ua502\2\ua60e\2\ua612\2\ua62d\2\ua642")
134
- buf.write("\2\ua670\2\ua681\2\ua69f\2\ua6a2\2\ua6f1\2\ua719\2\ua721")
135
- buf.write("\2\ua724\2\ua78a\2\ua78d\2\ua7b0\2\ua7b2\2\ua7b9\2\ua7f9")
136
- buf.write("\2\ua803\2\ua805\2\ua807\2\ua809\2\ua80c\2\ua80e\2\ua824")
137
- buf.write("\2\ua832\2\ua837\2\ua842\2\ua875\2\ua884\2\ua8b5\2\ua8d2")
138
- buf.write("\2\ua8db\2\ua8f4\2\ua8f9\2\ua8fd\2\ua8fd\2\ua8ff\2\ua8ff")
139
- buf.write("\2\ua902\2\ua927\2\ua932\2\ua948\2\ua962\2\ua97e\2\ua986")
140
- buf.write("\2\ua9b4\2\ua9d1\2\ua9db\2\ua9e2\2\ua9e6\2\ua9e8\2\uaa00")
141
- buf.write("\2\uaa02\2\uaa2a\2\uaa42\2\uaa44\2\uaa46\2\uaa4d\2\uaa52")
142
- buf.write("\2\uaa5b\2\uaa62\2\uaa78\2\uaa7c\2\uaa7c\2\uaa80\2\uaab1")
143
- buf.write("\2\uaab3\2\uaab3\2\uaab7\2\uaab8\2\uaabb\2\uaabf\2\uaac2")
144
- buf.write("\2\uaac2\2\uaac4\2\uaac4\2\uaadd\2\uaadf\2\uaae2\2\uaaec")
145
- buf.write("\2\uaaf4\2\uaaf6\2\uab03\2\uab08\2\uab0b\2\uab10\2\uab13")
146
- buf.write("\2\uab18\2\uab22\2\uab28\2\uab2a\2\uab30\2\uab32\2\uab5c")
147
- buf.write("\2\uab5e\2\uab67\2\uab72\2\uabe4\2\uabf2\2\uabfb\2\uac02")
148
- buf.write("\2\ud7a5\2\ud7b2\2\ud7c8\2\ud7cd\2\ud7fd\2\uf902\2\ufa6f")
149
- buf.write("\2\ufa72\2\ufadb\2\ufb02\2\ufb08\2\ufb15\2\ufb19\2\ufb1f")
150
- buf.write("\2\ufb1f\2\ufb21\2\ufb2a\2\ufb2c\2\ufb38\2\ufb3a\2\ufb3e")
151
- buf.write("\2\ufb40\2\ufb40\2\ufb42\2\ufb43\2\ufb45\2\ufb46\2\ufb48")
152
- buf.write("\2\ufbb3\2\ufbd5\2\ufd3f\2\ufd52\2\ufd91\2\ufd94\2\ufdc9")
153
- buf.write("\2\ufdf2\2\ufdfd\2\ufe72\2\ufe76\2\ufe78\2\ufefe\2\uff12")
154
- buf.write("\2\uff1b\2\uff23\2\uff3c\2\uff43\2\uff5c\2\uff68\2\uffc0")
155
- buf.write("\2\uffc4\2\uffc9\2\uffcc\2\uffd1\2\uffd4\2\uffd9\2\uffdc")
156
- buf.write("\2\uffde\2\2\3\r\3\17\3(\3*\3<\3>\3?\3A\3O\3R\3_\3\u0082")
157
- buf.write("\3\u00fc\3\u0109\3\u0135\3\u0142\3\u017a\3\u018c\3\u018d")
158
- buf.write("\3\u0282\3\u029e\3\u02a2\3\u02d2\3\u02e3\3\u02fd\3\u0302")
159
- buf.write("\3\u0325\3\u032f\3\u034c\3\u0352\3\u0377\3\u0382\3\u039f")
160
- buf.write("\3\u03a2\3\u03c5\3\u03ca\3\u03d1\3\u03d3\3\u03d7\3\u0402")
161
- buf.write("\3\u049f\3\u04a2\3\u04ab\3\u04b2\3\u04d5\3\u04da\3\u04fd")
162
- buf.write("\3\u0502\3\u0529\3\u0532\3\u0565\3\u0602\3\u0738\3\u0742")
163
- buf.write("\3\u0757\3\u0762\3\u0769\3\u0802\3\u0807\3\u080a\3\u080a")
164
- buf.write("\3\u080c\3\u0837\3\u0839\3\u083a\3\u083e\3\u083e\3\u0841")
165
- buf.write("\3\u0857\3\u085a\3\u0878\3\u087b\3\u08a0\3\u08a9\3\u08b1")
166
- buf.write("\3\u08e2\3\u08f4\3\u08f6\3\u08f7\3\u08fd\3\u091d\3\u0922")
167
- buf.write("\3\u093b\3\u0982\3\u09b9\3\u09be\3\u09d1\3\u09d4\3\u0a02")
168
- buf.write("\3\u0a12\3\u0a15\3\u0a17\3\u0a19\3\u0a1b\3\u0a35\3\u0a42")
169
- buf.write("\3\u0a49\3\u0a62\3\u0a80\3\u0a82\3\u0aa1\3\u0ac2\3\u0ac9")
170
- buf.write("\3\u0acb\3\u0ae6\3\u0aed\3\u0af1\3\u0b02\3\u0b37\3\u0b42")
171
- buf.write("\3\u0b57\3\u0b5a\3\u0b74\3\u0b7a\3\u0b93\3\u0bab\3\u0bb1")
172
- buf.write("\3\u0c02\3\u0c4a\3\u0c82\3\u0cb4\3\u0cc2\3\u0cf4\3\u0cfc")
173
- buf.write("\3\u0d01\3\u0e62\3\u0e80\3\u1005\3\u1039\3\u1054\3\u1071")
174
- buf.write("\3\u1085\3\u10b1\3\u10d2\3\u10ea\3\u10f2\3\u10fb\3\u1105")
175
- buf.write("\3\u1128\3\u1138\3\u1141\3\u1152\3\u1174\3\u1178\3\u1178")
176
- buf.write("\3\u1185\3\u11b4\3\u11c3\3\u11c6\3\u11d2\3\u11dc\3\u11de")
177
- buf.write("\3\u11de\3\u11e3\3\u11f6\3\u1202\3\u1213\3\u1215\3\u122d")
178
- buf.write("\3\u1282\3\u1288\3\u128a\3\u128a\3\u128c\3\u128f\3\u1291")
179
- buf.write("\3\u129f\3\u12a1\3\u12aa\3\u12b2\3\u12e0\3\u12f2\3\u12fb")
180
- buf.write("\3\u1307\3\u130e\3\u1311\3\u1312\3\u1315\3\u132a\3\u132c")
181
- buf.write("\3\u1332\3\u1334\3\u1335\3\u1337\3\u133b\3\u133f\3\u133f")
182
- buf.write("\3\u1352\3\u1352\3\u135f\3\u1363\3\u1402\3\u1436\3\u1449")
183
- buf.write("\3\u144c\3\u1452\3\u145b\3\u1482\3\u14b1\3\u14c6\3\u14c7")
184
- buf.write("\3\u14c9\3\u14c9\3\u14d2\3\u14db\3\u1582\3\u15b0\3\u15da")
185
- buf.write("\3\u15dd\3\u1602\3\u1631\3\u1646\3\u1646\3\u1652\3\u165b")
186
- buf.write("\3\u1682\3\u16ac\3\u16c2\3\u16cb\3\u1702\3\u171b\3\u1732")
187
- buf.write("\3\u173d\3\u18a2\3\u18f4\3\u1901\3\u1901\3\u1a02\3\u1a02")
188
- buf.write("\3\u1a0d\3\u1a34\3\u1a3c\3\u1a3c\3\u1a52\3\u1a52\3\u1a5e")
189
- buf.write("\3\u1a85\3\u1a88\3\u1a8b\3\u1ac2\3\u1afa\3\u1c02\3\u1c0a")
190
- buf.write("\3\u1c0c\3\u1c30\3\u1c42\3\u1c42\3\u1c52\3\u1c6e\3\u1c74")
191
- buf.write("\3\u1c91\3\u1d02\3\u1d08\3\u1d0a\3\u1d0b\3\u1d0d\3\u1d32")
192
- buf.write("\3\u1d48\3\u1d48\3\u1d52\3\u1d5b\3\u2002\3\u239b\3\u2402")
193
- buf.write("\3\u2470\3\u2482\3\u2545\3\u3002\3\u3430\3\u4402\3\u4648")
194
- buf.write("\3\u6802\3\u6a3a\3\u6a42\3\u6a60\3\u6a62\3\u6a6b\3\u6ad2")
195
- buf.write("\3\u6aef\3\u6b02\3\u6b31\3\u6b42\3\u6b45\3\u6b52\3\u6b5b")
196
- buf.write("\3\u6b5d\3\u6b63\3\u6b65\3\u6b79\3\u6b7f\3\u6b91\3\u6f02")
197
- buf.write("\3\u6f46\3\u6f52\3\u6f52\3\u6f95\3\u6fa1\3\u6fe2\3\u6fe3")
198
- buf.write("\3\u7002\3\u87ee\3\u8802\3\u8af4\3\ub002\3\ub120\3\ub172")
199
- buf.write("\3\ub2fd\3\ubc02\3\ubc6c\3\ubc72\3\ubc7e\3\ubc82\3\ubc8a")
200
- buf.write("\3\ubc92\3\ubc9b\3\ud362\3\ud373\3\ud402\3\ud456\3\ud458")
201
- buf.write("\3\ud49e\3\ud4a0\3\ud4a1\3\ud4a4\3\ud4a4\3\ud4a7\3\ud4a8")
202
- buf.write("\3\ud4ab\3\ud4ae\3\ud4b0\3\ud4bb\3\ud4bd\3\ud4bd\3\ud4bf")
203
- buf.write("\3\ud4c5\3\ud4c7\3\ud507\3\ud509\3\ud50c\3\ud50f\3\ud516")
204
- buf.write("\3\ud518\3\ud51e\3\ud520\3\ud53b\3\ud53d\3\ud540\3\ud542")
205
- buf.write("\3\ud546\3\ud548\3\ud548\3\ud54c\3\ud552\3\ud554\3\ud6a7")
206
- buf.write("\3\ud6aa\3\ud6c2\3\ud6c4\3\ud6dc\3\ud6de\3\ud6fc\3\ud6fe")
207
- buf.write("\3\ud716\3\ud718\3\ud736\3\ud738\3\ud750\3\ud752\3\ud770")
208
- buf.write("\3\ud772\3\ud78a\3\ud78c\3\ud7aa\3\ud7ac\3\ud7c4\3\ud7c6")
209
- buf.write("\3\ud7cd\3\ud7d0\3\ud801\3\ue802\3\ue8c6\3\ue8c9\3\ue8d1")
210
- buf.write("\3\ue902\3\ue945\3\ue952\3\ue95b\3\uee02\3\uee05\3\uee07")
211
- buf.write("\3\uee21\3\uee23\3\uee24\3\uee26\3\uee26\3\uee29\3\uee29")
212
- buf.write("\3\uee2b\3\uee34\3\uee36\3\uee39\3\uee3b\3\uee3b\3\uee3d")
213
- buf.write("\3\uee3d\3\uee44\3\uee44\3\uee49\3\uee49\3\uee4b\3\uee4b")
214
- buf.write("\3\uee4d\3\uee4d\3\uee4f\3\uee51\3\uee53\3\uee54\3\uee56")
215
- buf.write("\3\uee56\3\uee59\3\uee59\3\uee5b\3\uee5b\3\uee5d\3\uee5d")
216
- buf.write("\3\uee5f\3\uee5f\3\uee61\3\uee61\3\uee63\3\uee64\3\uee66")
217
- buf.write("\3\uee66\3\uee69\3\uee6c\3\uee6e\3\uee74\3\uee76\3\uee79")
218
- buf.write("\3\uee7b\3\uee7e\3\uee80\3\uee80\3\uee82\3\uee8b\3\uee8d")
219
- buf.write("\3\uee9d\3\ueea3\3\ueea5\3\ueea7\3\ueeab\3\ueead\3\ueebd")
220
- buf.write("\3\uf102\3\uf10e\3\2\4\ua6d8\4\ua702\4\ub736\4\ub742\4")
221
- buf.write("\ub81f\4\ub822\4\ucea3\4\uceb2\4\uebe2\4\uf802\4\ufa1f")
222
- buf.write("\4\u0111\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2")
223
- buf.write("\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\3\21\3\2\2\2")
224
- buf.write("\5\25\3\2\2\2\7\u00cc\3\2\2\2\t\u00e9\3\2\2\2\13\u00eb")
225
- buf.write("\3\2\2\2\r\u00ef\3\2\2\2\17\u00f4\3\2\2\2\21\22\7>\2\2")
226
- buf.write("\22\23\7%\2\2\23\24\7G\2\2\24\4\3\2\2\2\25\26\7@\2\2\26")
227
- buf.write("\6\3\2\2\2\27\30\7v\2\2\30\31\7c\2\2\31\32\7d\2\2\32\33")
228
- buf.write("\7n\2\2\33\u00cd\7g\2\2\34\35\7f\2\2\35\36\7c\2\2\36\37")
229
- buf.write("\7v\2\2\37 \7c\2\2 !\7d\2\2!\"\7c\2\2\"#\7u\2\2#\u00cd")
230
- buf.write("\7g\2\2$%\7f\2\2%&\7c\2\2&\'\7v\2\2\'(\7c\2\2()\7d\2\2")
231
- buf.write(")*\7c\2\2*+\7u\2\2+,\7g\2\2,-\7U\2\2-.\7e\2\2./\7j\2\2")
232
- buf.write("/\60\7g\2\2\60\61\7o\2\2\61\u00cd\7c\2\2\62\63\7o\2\2")
233
- buf.write("\63\64\7g\2\2\64\65\7v\2\2\65\66\7t\2\2\66\67\7k\2\2\67")
234
- buf.write("8\7e\2\28\u00cd\7u\2\29:\7f\2\2:;\7c\2\2;<\7u\2\2<=\7")
235
- buf.write("j\2\2=>\7d\2\2>?\7q\2\2?@\7c\2\2@A\7t\2\2A\u00cd\7f\2")
236
- buf.write("\2BC\7r\2\2CD\7k\2\2DE\7r\2\2EF\7g\2\2FG\7n\2\2GH\7k\2")
237
- buf.write("\2HI\7p\2\2I\u00cd\7g\2\2JK\7e\2\2KL\7j\2\2LM\7c\2\2M")
238
- buf.write("N\7t\2\2N\u00cd\7v\2\2OP\7t\2\2PQ\7g\2\2QR\7r\2\2RS\7")
239
- buf.write("q\2\2ST\7t\2\2T\u00cd\7v\2\2UV\7v\2\2VW\7q\2\2WX\7r\2")
240
- buf.write("\2XY\7k\2\2Y\u00cd\7e\2\2Z[\7o\2\2[\\\7n\2\2\\]\7o\2\2")
241
- buf.write("]^\7q\2\2^_\7f\2\2_`\7g\2\2`\u00cd\7n\2\2ab\7d\2\2bc\7")
242
- buf.write("q\2\2c\u00cd\7v\2\2de\7V\2\2ef\7J\2\2fg\7T\2\2gh\7G\2")
243
- buf.write("\2hi\7C\2\2i\u00cd\7F\2\2jk\7n\2\2kl\7q\2\2lm\7e\2\2m")
244
- buf.write("n\7c\2\2no\7v\2\2op\7k\2\2pq\7q\2\2q\u00cd\7p\2\2rs\7")
245
- buf.write("i\2\2st\7n\2\2tu\7q\2\2uv\7u\2\2vw\7u\2\2wx\7c\2\2xy\7")
246
- buf.write("t\2\2y\u00cd\7{\2\2z{\7i\2\2{|\7n\2\2|}\7q\2\2}~\7u\2")
247
- buf.write("\2~\177\7u\2\2\177\u0080\7c\2\2\u0080\u0081\7t\2\2\u0081")
248
- buf.write("\u0082\7{\2\2\u0082\u0083\7V\2\2\u0083\u0084\7g\2\2\u0084")
249
- buf.write("\u0085\7t\2\2\u0085\u00cd\7o\2\2\u0086\u0087\7v\2\2\u0087")
250
- buf.write("\u0088\7c\2\2\u0088\u00cd\7i\2\2\u0089\u008a\7e\2\2\u008a")
251
- buf.write("\u008b\7n\2\2\u008b\u008c\7c\2\2\u008c\u008d\7u\2\2\u008d")
252
- buf.write("\u008e\7u\2\2\u008e\u008f\7k\2\2\u008f\u0090\7h\2\2\u0090")
253
- buf.write("\u0091\7k\2\2\u0091\u0092\7e\2\2\u0092\u0093\7c\2\2\u0093")
254
- buf.write("\u0094\7v\2\2\u0094\u0095\7k\2\2\u0095\u0096\7q\2\2\u0096")
255
- buf.write("\u00cd\7p\2\2\u0097\u0098\7v\2\2\u0098\u0099\7{\2\2\u0099")
256
- buf.write("\u009a\7r\2\2\u009a\u00cd\7g\2\2\u009b\u009c\7v\2\2\u009c")
257
- buf.write("\u009d\7g\2\2\u009d\u009e\7u\2\2\u009e\u009f\7v\2\2\u009f")
258
- buf.write("\u00a0\7F\2\2\u00a0\u00a1\7g\2\2\u00a1\u00a2\7h\2\2\u00a2")
259
- buf.write("\u00a3\7k\2\2\u00a3\u00a4\7p\2\2\u00a4\u00a5\7k\2\2\u00a5")
260
- buf.write("\u00a6\7v\2\2\u00a6\u00a7\7k\2\2\u00a7\u00a8\7q\2\2\u00a8")
261
- buf.write("\u00cd\7p\2\2\u00a9\u00aa\7v\2\2\u00aa\u00ab\7g\2\2\u00ab")
262
- buf.write("\u00ac\7u\2\2\u00ac\u00ad\7v\2\2\u00ad\u00ae\7U\2\2\u00ae")
263
- buf.write("\u00af\7w\2\2\u00af\u00b0\7k\2\2\u00b0\u00b1\7v\2\2\u00b1")
264
- buf.write("\u00cd\7g\2\2\u00b2\u00b3\7v\2\2\u00b3\u00b4\7g\2\2\u00b4")
265
- buf.write("\u00b5\7u\2\2\u00b5\u00b6\7v\2\2\u00b6\u00b7\7E\2\2\u00b7")
266
- buf.write("\u00b8\7c\2\2\u00b8\u00b9\7u\2\2\u00b9\u00cd\7g\2\2\u00ba")
267
- buf.write("\u00bb\7f\2\2\u00bb\u00bc\7c\2\2\u00bc\u00bd\7u\2\2\u00bd")
268
- buf.write("\u00be\7j\2\2\u00be\u00bf\7d\2\2\u00bf\u00c0\7q\2\2\u00c0")
269
- buf.write("\u00c1\7c\2\2\u00c1\u00c2\7t\2\2\u00c2\u00c3\7f\2\2\u00c3")
270
- buf.write("\u00c4\7F\2\2\u00c4\u00c5\7c\2\2\u00c5\u00c6\7v\2\2\u00c6")
271
- buf.write("\u00c7\7c\2\2\u00c7\u00c8\7O\2\2\u00c8\u00c9\7q\2\2\u00c9")
272
- buf.write("\u00ca\7f\2\2\u00ca\u00cb\7g\2\2\u00cb\u00cd\7n\2\2\u00cc")
273
- buf.write("\27\3\2\2\2\u00cc\34\3\2\2\2\u00cc$\3\2\2\2\u00cc\62\3")
274
- buf.write("\2\2\2\u00cc9\3\2\2\2\u00ccB\3\2\2\2\u00ccJ\3\2\2\2\u00cc")
275
- buf.write("O\3\2\2\2\u00ccU\3\2\2\2\u00ccZ\3\2\2\2\u00cca\3\2\2\2")
276
- buf.write("\u00ccd\3\2\2\2\u00ccj\3\2\2\2\u00ccr\3\2\2\2\u00ccz\3")
277
- buf.write("\2\2\2\u00cc\u0086\3\2\2\2\u00cc\u0089\3\2\2\2\u00cc\u0097")
278
- buf.write("\3\2\2\2\u00cc\u009b\3\2\2\2\u00cc\u00a9\3\2\2\2\u00cc")
279
- buf.write("\u00b2\3\2\2\2\u00cc\u00ba\3\2\2\2\u00cd\b\3\2\2\2\u00ce")
280
- buf.write("\u00cf\7e\2\2\u00cf\u00d0\7q\2\2\u00d0\u00d1\7n\2\2\u00d1")
281
- buf.write("\u00d2\7w\2\2\u00d2\u00d3\7o\2\2\u00d3\u00d4\7p\2\2\u00d4")
282
- buf.write("\u00ea\7u\2\2\u00d5\u00d6\7f\2\2\u00d6\u00d7\7g\2\2\u00d7")
283
- buf.write("\u00d8\7u\2\2\u00d8\u00d9\7e\2\2\u00d9\u00da\7t\2\2\u00da")
284
- buf.write("\u00db\7k\2\2\u00db\u00dc\7r\2\2\u00dc\u00dd\7v\2\2\u00dd")
285
- buf.write("\u00de\7k\2\2\u00de\u00df\7q\2\2\u00df\u00ea\7p\2\2\u00e0")
286
- buf.write("\u00e1\7v\2\2\u00e1\u00e2\7c\2\2\u00e2\u00e3\7i\2\2\u00e3")
287
- buf.write("\u00ea\7u\2\2\u00e4\u00e5\7v\2\2\u00e5\u00e6\7c\2\2\u00e6")
288
- buf.write("\u00e7\7u\2\2\u00e7\u00e8\7m\2\2\u00e8\u00ea\7u\2\2\u00e9")
289
- buf.write("\u00ce\3\2\2\2\u00e9\u00d5\3\2\2\2\u00e9\u00e0\3\2\2\2")
290
- buf.write("\u00e9\u00e4\3\2\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7<\2")
291
- buf.write("\2\u00ec\u00ed\7<\2\2\u00ed\f\3\2\2\2\u00ee\u00f0\t\2")
292
- buf.write("\2\2\u00ef\u00ee\3\2\2\2\u00f0\u00f1\3\2\2\2\u00f1\u00ef")
293
- buf.write("\3\2\2\2\u00f1\u00f2\3\2\2\2\u00f2\16\3\2\2\2\u00f3\u00f5")
294
- buf.write("\t\3\2\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6")
295
- buf.write("\u00f4\3\2\2\2\u00f6\u00f7\3\2\2\2\u00f7\20\3\2\2\2\7")
296
- buf.write("\2\u00cc\u00e9\u00f1\u00f6\2")
19
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
20
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
21
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
22
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
23
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
24
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
25
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
26
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
27
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
28
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
29
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
30
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
31
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
32
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
33
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
34
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
35
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
36
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
37
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
38
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
39
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
40
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
41
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
42
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
43
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
44
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
45
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
46
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
47
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
48
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
49
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
50
+ buf.write("\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3")
51
+ buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5")
52
+ buf.write("\3\5\3\5\3\5\3\5\5\5\u01f9\n\5\3\6\3\6\3\6\3\6\3\6\3\6")
53
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
54
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
55
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
56
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
57
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
58
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
59
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
60
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
61
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
62
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
63
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
64
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
65
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
66
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
67
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
68
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
69
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
70
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
71
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
72
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
73
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
74
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
75
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
76
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
77
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
78
+ buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6")
79
+ buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3")
80
+ buf.write("\6\3\6\5\6\u036f\n\6\3\7\6\7\u0372\n\7\r\7\16\7\u0373")
81
+ buf.write("\3\7\7\7\u0377\n\7\f\7\16\7\u037a\13\7\3\7\6\7\u037d\n")
82
+ buf.write("\7\r\7\16\7\u037e\3\u0378\2\b\3\3\5\4\7\5\t\6\13\7\r\b")
83
+ buf.write("\3\2\4\3\2<<\4\2<<@@\2\u03d9\2\3\3\2\2\2\2\5\3\2\2\2\2")
84
+ buf.write("\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\3\17\3")
85
+ buf.write("\2\2\2\5\21\3\2\2\2\7\24\3\2\2\2\t\u01f8\3\2\2\2\13\u036e")
86
+ buf.write("\3\2\2\2\r\u0371\3\2\2\2\17\20\7@\2\2\20\4\3\2\2\2\21")
87
+ buf.write("\22\7<\2\2\22\23\7<\2\2\23\6\3\2\2\2\24\25\7>\2\2\25\26")
88
+ buf.write("\7%\2\2\26\27\7G\2\2\27\b\3\2\2\2\30\31\7v\2\2\31\32\7")
89
+ buf.write("c\2\2\32\33\7d\2\2\33\34\7n\2\2\34\u01f9\7g\2\2\35\36")
90
+ buf.write("\7v\2\2\36\37\7q\2\2\37 \7r\2\2 !\7k\2\2!\u01f9\7e\2\2")
91
+ buf.write("\"#\7e\2\2#$\7n\2\2$%\7c\2\2%&\7u\2\2&\'\7u\2\2\'(\7k")
92
+ buf.write("\2\2()\7h\2\2)*\7k\2\2*+\7e\2\2+,\7c\2\2,-\7v\2\2-.\7")
93
+ buf.write("k\2\2./\7q\2\2/\u01f9\7p\2\2\60\61\7f\2\2\61\62\7c\2\2")
94
+ buf.write("\62\63\7u\2\2\63\64\7j\2\2\64\65\7d\2\2\65\66\7q\2\2\66")
95
+ buf.write("\67\7c\2\2\678\7t\2\28\u01f9\7f\2\29:\7r\2\2:;\7k\2\2")
96
+ buf.write(";<\7r\2\2<=\7g\2\2=>\7n\2\2>?\7k\2\2?@\7p\2\2@\u01f9\7")
97
+ buf.write("g\2\2AB\7f\2\2BC\7c\2\2CD\7v\2\2DE\7c\2\2EF\7d\2\2FG\7")
98
+ buf.write("c\2\2GH\7u\2\2H\u01f9\7g\2\2IJ\7f\2\2JK\7c\2\2KL\7v\2")
99
+ buf.write("\2LM\7c\2\2MN\7d\2\2NO\7c\2\2OP\7u\2\2PQ\7g\2\2QR\7U\2")
100
+ buf.write("\2RS\7e\2\2ST\7j\2\2TU\7g\2\2UV\7o\2\2V\u01f9\7c\2\2W")
101
+ buf.write("X\7i\2\2XY\7n\2\2YZ\7q\2\2Z[\7u\2\2[\\\7u\2\2\\]\7c\2")
102
+ buf.write("\2]^\7t\2\2^\u01f9\7{\2\2_`\7i\2\2`a\7n\2\2ab\7q\2\2b")
103
+ buf.write("c\7u\2\2cd\7u\2\2de\7c\2\2ef\7t\2\2fg\7{\2\2gh\7V\2\2")
104
+ buf.write("hi\7g\2\2ij\7t\2\2j\u01f9\7o\2\2kl\7f\2\2lm\7c\2\2mn\7")
105
+ buf.write("v\2\2no\7c\2\2op\7d\2\2pq\7c\2\2qr\7u\2\2rs\7g\2\2st\7")
106
+ buf.write("U\2\2tu\7g\2\2uv\7t\2\2vw\7x\2\2wx\7k\2\2xy\7e\2\2y\u01f9")
107
+ buf.write("\7g\2\2z{\7o\2\2{|\7g\2\2|}\7u\2\2}~\7u\2\2~\177\7c\2")
108
+ buf.write("\2\177\u0080\7i\2\2\u0080\u0081\7k\2\2\u0081\u0082\7p")
109
+ buf.write("\2\2\u0082\u0083\7i\2\2\u0083\u0084\7U\2\2\u0084\u0085")
110
+ buf.write("\7g\2\2\u0085\u0086\7t\2\2\u0086\u0087\7x\2\2\u0087\u0088")
111
+ buf.write("\7k\2\2\u0088\u0089\7e\2\2\u0089\u01f9\7g\2\2\u008a\u008b")
112
+ buf.write("\7o\2\2\u008b\u008c\7g\2\2\u008c\u008d\7v\2\2\u008d\u008e")
113
+ buf.write("\7c\2\2\u008e\u008f\7f\2\2\u008f\u0090\7c\2\2\u0090\u0091")
114
+ buf.write("\7v\2\2\u0091\u0092\7c\2\2\u0092\u0093\7U\2\2\u0093\u0094")
115
+ buf.write("\7g\2\2\u0094\u0095\7t\2\2\u0095\u0096\7x\2\2\u0096\u0097")
116
+ buf.write("\7k\2\2\u0097\u0098\7e\2\2\u0098\u01f9\7g\2\2\u0099\u009a")
117
+ buf.write("\7f\2\2\u009a\u009b\7c\2\2\u009b\u009c\7u\2\2\u009c\u009d")
118
+ buf.write("\7j\2\2\u009d\u009e\7d\2\2\u009e\u009f\7q\2\2\u009f\u00a0")
119
+ buf.write("\7c\2\2\u00a0\u00a1\7t\2\2\u00a1\u00a2\7f\2\2\u00a2\u00a3")
120
+ buf.write("\7U\2\2\u00a3\u00a4\7g\2\2\u00a4\u00a5\7t\2\2\u00a5\u00a6")
121
+ buf.write("\7x\2\2\u00a6\u00a7\7k\2\2\u00a7\u00a8\7e\2\2\u00a8\u01f9")
122
+ buf.write("\7g\2\2\u00a9\u00aa\7r\2\2\u00aa\u00ab\7k\2\2\u00ab\u00ac")
123
+ buf.write("\7r\2\2\u00ac\u00ad\7g\2\2\u00ad\u00ae\7n\2\2\u00ae\u00af")
124
+ buf.write("\7k\2\2\u00af\u00b0\7p\2\2\u00b0\u00b1\7g\2\2\u00b1\u00b2")
125
+ buf.write("\7U\2\2\u00b2\u00b3\7g\2\2\u00b3\u00b4\7t\2\2\u00b4\u00b5")
126
+ buf.write("\7x\2\2\u00b5\u00b6\7k\2\2\u00b6\u00b7\7e\2\2\u00b7\u01f9")
127
+ buf.write("\7g\2\2\u00b8\u00b9\7o\2\2\u00b9\u00ba\7n\2\2\u00ba\u00bb")
128
+ buf.write("\7o\2\2\u00bb\u00bc\7q\2\2\u00bc\u00bd\7f\2\2\u00bd\u00be")
129
+ buf.write("\7g\2\2\u00be\u00bf\7n\2\2\u00bf\u00c0\7U\2\2\u00c0\u00c1")
130
+ buf.write("\7g\2\2\u00c1\u00c2\7t\2\2\u00c2\u00c3\7x\2\2\u00c3\u00c4")
131
+ buf.write("\7k\2\2\u00c4\u00c5\7e\2\2\u00c5\u01f9\7g\2\2\u00c6\u00c7")
132
+ buf.write("\7u\2\2\u00c7\u00c8\7v\2\2\u00c8\u00c9\7q\2\2\u00c9\u00ca")
133
+ buf.write("\7t\2\2\u00ca\u00cb\7c\2\2\u00cb\u00cc\7i\2\2\u00cc\u00cd")
134
+ buf.write("\7g\2\2\u00cd\u00ce\7U\2\2\u00ce\u00cf\7g\2\2\u00cf\u00d0")
135
+ buf.write("\7t\2\2\u00d0\u00d1\7x\2\2\u00d1\u00d2\7k\2\2\u00d2\u00d3")
136
+ buf.write("\7e\2\2\u00d3\u01f9\7g\2\2\u00d4\u00d5\7u\2\2\u00d5\u00d6")
137
+ buf.write("\7g\2\2\u00d6\u00d7\7c\2\2\u00d7\u00d8\7t\2\2\u00d8\u00d9")
138
+ buf.write("\7e\2\2\u00d9\u00da\7j\2\2\u00da\u00db\7U\2\2\u00db\u00dc")
139
+ buf.write("\7g\2\2\u00dc\u00dd\7t\2\2\u00dd\u00de\7x\2\2\u00de\u00df")
140
+ buf.write("\7k\2\2\u00df\u00e0\7e\2\2\u00e0\u01f9\7g\2\2\u00e1\u00e2")
141
+ buf.write("\7y\2\2\u00e2\u00e3\7g\2\2\u00e3\u00e4\7d\2\2\u00e4\u00e5")
142
+ buf.write("\7j\2\2\u00e5\u00e6\7q\2\2\u00e6\u00e7\7q\2\2\u00e7\u01f9")
143
+ buf.write("\7m\2\2\u00e8\u00e9\7o\2\2\u00e9\u00ea\7n\2\2\u00ea\u00eb")
144
+ buf.write("\7o\2\2\u00eb\u00ec\7q\2\2\u00ec\u00ed\7f\2\2\u00ed\u00ee")
145
+ buf.write("\7g\2\2\u00ee\u01f9\7n\2\2\u00ef\u00f0\7v\2\2\u00f0\u00f1")
146
+ buf.write("\7{\2\2\u00f1\u00f2\7r\2\2\u00f2\u01f9\7g\2\2\u00f3\u00f4")
147
+ buf.write("\7v\2\2\u00f4\u00f5\7g\2\2\u00f5\u00f6\7c\2\2\u00f6\u01f9")
148
+ buf.write("\7o\2\2\u00f7\u00f8\7w\2\2\u00f8\u00f9\7u\2\2\u00f9\u00fa")
149
+ buf.write("\7g\2\2\u00fa\u01f9\7t\2\2\u00fb\u00fc\7d\2\2\u00fc\u00fd")
150
+ buf.write("\7q\2\2\u00fd\u01f9\7v\2\2\u00fe\u00ff\7t\2\2\u00ff\u0100")
151
+ buf.write("\7q\2\2\u0100\u0101\7n\2\2\u0101\u01f9\7g\2\2\u0102\u0103")
152
+ buf.write("\7r\2\2\u0103\u0104\7q\2\2\u0104\u0105\7n\2\2\u0105\u0106")
153
+ buf.write("\7k\2\2\u0106\u0107\7e\2\2\u0107\u01f9\7{\2\2\u0108\u0109")
154
+ buf.write("\7v\2\2\u0109\u010a\7g\2\2\u010a\u010b\7u\2\2\u010b\u010c")
155
+ buf.write("\7v\2\2\u010c\u010d\7U\2\2\u010d\u010e\7w\2\2\u010e\u010f")
156
+ buf.write("\7k\2\2\u010f\u0110\7v\2\2\u0110\u01f9\7g\2\2\u0111\u0112")
157
+ buf.write("\7v\2\2\u0112\u0113\7g\2\2\u0113\u0114\7u\2\2\u0114\u0115")
158
+ buf.write("\7v\2\2\u0115\u0116\7E\2\2\u0116\u0117\7c\2\2\u0117\u0118")
159
+ buf.write("\7u\2\2\u0118\u01f9\7g\2\2\u0119\u011a\7f\2\2\u011a\u011b")
160
+ buf.write("\7c\2\2\u011b\u011c\7v\2\2\u011c\u011d\7c\2\2\u011d\u011e")
161
+ buf.write("\7K\2\2\u011e\u011f\7p\2\2\u011f\u0120\7u\2\2\u0120\u0121")
162
+ buf.write("\7k\2\2\u0121\u0122\7i\2\2\u0122\u0123\7j\2\2\u0123\u0124")
163
+ buf.write("\7v\2\2\u0124\u0125\7E\2\2\u0125\u0126\7j\2\2\u0126\u0127")
164
+ buf.write("\7c\2\2\u0127\u0128\7t\2\2\u0128\u01f9\7v\2\2\u0129\u012a")
165
+ buf.write("\7m\2\2\u012a\u012b\7r\2\2\u012b\u01f9\7k\2\2\u012c\u012d")
166
+ buf.write("\7c\2\2\u012d\u012e\7n\2\2\u012e\u012f\7g\2\2\u012f\u0130")
167
+ buf.write("\7t\2\2\u0130\u01f9\7v\2\2\u0131\u0132\7e\2\2\u0132\u0133")
168
+ buf.write("\7q\2\2\u0133\u0134\7p\2\2\u0134\u0135\7v\2\2\u0135\u0136")
169
+ buf.write("\7c\2\2\u0136\u0137\7k\2\2\u0137\u0138\7p\2\2\u0138\u0139")
170
+ buf.write("\7g\2\2\u0139\u01f9\7t\2\2\u013a\u013b\7v\2\2\u013b\u013c")
171
+ buf.write("\7c\2\2\u013c\u01f9\7i\2\2\u013d\u013e\7f\2\2\u013e\u013f")
172
+ buf.write("\7c\2\2\u013f\u0140\7u\2\2\u0140\u0141\7j\2\2\u0141\u0142")
173
+ buf.write("\7d\2\2\u0142\u0143\7q\2\2\u0143\u0144\7c\2\2\u0144\u0145")
174
+ buf.write("\7t\2\2\u0145\u0146\7f\2\2\u0146\u0147\7F\2\2\u0147\u0148")
175
+ buf.write("\7c\2\2\u0148\u0149\7v\2\2\u0149\u014a\7c\2\2\u014a\u014b")
176
+ buf.write("\7O\2\2\u014b\u014c\7q\2\2\u014c\u014d\7f\2\2\u014d\u014e")
177
+ buf.write("\7g\2\2\u014e\u01f9\7n\2\2\u014f\u0150\7u\2\2\u0150\u0151")
178
+ buf.write("\7w\2\2\u0151\u0152\7d\2\2\u0152\u0153\7u\2\2\u0153\u0154")
179
+ buf.write("\7e\2\2\u0154\u0155\7t\2\2\u0155\u0156\7k\2\2\u0156\u0157")
180
+ buf.write("\7r\2\2\u0157\u0158\7v\2\2\u0158\u0159\7k\2\2\u0159\u015a")
181
+ buf.write("\7q\2\2\u015a\u01f9\7p\2\2\u015b\u015c\7e\2\2\u015c\u015d")
182
+ buf.write("\7j\2\2\u015d\u015e\7c\2\2\u015e\u015f\7t\2\2\u015f\u01f9")
183
+ buf.write("\7v\2\2\u0160\u0161\7f\2\2\u0161\u0162\7q\2\2\u0162\u0163")
184
+ buf.write("\7o\2\2\u0163\u0164\7c\2\2\u0164\u0165\7k\2\2\u0165\u01f9")
185
+ buf.write("\7p\2\2\u0166\u0167\7f\2\2\u0167\u0168\7c\2\2\u0168\u0169")
186
+ buf.write("\7v\2\2\u0169\u016a\7c\2\2\u016a\u016b\7R\2\2\u016b\u016c")
187
+ buf.write("\7t\2\2\u016c\u016d\7q\2\2\u016d\u016e\7f\2\2\u016e\u016f")
188
+ buf.write("\7w\2\2\u016f\u0170\7e\2\2\u0170\u01f9\7v\2\2\u0171\u0172")
189
+ buf.write("\7u\2\2\u0172\u0173\7c\2\2\u0173\u0174\7o\2\2\u0174\u0175")
190
+ buf.write("\7r\2\2\u0175\u0176\7n\2\2\u0176\u0177\7g\2\2\u0177\u0178")
191
+ buf.write("\7F\2\2\u0178\u0179\7c\2\2\u0179\u017a\7v\2\2\u017a\u01f9")
192
+ buf.write("\7c\2\2\u017b\u017c\7u\2\2\u017c\u017d\7v\2\2\u017d\u017e")
193
+ buf.write("\7q\2\2\u017e\u017f\7t\2\2\u017f\u0180\7g\2\2\u0180\u0181")
194
+ buf.write("\7f\2\2\u0181\u0182\7R\2\2\u0182\u0183\7t\2\2\u0183\u0184")
195
+ buf.write("\7q\2\2\u0184\u0185\7e\2\2\u0185\u0186\7g\2\2\u0186\u0187")
196
+ buf.write("\7f\2\2\u0187\u0188\7w\2\2\u0188\u0189\7t\2\2\u0189\u01f9")
197
+ buf.write("\7g\2\2\u018a\u018b\7u\2\2\u018b\u018c\7g\2\2\u018c\u018d")
198
+ buf.write("\7c\2\2\u018d\u018e\7t\2\2\u018e\u018f\7e\2\2\u018f\u0190")
199
+ buf.write("\7j\2\2\u0190\u0191\7K\2\2\u0191\u0192\7p\2\2\u0192\u0193")
200
+ buf.write("\7f\2\2\u0193\u0194\7g\2\2\u0194\u01f9\7z\2\2\u0195\u0196")
201
+ buf.write("\7c\2\2\u0196\u0197\7r\2\2\u0197\u0198\7r\2\2\u0198\u0199")
202
+ buf.write("\7O\2\2\u0199\u019a\7c\2\2\u019a\u019b\7t\2\2\u019b\u019c")
203
+ buf.write("\7m\2\2\u019c\u019d\7g\2\2\u019d\u019e\7v\2\2\u019e\u019f")
204
+ buf.write("\7R\2\2\u019f\u01a0\7n\2\2\u01a0\u01a1\7c\2\2\u01a1\u01a2")
205
+ buf.write("\7e\2\2\u01a2\u01a3\7g\2\2\u01a3\u01a4\7F\2\2\u01a4\u01a5")
206
+ buf.write("\7g\2\2\u01a5\u01a6\7h\2\2\u01a6\u01a7\7k\2\2\u01a7\u01a8")
207
+ buf.write("\7p\2\2\u01a8\u01a9\7k\2\2\u01a9\u01aa\7v\2\2\u01aa\u01ab")
208
+ buf.write("\7k\2\2\u01ab\u01ac\7q\2\2\u01ac\u01f9\7p\2\2\u01ad\u01ae")
209
+ buf.write("\7c\2\2\u01ae\u01af\7r\2\2\u01af\u01f9\7r\2\2\u01b0\u01b1")
210
+ buf.write("\7r\2\2\u01b1\u01b2\7g\2\2\u01b2\u01b3\7t\2\2\u01b3\u01b4")
211
+ buf.write("\7u\2\2\u01b4\u01b5\7q\2\2\u01b5\u01b6\7p\2\2\u01b6\u01f9")
212
+ buf.write("\7c\2\2\u01b7\u01b8\7f\2\2\u01b8\u01b9\7q\2\2\u01b9\u01ba")
213
+ buf.write("\7e\2\2\u01ba\u01bb\7U\2\2\u01bb\u01bc\7v\2\2\u01bc\u01bd")
214
+ buf.write("\7q\2\2\u01bd\u01be\7t\2\2\u01be\u01f9\7g\2\2\u01bf\u01c0")
215
+ buf.write("\7r\2\2\u01c0\u01c1\7c\2\2\u01c1\u01c2\7i\2\2\u01c2\u01f9")
216
+ buf.write("\7g\2\2\u01c3\u01c4\7M\2\2\u01c4\u01c5\7p\2\2\u01c5\u01c6")
217
+ buf.write("\7q\2\2\u01c6\u01c7\7y\2\2\u01c7\u01c8\7N\2\2\u01c8\u01c9")
218
+ buf.write("\7g\2\2\u01c9\u01ca\7f\2\2\u01ca\u01cb\7i\2\2\u01cb\u01cc")
219
+ buf.write("\7g\2\2\u01cc\u01cd\7R\2\2\u01cd\u01ce\7c\2\2\u01ce\u01cf")
220
+ buf.write("\7p\2\2\u01cf\u01d0\7g\2\2\u01d0\u01d1\7n\2\2\u01d1\u01f9")
221
+ buf.write("\7u\2\2\u01d2\u01d3\7i\2\2\u01d3\u01d4\7q\2\2\u01d4\u01d5")
222
+ buf.write("\7x\2\2\u01d5\u01d6\7g\2\2\u01d6\u01d7\7t\2\2\u01d7\u01f9")
223
+ buf.write("\7p\2\2\u01d8\u01d9\7c\2\2\u01d9\u01da\7n\2\2\u01da\u01f9")
224
+ buf.write("\7n\2\2\u01db\u01dc\7e\2\2\u01dc\u01dd\7w\2\2\u01dd\u01de")
225
+ buf.write("\7u\2\2\u01de\u01df\7v\2\2\u01df\u01e0\7q\2\2\u01e0\u01e1")
226
+ buf.write("\7o\2\2\u01e1\u01e2\7O\2\2\u01e2\u01e3\7g\2\2\u01e3\u01e4")
227
+ buf.write("\7v\2\2\u01e4\u01e5\7t\2\2\u01e5\u01e6\7k\2\2\u01e6\u01f9")
228
+ buf.write("\7e\2\2\u01e7\u01e8\7g\2\2\u01e8\u01e9\7x\2\2\u01e9\u01ea")
229
+ buf.write("\7g\2\2\u01ea\u01eb\7p\2\2\u01eb\u01ec\7v\2\2\u01ec\u01ed")
230
+ buf.write("\7u\2\2\u01ed\u01ee\7w\2\2\u01ee\u01ef\7d\2\2\u01ef\u01f0")
231
+ buf.write("\7u\2\2\u01f0\u01f1\7e\2\2\u01f1\u01f2\7t\2\2\u01f2\u01f3")
232
+ buf.write("\7k\2\2\u01f3\u01f4\7r\2\2\u01f4\u01f5\7v\2\2\u01f5\u01f6")
233
+ buf.write("\7k\2\2\u01f6\u01f7\7q\2\2\u01f7\u01f9\7p\2\2\u01f8\30")
234
+ buf.write("\3\2\2\2\u01f8\35\3\2\2\2\u01f8\"\3\2\2\2\u01f8\60\3\2")
235
+ buf.write("\2\2\u01f89\3\2\2\2\u01f8A\3\2\2\2\u01f8I\3\2\2\2\u01f8")
236
+ buf.write("W\3\2\2\2\u01f8_\3\2\2\2\u01f8k\3\2\2\2\u01f8z\3\2\2\2")
237
+ buf.write("\u01f8\u008a\3\2\2\2\u01f8\u0099\3\2\2\2\u01f8\u00a9\3")
238
+ buf.write("\2\2\2\u01f8\u00b8\3\2\2\2\u01f8\u00c6\3\2\2\2\u01f8\u00d4")
239
+ buf.write("\3\2\2\2\u01f8\u00e1\3\2\2\2\u01f8\u00e8\3\2\2\2\u01f8")
240
+ buf.write("\u00ef\3\2\2\2\u01f8\u00f3\3\2\2\2\u01f8\u00f7\3\2\2\2")
241
+ buf.write("\u01f8\u00fb\3\2\2\2\u01f8\u00fe\3\2\2\2\u01f8\u0102\3")
242
+ buf.write("\2\2\2\u01f8\u0108\3\2\2\2\u01f8\u0111\3\2\2\2\u01f8\u0119")
243
+ buf.write("\3\2\2\2\u01f8\u0129\3\2\2\2\u01f8\u012c\3\2\2\2\u01f8")
244
+ buf.write("\u0131\3\2\2\2\u01f8\u013a\3\2\2\2\u01f8\u013d\3\2\2\2")
245
+ buf.write("\u01f8\u014f\3\2\2\2\u01f8\u015b\3\2\2\2\u01f8\u0160\3")
246
+ buf.write("\2\2\2\u01f8\u0166\3\2\2\2\u01f8\u0171\3\2\2\2\u01f8\u017b")
247
+ buf.write("\3\2\2\2\u01f8\u018a\3\2\2\2\u01f8\u0195\3\2\2\2\u01f8")
248
+ buf.write("\u01ad\3\2\2\2\u01f8\u01b0\3\2\2\2\u01f8\u01b7\3\2\2\2")
249
+ buf.write("\u01f8\u01bf\3\2\2\2\u01f8\u01c3\3\2\2\2\u01f8\u01d2\3")
250
+ buf.write("\2\2\2\u01f8\u01d8\3\2\2\2\u01f8\u01db\3\2\2\2\u01f8\u01e7")
251
+ buf.write("\3\2\2\2\u01f9\n\3\2\2\2\u01fa\u01fb\7f\2\2\u01fb\u01fc")
252
+ buf.write("\7g\2\2\u01fc\u01fd\7u\2\2\u01fd\u01fe\7e\2\2\u01fe\u01ff")
253
+ buf.write("\7t\2\2\u01ff\u0200\7k\2\2\u0200\u0201\7r\2\2\u0201\u0202")
254
+ buf.write("\7v\2\2\u0202\u0203\7k\2\2\u0203\u0204\7q\2\2\u0204\u036f")
255
+ buf.write("\7p\2\2\u0205\u0206\7e\2\2\u0206\u0207\7q\2\2\u0207\u0208")
256
+ buf.write("\7n\2\2\u0208\u0209\7w\2\2\u0209\u020a\7o\2\2\u020a\u020b")
257
+ buf.write("\7p\2\2\u020b\u036f\7u\2\2\u020c\u020d\7u\2\2\u020d\u020e")
258
+ buf.write("\7e\2\2\u020e\u020f\7j\2\2\u020f\u0210\7g\2\2\u0210\u0211")
259
+ buf.write("\7o\2\2\u0211\u0212\7c\2\2\u0212\u0213\7H\2\2\u0213\u0214")
260
+ buf.write("\7k\2\2\u0214\u0215\7g\2\2\u0215\u0216\7n\2\2\u0216\u0217")
261
+ buf.write("\7f\2\2\u0217\u036f\7u\2\2\u0218\u0219\7v\2\2\u0219\u021a")
262
+ buf.write("\7c\2\2\u021a\u021b\7i\2\2\u021b\u036f\7u\2\2\u021c\u021d")
263
+ buf.write("\7v\2\2\u021d\u021e\7c\2\2\u021e\u021f\7u\2\2\u021f\u0220")
264
+ buf.write("\7m\2\2\u0220\u036f\7u\2\2\u0221\u0222\7o\2\2\u0222\u0223")
265
+ buf.write("\7n\2\2\u0223\u0224\7H\2\2\u0224\u0225\7g\2\2\u0225\u0226")
266
+ buf.write("\7c\2\2\u0226\u0227\7v\2\2\u0227\u0228\7w\2\2\u0228\u0229")
267
+ buf.write("\7t\2\2\u0229\u022a\7g\2\2\u022a\u036f\7u\2\2\u022b\u022c")
268
+ buf.write("\7u\2\2\u022c\u022d\7e\2\2\u022d\u022e\7j\2\2\u022e\u022f")
269
+ buf.write("\7g\2\2\u022f\u0230\7o\2\2\u0230\u0231\7c\2\2\u0231\u0232")
270
+ buf.write("\7V\2\2\u0232\u0233\7g\2\2\u0233\u0234\7z\2\2\u0234\u036f")
271
+ buf.write("\7v\2\2\u0235\u0236\7q\2\2\u0236\u0237\7y\2\2\u0237\u0238")
272
+ buf.write("\7p\2\2\u0238\u0239\7g\2\2\u0239\u036f\7t\2\2\u023a\u023b")
273
+ buf.write("\7t\2\2\u023b\u023c\7g\2\2\u023c\u023d\7x\2\2\u023d\u023e")
274
+ buf.write("\7k\2\2\u023e\u023f\7g\2\2\u023f\u0240\7y\2\2\u0240\u0241")
275
+ buf.write("\7g\2\2\u0241\u0242\7t\2\2\u0242\u036f\7u\2\2\u0243\u0244")
276
+ buf.write("\7u\2\2\u0244\u0245\7{\2\2\u0245\u0246\7p\2\2\u0246\u0247")
277
+ buf.write("\7q\2\2\u0247\u0248\7p\2\2\u0248\u0249\7{\2\2\u0249\u024a")
278
+ buf.write("\7o\2\2\u024a\u036f\7u\2\2\u024b\u024c\7t\2\2\u024c\u024d")
279
+ buf.write("\7g\2\2\u024d\u024e\7n\2\2\u024e\u024f\7c\2\2\u024f\u0250")
280
+ buf.write("\7v\2\2\u0250\u0251\7g\2\2\u0251\u0252\7f\2\2\u0252\u0253")
281
+ buf.write("\7V\2\2\u0253\u0254\7g\2\2\u0254\u0255\7t\2\2\u0255\u0256")
282
+ buf.write("\7o\2\2\u0256\u036f\7u\2\2\u0257\u0258\7t\2\2\u0258\u0259")
283
+ buf.write("\7g\2\2\u0259\u025a\7h\2\2\u025a\u025b\7g\2\2\u025b\u025c")
284
+ buf.write("\7t\2\2\u025c\u025d\7g\2\2\u025d\u025e\7p\2\2\u025e\u025f")
285
+ buf.write("\7e\2\2\u025f\u0260\7g\2\2\u0260\u036f\7u\2\2\u0261\u0262")
286
+ buf.write("\7g\2\2\u0262\u0263\7z\2\2\u0263\u0264\7v\2\2\u0264\u0265")
287
+ buf.write("\7g\2\2\u0265\u0266\7p\2\2\u0266\u0267\7u\2\2\u0267\u0268")
288
+ buf.write("\7k\2\2\u0268\u0269\7q\2\2\u0269\u036f\7p\2\2\u026a\u026b")
289
+ buf.write("\7f\2\2\u026b\u026c\7k\2\2\u026c\u026d\7u\2\2\u026d\u026e")
290
+ buf.write("\7r\2\2\u026e\u026f\7n\2\2\u026f\u0270\7c\2\2\u0270\u0271")
291
+ buf.write("\7{\2\2\u0271\u0272\7P\2\2\u0272\u0273\7c\2\2\u0273\u0274")
292
+ buf.write("\7o\2\2\u0274\u036f\7g\2\2\u0275\u0276\7p\2\2\u0276\u0277")
293
+ buf.write("\7c\2\2\u0277\u0278\7o\2\2\u0278\u036f\7g\2\2\u0279\u027a")
294
+ buf.write("\7o\2\2\u027a\u027b\7g\2\2\u027b\u027c\7u\2\2\u027c\u027d")
295
+ buf.write("\7u\2\2\u027d\u027e\7c\2\2\u027e\u027f\7i\2\2\u027f\u0280")
296
+ buf.write("\7g\2\2\u0280\u0281\7U\2\2\u0281\u0282\7e\2\2\u0282\u0283")
297
+ buf.write("\7j\2\2\u0283\u0284\7g\2\2\u0284\u0285\7o\2\2\u0285\u036f")
298
+ buf.write("\7c\2\2\u0286\u0287\7e\2\2\u0287\u0288\7j\2\2\u0288\u0289")
299
+ buf.write("\7c\2\2\u0289\u028a\7t\2\2\u028a\u028b\7v\2\2\u028b\u036f")
300
+ buf.write("\7u\2\2\u028c\u028d\7f\2\2\u028d\u028e\7c\2\2\u028e\u028f")
301
+ buf.write("\7v\2\2\u028f\u0290\7c\2\2\u0290\u0291\7O\2\2\u0291\u0292")
302
+ buf.write("\7q\2\2\u0292\u0293\7f\2\2\u0293\u0294\7g\2\2\u0294\u036f")
303
+ buf.write("\7n\2\2\u0295\u0296\7e\2\2\u0296\u0297\7q\2\2\u0297\u0298")
304
+ buf.write("\7p\2\2\u0298\u0299\7u\2\2\u0299\u029a\7v\2\2\u029a\u029b")
305
+ buf.write("\7t\2\2\u029b\u029c\7c\2\2\u029c\u029d\7k\2\2\u029d\u029e")
306
+ buf.write("\7p\2\2\u029e\u036f\7v\2\2\u029f\u02a0\7v\2\2\u02a0\u02a1")
307
+ buf.write("\7c\2\2\u02a1\u02a2\7d\2\2\u02a2\u02a3\7n\2\2\u02a3\u02a4")
308
+ buf.write("\7g\2\2\u02a4\u02a5\7E\2\2\u02a5\u02a6\7q\2\2\u02a6\u02a7")
309
+ buf.write("\7p\2\2\u02a7\u02a8\7u\2\2\u02a8\u02a9\7v\2\2\u02a9\u02aa")
310
+ buf.write("\7t\2\2\u02aa\u02ab\7c\2\2\u02ab\u02ac\7k\2\2\u02ac\u02ad")
311
+ buf.write("\7p\2\2\u02ad\u02ae\7v\2\2\u02ae\u036f\7u\2\2\u02af\u02b0")
312
+ buf.write("\7r\2\2\u02b0\u02b1\7c\2\2\u02b1\u02b2\7t\2\2\u02b2\u02b3")
313
+ buf.write("\7v\2\2\u02b3\u02b4\7k\2\2\u02b4\u02b5\7v\2\2\u02b5\u02b6")
314
+ buf.write("\7k\2\2\u02b6\u02b7\7q\2\2\u02b7\u02b8\7p\2\2\u02b8\u036f")
315
+ buf.write("\7u\2\2\u02b9\u02ba\7t\2\2\u02ba\u02bb\7g\2\2\u02bb\u02bc")
316
+ buf.write("\7r\2\2\u02bc\u02bd\7n\2\2\u02bd\u02be\7k\2\2\u02be\u02bf")
317
+ buf.write("\7e\2\2\u02bf\u02c0\7c\2\2\u02c0\u02c1\7v\2\2\u02c1\u02c2")
318
+ buf.write("\7k\2\2\u02c2\u02c3\7q\2\2\u02c3\u02c4\7p\2\2\u02c4\u02c5")
319
+ buf.write("\7H\2\2\u02c5\u02c6\7c\2\2\u02c6\u02c7\7e\2\2\u02c7\u02c8")
320
+ buf.write("\7v\2\2\u02c8\u02c9\7q\2\2\u02c9\u036f\7t\2\2\u02ca\u02cb")
321
+ buf.write("\7u\2\2\u02cb\u02cc\7q\2\2\u02cc\u02cd\7w\2\2\u02cd\u02ce")
322
+ buf.write("\7t\2\2\u02ce\u02cf\7e\2\2\u02cf\u02d0\7g\2\2\u02d0\u02d1")
323
+ buf.write("\7W\2\2\u02d1\u02d2\7t\2\2\u02d2\u036f\7n\2\2\u02d3\u02d4")
324
+ buf.write("\7o\2\2\u02d4\u02d5\7w\2\2\u02d5\u02d6\7v\2\2\u02d6\u02d7")
325
+ buf.write("\7w\2\2\u02d7\u02d8\7c\2\2\u02d8\u02d9\7n\2\2\u02d9\u02da")
326
+ buf.write("\7n\2\2\u02da\u02db\7{\2\2\u02db\u02dc\7G\2\2\u02dc\u02dd")
327
+ buf.write("\7z\2\2\u02dd\u02de\7e\2\2\u02de\u02df\7n\2\2\u02df\u02e0")
328
+ buf.write("\7w\2\2\u02e0\u02e1\7u\2\2\u02e1\u02e2\7k\2\2\u02e2\u02e3")
329
+ buf.write("\7x\2\2\u02e3\u036f\7g\2\2\u02e4\u02e5\7g\2\2\u02e5\u02e6")
330
+ buf.write("\7z\2\2\u02e6\u02e7\7r\2\2\u02e7\u02e8\7g\2\2\u02e8\u02e9")
331
+ buf.write("\7t\2\2\u02e9\u02ea\7v\2\2\u02ea\u036f\7u\2\2\u02eb\u02ec")
332
+ buf.write("\7h\2\2\u02ec\u02ed\7k\2\2\u02ed\u02ee\7g\2\2\u02ee\u02ef")
333
+ buf.write("\7n\2\2\u02ef\u02f0\7f\2\2\u02f0\u036f\7u\2\2\u02f1\u02f2")
334
+ buf.write("\7h\2\2\u02f2\u02f3\7q\2\2\u02f3\u02f4\7n\2\2\u02f4\u02f5")
335
+ buf.write("\7n\2\2\u02f5\u02f6\7q\2\2\u02f6\u02f7\7y\2\2\u02f7\u02f8")
336
+ buf.write("\7g\2\2\u02f8\u02f9\7t\2\2\u02f9\u036f\7u\2\2\u02fa\u02fb")
337
+ buf.write("\7c\2\2\u02fb\u02fc\7r\2\2\u02fc\u02fd\7r\2\2\u02fd\u02fe")
338
+ buf.write("\7E\2\2\u02fe\u02ff\7q\2\2\u02ff\u0300\7p\2\2\u0300\u0301")
339
+ buf.write("\7h\2\2\u0301\u0302\7k\2\2\u0302\u0303\7i\2\2\u0303\u0304")
340
+ buf.write("\7w\2\2\u0304\u0305\7t\2\2\u0305\u0306\7c\2\2\u0306\u0307")
341
+ buf.write("\7v\2\2\u0307\u0308\7k\2\2\u0308\u0309\7q\2\2\u0309\u036f")
342
+ buf.write("\7p\2\2\u030a\u030b\7c\2\2\u030b\u030c\7r\2\2\u030c\u030d")
343
+ buf.write("\7r\2\2\u030d\u030e\7U\2\2\u030e\u030f\7e\2\2\u030f\u0310")
344
+ buf.write("\7j\2\2\u0310\u0311\7g\2\2\u0311\u0312\7f\2\2\u0312\u0313")
345
+ buf.write("\7w\2\2\u0313\u0314\7n\2\2\u0314\u036f\7g\2\2\u0315\u0316")
346
+ buf.write("\7x\2\2\u0316\u0317\7q\2\2\u0317\u0318\7v\2\2\u0318\u0319")
347
+ buf.write("\7g\2\2\u0319\u036f\7u\2\2\u031a\u031b\7r\2\2\u031b\u031c")
348
+ buf.write("\7t\2\2\u031c\u031d\7q\2\2\u031d\u031e\7h\2\2\u031e\u031f")
349
+ buf.write("\7k\2\2\u031f\u0320\7n\2\2\u0320\u036f\7g\2\2\u0321\u0322")
350
+ buf.write("\7t\2\2\u0322\u0323\7q\2\2\u0323\u0324\7n\2\2\u0324\u0325")
351
+ buf.write("\7g\2\2\u0325\u036f\7u\2\2\u0326\u0327\7f\2\2\u0327\u0328")
352
+ buf.write("\7g\2\2\u0328\u0329\7n\2\2\u0329\u032a\7g\2\2\u032a\u032b")
353
+ buf.write("\7v\2\2\u032b\u032c\7g\2\2\u032c\u036f\7f\2\2\u032d\u032e")
354
+ buf.write("\7n\2\2\u032e\u032f\7k\2\2\u032f\u0330\7h\2\2\u0330\u0331")
355
+ buf.write("\7g\2\2\u0331\u0332\7E\2\2\u0332\u0333\7{\2\2\u0333\u0334")
356
+ buf.write("\7e\2\2\u0334\u0335\7n\2\2\u0335\u036f\7g\2\2\u0336\u0337")
357
+ buf.write("\7c\2\2\u0337\u0338\7r\2\2\u0338\u0339\7k\2\2\u0339\u033a")
358
+ buf.write("\7a\2\2\u033a\u033b\7e\2\2\u033b\u033c\7n\2\2\u033c\u033d")
359
+ buf.write("\7k\2\2\u033d\u033e\7g\2\2\u033e\u033f\7p\2\2\u033f\u0340")
360
+ buf.write("\7v\2\2\u0340\u0341\7a\2\2\u0341\u0342\7k\2\2\u0342\u036f")
361
+ buf.write("\7f\2\2\u0343\u0344\7u\2\2\u0344\u0345\7q\2\2\u0345\u0346")
362
+ buf.write("\7w\2\2\u0346\u0347\7t\2\2\u0347\u0348\7e\2\2\u0348\u0349")
363
+ buf.write("\7g\2\2\u0349\u034a\7J\2\2\u034a\u034b\7c\2\2\u034b\u034c")
364
+ buf.write("\7u\2\2\u034c\u036f\7j\2\2\u034d\u034e\7v\2\2\u034e\u034f")
365
+ buf.write("\7g\2\2\u034f\u0350\7u\2\2\u0350\u0351\7v\2\2\u0351\u0352")
366
+ buf.write("\7E\2\2\u0352\u0353\7c\2\2\u0353\u0354\7u\2\2\u0354\u0355")
367
+ buf.write("\7g\2\2\u0355\u0356\7T\2\2\u0356\u0357\7g\2\2\u0357\u0358")
368
+ buf.write("\7u\2\2\u0358\u0359\7w\2\2\u0359\u035a\7n\2\2\u035a\u036f")
369
+ buf.write("\7v\2\2\u035b\u035c\7v\2\2\u035c\u035d\7g\2\2\u035d\u035e")
370
+ buf.write("\7u\2\2\u035e\u035f\7v\2\2\u035f\u036f\7u\2\2\u0360\u0361")
371
+ buf.write("\7r\2\2\u0361\u0362\7k\2\2\u0362\u0363\7r\2\2\u0363\u0364")
372
+ buf.write("\7g\2\2\u0364\u0365\7n\2\2\u0365\u0366\7k\2\2\u0366\u0367")
373
+ buf.write("\7p\2\2\u0367\u0368\7g\2\2\u0368\u0369\7U\2\2\u0369\u036a")
374
+ buf.write("\7v\2\2\u036a\u036b\7c\2\2\u036b\u036c\7v\2\2\u036c\u036d")
375
+ buf.write("\7w\2\2\u036d\u036f\7u\2\2\u036e\u01fa\3\2\2\2\u036e\u0205")
376
+ buf.write("\3\2\2\2\u036e\u020c\3\2\2\2\u036e\u0218\3\2\2\2\u036e")
377
+ buf.write("\u021c\3\2\2\2\u036e\u0221\3\2\2\2\u036e\u022b\3\2\2\2")
378
+ buf.write("\u036e\u0235\3\2\2\2\u036e\u023a\3\2\2\2\u036e\u0243\3")
379
+ buf.write("\2\2\2\u036e\u024b\3\2\2\2\u036e\u0257\3\2\2\2\u036e\u0261")
380
+ buf.write("\3\2\2\2\u036e\u026a\3\2\2\2\u036e\u0275\3\2\2\2\u036e")
381
+ buf.write("\u0279\3\2\2\2\u036e\u0286\3\2\2\2\u036e\u028c\3\2\2\2")
382
+ buf.write("\u036e\u0295\3\2\2\2\u036e\u029f\3\2\2\2\u036e\u02af\3")
383
+ buf.write("\2\2\2\u036e\u02b9\3\2\2\2\u036e\u02ca\3\2\2\2\u036e\u02d3")
384
+ buf.write("\3\2\2\2\u036e\u02e4\3\2\2\2\u036e\u02eb\3\2\2\2\u036e")
385
+ buf.write("\u02f1\3\2\2\2\u036e\u02fa\3\2\2\2\u036e\u030a\3\2\2\2")
386
+ buf.write("\u036e\u0315\3\2\2\2\u036e\u031a\3\2\2\2\u036e\u0321\3")
387
+ buf.write("\2\2\2\u036e\u0326\3\2\2\2\u036e\u032d\3\2\2\2\u036e\u0336")
388
+ buf.write("\3\2\2\2\u036e\u0343\3\2\2\2\u036e\u034d\3\2\2\2\u036e")
389
+ buf.write("\u035b\3\2\2\2\u036e\u0360\3\2\2\2\u036f\f\3\2\2\2\u0370")
390
+ buf.write("\u0372\n\2\2\2\u0371\u0370\3\2\2\2\u0372\u0373\3\2\2\2")
391
+ buf.write("\u0373\u0371\3\2\2\2\u0373\u0374\3\2\2\2\u0374\u0378\3")
392
+ buf.write("\2\2\2\u0375\u0377\7@\2\2\u0376\u0375\3\2\2\2\u0377\u037a")
393
+ buf.write("\3\2\2\2\u0378\u0379\3\2\2\2\u0378\u0376\3\2\2\2\u0379")
394
+ buf.write("\u037c\3\2\2\2\u037a\u0378\3\2\2\2\u037b\u037d\n\3\2\2")
395
+ buf.write("\u037c\u037b\3\2\2\2\u037d\u037e\3\2\2\2\u037e\u037c\3")
396
+ buf.write("\2\2\2\u037e\u037f\3\2\2\2\u037f\16\3\2\2\2\b\2\u01f8")
397
+ buf.write("\u036e\u0373\u0378\u037e\2")
297
398
  return buf.getvalue()
298
399
 
299
400
 
@@ -305,25 +406,23 @@ class EntityLinkLexer(Lexer):
305
406
 
306
407
  T__0 = 1
307
408
  T__1 = 2
308
- ENTITY_TYPE = 3
309
- ENTITY_FIELD = 4
310
- RESERVED = 5
311
- ENTITY_ATTRIBUTE = 6
312
- ENTITY_FQN = 7
409
+ RESERVED_START = 3
410
+ ENTITY_TYPE = 4
411
+ ENTITY_FIELD = 5
412
+ NAME_OR_FQN = 6
313
413
 
314
414
  channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]
315
415
 
316
416
  modeNames = [ "DEFAULT_MODE" ]
317
417
 
318
418
  literalNames = [ "<INVALID>",
319
- "'<#E'", "'>'", "'::'" ]
419
+ "'>'", "'::'", "'<#E'" ]
320
420
 
321
421
  symbolicNames = [ "<INVALID>",
322
- "ENTITY_TYPE", "ENTITY_FIELD", "RESERVED", "ENTITY_ATTRIBUTE",
323
- "ENTITY_FQN" ]
422
+ "RESERVED_START", "ENTITY_TYPE", "ENTITY_FIELD", "NAME_OR_FQN" ]
324
423
 
325
- ruleNames = [ "T__0", "T__1", "ENTITY_TYPE", "ENTITY_FIELD", "RESERVED",
326
- "ENTITY_ATTRIBUTE", "ENTITY_FQN" ]
424
+ ruleNames = [ "T__0", "T__1", "RESERVED_START", "ENTITY_TYPE", "ENTITY_FIELD",
425
+ "NAME_OR_FQN" ]
327
426
 
328
427
  grammarFileName = "EntityLink.g4"
329
428