
# 查看在线服务的事件
服务的（从用户可看见部署服务任务开始）整个生命周期中，每一个关键事件点在系统后台均有记录，用户可随时在对应服务的详情页面进行查看。
方便用户更清楚的了解服务部署和运行过程，遇到任务异常时，更加准确的排查定位问题。
支持查看的事件类型包括以下两种：
- 服务事件：记录了服务层面的运行状态和操作。
- Pod事件：记录了底层容器的生命周期和异常情况。
#### 查看在线服务事件操作
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)，在左侧导航栏中选择"模型推理 \> 在线推理"，在服务列表中，您可以单击服务名称，进入服务详情页面。
2. 在服务详情页面，切换到"事件"页签，查看事件信息。 事件类型分为[服务事件]和[Pod事件]，可通过切换页签分别查看。
   服务事件记录了服务层面的运行状态和操作，而Pod事件记录了底层容器的生命周期和异常情况。
   图1查看事件   
   ![](https://support.huaweicloud.com/inference-modelarts/figure/zh-cn_image_0000002630575994.png)
   
   
   服务部署和运行过程中，关键事件支持手动/自动刷新。
   
 
 #### 服务事件
服务事件记录了服务层面在线服务在运行过程中产生的各种事件，包括但不限于服务启动、停止、升级、故障恢复等。这些事件帮助用户了解服务的运行状态和历史操作，便于排查问题和优化服务配置。常见的异常和警告类服务事件请见[表1]和[表2]，正常事件不做赘述。
 表1异常类服务事件 
| **事件类型** | **事件信息（"XXX"和"%s"表示占位符，以实际返回信息为准）**  | **解决方案**                                                                                                        |
|:---|:---|:---|
| 异常       | 服务部署失败，%s。                           | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务部署超时，错误信息：服务部署时间超过%s分钟，设置为失败。      | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 服务删除失败，当前状态：%s，%s。                   | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 批量服务删除失败，%s。                         | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务删除超时，错误信息：服务删除时间超过%s分钟，设置为失败。      | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 服务异步任务取消失败，%s。                       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】创建失败，%s。                       | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 部署【%s】更新失败，%s。                       | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 资源池【%s】volcano插件不可用。                 | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 部署【%s】删除失败，%s。                       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】停止失败，%s。                       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 密钥【%s】删除失败，%s。                       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 密钥【%s】检查失败，%s。                       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务配置下发失败，%s。                         | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 绑定api-key：%s 失败，%s。                  | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 解绑api-key：%s 失败，%s。                  | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务启动失败，%s，状态由 %s 转变为 %s。             | 启动服务失败情况较多，请参考[服务启动失败](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0195.html)定位和处理。          |
| 异常       | 服务停止失败，%s。                           | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务中断失败，当前服务状态：%s，%s。                 | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 无法释放配额。                              | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 部署【%s】中断失败, %s，状态由 %s 转变为 %s。        | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】中断失败, 当前部署状态【%s】，%s。           | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】停止失败，%s，状态由 %s 转变为 %s。         | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】删除失败，%s，状态由 %s 转变为 %s。         | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务更新失败，服务将回滚，%s。                     | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务更新超时，错误信息：服务部署时间超过%s分钟，执行回滚。       | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务升级配置失败，%s。                         | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】更新失败，部署将回滚，%s。                 | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务升级回滚失败，当前服务状态：%s，%s。               | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务【%s】回滚超时，错误信息：%s。                  | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】升级回滚失败，当前状态【%s】。               | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】升级回滚失败，状态由 %s 转变为 %s。          | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 部署【%s】回滚超时，版本【%s】。                   | 请根据错误信息定位和处理问题。                                                                                                 |
| 异常       | 服务状态由 %s 转变为 %s，异常部署【%s】，错误信息：%s。    | 请根据错误信息定位和处理问题，更多解决方案请参见[在线服务部署实例异常](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0050.html)。 |
| 异常       | 部署【%s】状态由 %s 转变为 %s，错误信息：%s。         | 请根据错误信息定位和处理问题，更多解决方案请参见[在线服务部署实例异常](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0050.html)。 |
| 异常       | 服务状态由 %s 转变为 %s。                     | 请根据错误信息定位和处理问题，更多解决方案请参见[在线服务部署实例异常](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0050.html)。 |
| 异常       | 服务检测到资源池【%s】芯片故障%s。                  | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 服务检测到资源池【%s】交换机故障%s。                 | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 服务检测到资源池【%s】节点故障%s。                  | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 服务检测到network service异常事件：%s。         | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 提交删除实例【%s】任务失败，原因：%s。                | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 删除实例【%s】失败，请稍后重试或联系服务运维人员解决。         | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 删除实例【%s】失败，原因：重试达到了最大尝试次数%s。         | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 删除实例【%s】失败，当前只剩1个实例。                 | 请根据错误信息定位和处理问题，无法解决时请联系技术支持。                                                                                    |
| 异常       | 部署【%s】创建失败，%s，状态由 %s 转变为 %s。         | 请稍后重试或联系技术支持。                                                                                                   |
| 异常       | 部署【%s】启动失败，%s，状态由 %s 转变为 %s。         | 请根据错误信息定位和处理问题，更多解决方案请参见[服务启动失败](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0195.html)。     |
| 异常       | 部署【%s】手动扩缩容失败，错误信息：%s。               | 请检查错误信息，若资源不足，释放其他资源或减少扩缩容数量。                                                                                   |
| 异常       | 部署【%s】依赖的业务组件存在异常，正在重调度，当前服务状态可能不准确。 | 请稍后重试或联系技术支持。                                                                                                   |
   
 表2警告类服务事件 
| **事件类型** | **事件信息（"XXX"和"%s"表示占位符，以实际返回信息为准）**                                                                                                                                                                      | **解决方案**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| 警告       | 部署【%s】未配置【健康检查-启动探针】，将导致模型加载过程无法感知。可能存在服务处于"运行中"因模型正在加载而无法预测的情况。                                                                                                                                         | 为对应的部署配置健康检查-启动探针，具体参见[在线服务健康检查](https://support.huaweicloud.com/inference-modelarts/inference2.0-modelarts-0095.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 警告       | 部署【%s】有Pod健康检查失败。（具体原因可查看Pod事件） A pod of KubeInfer \[%s\] reported a k8s Unhealthy event.             | - 服务部署/修改过程中，启动探针检查失败是正常且普遍的现象，无需特殊关注。如果一直无法通过，说明镜像无法拉起服务，请结合日志定位。  - 服务运行过程中，若遇到芯片、网络故障等，可能导致就绪探针和存活探针检查失败，重试次数超过阈值后将导致Pod重启。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 警告       | 部署【%s】有Pod镜像拉取失败。（具体原因可查看Pod事件） A pod of KubeInfer \[%s\] reported a k8s BackOffPullImage event. Retrying.                                                | - 指定的镜像可能不存在或已被删除，请检查所选镜像是否存在。  - 若使用API调用方式创建服务，请检查所填镜像地址是否正确，当前账号是否有权限访问。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 警告       | 部署【%s】有Pod容器启动失败。（具体原因可查看Pod事件） A pod of KubeInfer \[%s\] reported a k8s BackOffStart event. Retrying.                                                      | - 请检查镜像的架构是否对应资源池架构，如ARM架构的资源池需要使用ARM的镜像。  - 请检查配置的资源规格是否合理，是否足够镜像启动。若设置了模型挂载，如挂载权重场景，内存必须大于挂载文件总大小。  - 请检查启动命令配置是否有误。  - 请检查镜像本身是否能够正常拉起并工作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 警告       | 部署【%s】有Pod调度失败。（具体原因可查看Pod事件） A pod of KubeInfer \[%s\] reported a k8s FailedScheduling event. Retrying.                                                  | 调度失败事件仅代表调度器本次操作失败，不代表最终一定无法调度成功。调度器会持续尝试为Pod进行调度，直到超过服务部署时间。 - 请检查节点资源是否充足。若Pod事件中提示有 insufficient cpu/memory 等字样，说明现有节点资源无法满足需求。  - 请检查节点是否有污点。若Pod事件中提示有 taints 相关字样，说明节点存在污点。  - 请检查节点上是否有过多的Pod。若Pod事件中提示有 too many pods 相关字样，说明节点负载Pod过多，需要停止一些服务。  - 请检查模型预热任务的状态。在部署在线服务时，选择模型来源为"资源池已预热模型"时，会自动配置强亲和规则要求Pod必须调度到已经预热成功的节点上。可能存在如下原因： - 用户设置的模型预热节点数较少，不足以调度当前配置的实例数，可以尝试对模型预热任务增加节点数以满足当前的服务配置。  - 除了模型预热节点数不足外，还可能存在模型预热成功的节点上资源不足以调度当前配置的服务的情况。可以考虑停用无用服务或者对资源池进行扩容等操作。停止服务部署操作请见[停止服务部署](https://support.huaweicloud.com/inference-modelarts/inference2.0-modelarts-0021.html#ZH-CN_TOPIC_0000002511551230__zh-cn_topic_0172547190_section114431018192)。资源池扩容操作请见[扩缩容专属资源池](https://support.huaweicloud.com/resmgmt-modelarts/resmgmt-modelarts_0006.html)。    - 请检查亲和调度配置。若配置了亲和调度，可能存在以下原因： - 设置了亲和到某些节点，且要求强亲和，而所选节点的可用资源无法满足Pod的需求，或存在污点，Pod无法被调度。  - 设置了反亲和到某些节点，且要求强亲和，而所选节点以外的节点的可用资源无法满足Pod的需求，或存在污点，Pod无法被调度。     |
| 警告       | 部署【%s】有Pod挂载失败，正在重试。（具体原因可查看Pod事件） A pod of KubeInfer \[%s\] reported a k8s FailedMount event. Retrying.                                                | PVC挂载需要一定时间，该错误若短时出现，可忽略。 对于使用SFS Turbo的场景，若提示挂载失败，请在控制台"网络管理"页面检查对应的SFS Turbo是否被解除关联。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 警告       | 服务部署单元【%s】有pod模型配置加载失败，正在重试，详细信息：%s。 Service deployment unit \[%s\] has a pod container that failed to start load model config, retrying. detail msg: %s. | 需要根据详细的错误信息，分场景进行处理。具体请见[表3]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表3模式配置加载失败详细信息及处理应对 
| 错误详细信息                                                                                                                                                                                           | 解决方案                                                                                                             |
|:---|:---|
| 出现未知错误，请稍后重试 An unknown error has occurred. Please try again later                                                                                 | 稍后重试或者联系技术支持。                                                                                                    |
| 下载obs文件过程中遇到系统相关错误（磁盘空间不足、磁盘损坏等） A system-related error (such as disk full error, disk corruption, etc.) occurred during the OBS download process | 检查部署服务资源池的节点是否存在磁盘告警（如：磁盘压力告警等），如果有告警及时处理或者扩容。                                                                   |
| 下载obs文件过程中遇到下载异常（例如网络、权限等问题） A download error (such as network issues, permission issues, etc.) occurred during the OBS download process         | 出现该问题，可能是网络波动引起的，稍后重试即可。 可能是OBS的权限、策略配置问题导致在开启本地挂载加速场景下载OBS文件异常。 |
| 下载obs文件前检测到磁盘空间不足 Insufficient disk space detected before downloading the OBS file                                                                | 在开启本地存储加速场景下，下载OBS文件前会进行磁盘空间检查，如果磁盘空间不足以容纳OBS文件，会出现该事件信息，建议对磁盘进行扩容或者适当清理磁盘。                                      |
| 模型预热文件不存在 The model warmup file does not exist                                                                                                    | 选择模型预热时启动服务过程中检查到模型预热文件不存在给出的事件信息。建议检查模型预热任务状态或者重新创建预热任务。                                                        |
| 模型预热任务状态不是成功 The model warmup task status is not successful                                                                                     | 稍后重试或者重新创建模型预热任务。                                                                                                |
| 挂载sfs turbo出现异常，请检查相关配置是否正确 An error occurred while mounting the SFS Turbo. Please check whether the related configurations are correct           | 在开启本地缓存加速时，挂载turbo出现异常。请在控制台"网络管理"页面检查对应的SFS Turbo是否被解除关联以及状态是否正常。                                               |
| 在挂载sfs turbo时检测到挂载目录访问超时，请稍后重试 A timeout was detected while accessing the mount directory when mounting the SFS Turbo. Please try again later   | 在开启本地缓存加速时，挂载turbo过程中访问目录异常。请在控制台"网络管理"页面检查对应的SFS Turbo是否被解除关联以及状态是否正常，将turbo修复正常后重新下发部署服务。                      |
   
 #### Pod事件
Pod事件记录了底层容器Kubernetes集群中Pod的生命周期事件和异常情况，Pod是Kubernetes中的最小部署单元，每个在线服务部署实例通常对应一个Pod，可通过选择部署实例查看对应的Pod事件。Pod事件帮助用户了解服务实例的运行状态和异常情况。常见的Pod事件请见[表4]。
在[配置服务信息](https://support.huaweicloud.com/inference-modelarts/inference2.0-modelarts-0016.html)时开启"日志对接LTS"并勾选"采集 Kubernetes 事件"，会采集 Kubernetes 事件即Pod事件并上报到云日志服务LTS，日志默认保存最近 7 天。用户可以自定义查看最近7天的Pod事件。
如果不勾选"采集 Kubernetes 事件"，仅可以查看最近1小时内的Pod事件记录。
 表4Pod事件 
| 事件类型 | 事件名称                            | 说明                                                                                                                 | 解决方案                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| 正常   | SuccessfulCreate                | 容器创建成功                                                                                                             | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Started                         | 容器启动成功                                                                                                             | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Scheduled                       | Pod被成功调度到节点上                                                                                                       | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | SuccessfulMountVolume           | 存储卷挂载成功                                                                                                            | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Pulling                         | 镜像拉取中                                                                                                              | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Pulled                          | 镜像拉取成功                                                                                                             | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Healthy                         | 容器处于健康状态                                                                                                           | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 正常   | Killing                         | 容器正在被终止                                                                                                            | 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 告警   | BackOffStart                    | 容器启动失败                                                                                                             | - 请检查镜像的架构是否对应资源池架构，如ARM架构的资源池需要使用ARM的镜像。  - 请检查配置的资源规格是否合理，是否足够镜像启动。若设置了模型挂载，如挂载权重场景，内存必须大于挂载文件总大小。  - 请检查启动命令配置是否有误。  - 请检查镜像本身是否能够正常拉起并工作。                                                                                                                                                                                                                                                                                                                                                                                                        |
| 告警   | CrashLoopBackOff                | 容器反复处于重新启动又崩溃的情况                                                                                                   | - 请检查镜像的架构是否对应资源池架构，如ARM架构的资源池需要使用ARM的镜像。  - 请检查配置的资源规格是否合理，是否足够镜像启动。若设置了模型挂载，如挂载权重场景，内存必须大于挂载文件总大小。  - 请检查启动命令配置是否有误。  - 请检查镜像本身是否能够正常拉起并工作。                                                                                                                                                                                                                                                                                                                                                                                                        |
| 告警   | FailedPullImage                 | 镜像拉取失败                                                                                                             | - 指定的镜像可能不存在或已被删除，请检查所选镜像是否存在。  - 若使用API调用方式创建服务，请检查所填镜像地址是否正确，当前账号是否有权限访问。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 告警   | BackOffPullImage                | 镜像拉取重试失败                                                                                                           | - 指定的镜像可能不存在或已被删除，请检查所选镜像是否存在。  - 若使用API调用方式创建服务，请检查所填镜像地址是否正确，当前账号是否有权限访问。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 告警   | Unhealthy                       | 健康检查失败                                                                                                             | - 服务部署/修改过程中，启动探针检查失败是正常且普遍的现象，无需特殊关注。如果一直无法通过，说明镜像无法拉起服务，请结合日志定位。  - 服务运行过程中，若遇到芯片、网络故障等，可能导致就绪探针和存活探针检查失败，重试次数超过阈值后将导致Pod重启。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 告警   | FailedScheduling                | Pod暂时无法被调度到节点上                                                                                                     | 调度失败事件仅代表调度器本次操作失败，不代表最终一定无法调度成功。调度器会持续尝试为Pod进行调度，直到超过服务部署时间。 - 请检查节点资源是否充足。若Pod事件中提示有 insufficient cpu/memory 等字样，说明现有节点资源无法满足需求。  - 请检查节点是否有污点。若Pod事件中提示有 taints 相关字样，说明节点存在污点。  - 请检查亲和调度配置。若配置了亲和调度，可能存在以下原因： - 设置了亲和到某些节点，且要求强亲和，而所选节点的可用资源无法满足Pod的需求，或存在污点，Pod无法被调度。  - 设置了反亲和到某些节点，且要求强亲和，而所选节点以外的节点的可用资源无法满足Pod的需求，或存在污点，Pod无法被调度。     |
| 告警   | FailedMount                     | 存储卷挂载失败                                                                                                            | PVC挂载需要一定时间，该错误若短时出现，可忽略。 对于使用SFS Turbo的场景，若提示挂载失败，请在控制台"网络管理"页面检查对应的SFS Turbo是否被解除关联。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 告警   | InfersInitContainerFailed（异常事件） | 事件详细信息为：Infers init container checked failed, errcode:%s, errmsg:%s。对应于启动了推理的init container容器进行的前置检查或者操作出现的异常信息上报。 | 需要根据其中的errmsg对照[表3]的处理建议对应处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
