From 5ce561f31ce7b0a6bd1bc494e8942f3d182e7f33 Mon Sep 17 00:00:00 2001 From: zengyawen Date: Fri, 18 Mar 2022 15:24:56 +0800 Subject: [PATCH] update docs Signed-off-by: zengyawen --- zh-cn/application-dev/Readme-CN.md | 1 + .../ability/ability-assistant-guidelines.md | 25 +- zh-cn/application-dev/ability/fa-brief.md | 23 +- .../application-dev/ability/fa-pageability.md | 129 +++--- .../ability/figures/fa-package-info.png | Bin 0 -> 36680 bytes .../figures/fa-pageAbility-lifecycle.png | Bin 0 -> 25157 bytes .../ability/figures/fa-threading-model.png | Bin 0 -> 50739 bytes .../reference/apis/Readme-CN.md | 7 +- .../reference/apis/js-apis-ability-context.md | 64 +-- .../js-apis-basic-features-app-context.md | 79 ++++ .../js-apis-basic-features-configuration.md | 44 ++ .../apis/js-apis-basic-features-logs.md | 4 + .../reference/apis/js-apis-fileio.md | 6 +- .../reference/apis/js-apis-formprovider.md | 128 ++++++ .../reference/apis/js-apis-geolocation.md | 416 +++++++++--------- .../reference/apis/js-apis-request.md | 2 +- .../apis/js-apis-system-configuration.md | 2 +- .../reference/apis/js-apis-system-time.md | 34 +- .../reference/apis/js-apis-volumemanager.md | 2 +- .../reference/apis/js-apis-workScheduler.md | 1 - .../reference/arkui-js/figures/transition.gif | Bin 0 -> 74240 bytes .../js-components-common-transition.md | 148 ++++++- .../reference/arkui-ts/Readme-CN.md | 1 + .../ts-methods-media-query.md} | 0 24 files changed, 774 insertions(+), 342 deletions(-) create mode 100644 zh-cn/application-dev/ability/figures/fa-package-info.png create mode 100644 zh-cn/application-dev/ability/figures/fa-pageAbility-lifecycle.png create mode 100644 zh-cn/application-dev/ability/figures/fa-threading-model.png create mode 100644 zh-cn/application-dev/reference/apis/js-apis-basic-features-app-context.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-basic-features-configuration.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-formprovider.md create mode 100644 zh-cn/application-dev/reference/arkui-js/figures/transition.gif rename zh-cn/application-dev/reference/{apis/js-apis-mediaquery.md => arkui-ts/ts-methods-media-query.md} (100%) diff --git a/zh-cn/application-dev/Readme-CN.md b/zh-cn/application-dev/Readme-CN.md index 29c190d3fc..81c318bb63 100644 --- a/zh-cn/application-dev/Readme-CN.md +++ b/zh-cn/application-dev/Readme-CN.md @@ -3,6 +3,7 @@ - [应用开发导读](application-dev-guide.md) - 了解OpenHarmony - [了解OpenHarmony开源项目](../OpenHarmony-Overview_zh.md) + - [了解OpenHarmony系统](../readme) - [术语](../device-dev/glossary/glossary.md) - [版本说明](../release-notes/Readme.md) - 快速开始 diff --git a/zh-cn/application-dev/ability/ability-assistant-guidelines.md b/zh-cn/application-dev/ability/ability-assistant-guidelines.md index 2c7ad62bc8..63a4fce860 100644 --- a/zh-cn/application-dev/ability/ability-assistant-guidelines.md +++ b/zh-cn/application-dev/ability/ability-assistant-guidelines.md @@ -40,7 +40,7 @@ Ability assistant(Ability助手,简称为aa)是实现应用、原子化服 当成功启动Ability时,返回“start ability successfully.”;当启动失败时,返回“error: failed to start ability.”。 - 使用方法: + **使用方法:** ``` aa start [-d ] -a -b [-D] @@ -61,7 +61,7 @@ Ability assistant(Ability助手,简称为aa)是实现应用、原子化服 当成功停止Service Ability时,返回“stop service ability successfully.”;当停止失败时,返回“error: failed to stop service ability.”。 - 使用方法: + **使用方法:** ``` aa stop-service [-d ] -a -b @@ -71,16 +71,17 @@ Ability assistant(Ability助手,简称为aa)是实现应用、原子化服 用于打印Ability的相关信息。 - | 参数 | 参数说明 | - | ---------------------- | -------------------------------------- | - | -h/--help | 帮助信息。 | - | -a/--all | 打印所有mission内的Ability。 | - | -s/--stack \ | 打印指定mission stack内的Ability。 | - | -m/--mission \ | 打印指定mission内的Ability。 | - | -l/--stack-list | 打印每个mission stack内的mission列表。 | - | -u/--ui | 打印system ui Ability。 | - | -e/--serv | 打印Service Ability。 | - | -d/--data | 打印Data Ability。 | + | 参数 | 二级参数 | 参数说明 | + | ----------------- | -------------------- | ------------------------------------------------------------ | + | -h/--help | - | 帮助信息。 | + | -a/--all | - | 打印所有mission内的Ability。 | + | -l/--mission-list | type(缺省打印全部) | 打印任务栈信息。
type:
NORMAL
DEFAULT_STANDARD
DEFAULT_SINGLE
LAUNCHER | + | -e/--extension | elementName | 打印扩展组件信息。 | + | -u/--userId | UserId | 打印指定UserId的栈信息,需要和其他参数组合使用,例如 aa dump -a -u 100、aa dump -d -u 100、 | + | -d/--data | | 打印Data Ability。 | + | -i/--ability | AbilityRecord ID | 打印指定Ability详细信息 | + | -c/--client | | 打印Ability详细信息,需要和其他参数组合使用,例如 aa dump -a -c、aa dump -i 21 -c、 | + **使用方法:** diff --git a/zh-cn/application-dev/ability/fa-brief.md b/zh-cn/application-dev/ability/fa-brief.md index 5fcef0a959..d175367c19 100644 --- a/zh-cn/application-dev/ability/fa-brief.md +++ b/zh-cn/application-dev/ability/fa-brief.md @@ -1 +1,22 @@ -# FA模型综述 \ No newline at end of file +# FA模型综述 + +## 整体架构 +鸿蒙用户程序的开发本质上就是开发Ability,OpenHarmony系统也是通过调度Ability,通过系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。FA模型中Ability分为PageAbility、ServiceAbility和DataAbility三种类型。其中PageAbility具备ArkUI的Ability,是用户具体可见并可以交互的Ability实例;ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行;DataAbility也是没有UI,提供其他Ability进行数据的增删查服务,在后台运行。 + +## 应用包结构 +**应用包结构如下图所示:** +![fa-package-info](figures/fa-package-info.png) + +## 生命周期 + +**pageAbility生命周期回调如下图所示:** + +![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png) + +开发者可以在 app.js/app.ets 中重写生命周期函数,在对应的生命周期函数内处理应用相应逻辑。 + + +## 进程线程模型 +应用独享独立进程,Ability独享独立线程,应用进程在Ability第一次启动时创建,并为启动的Ability创建线程,应用启动后再启动应用内其他Ability,会为每一个Ability创建相应的线程。每个Ability绑定一个独立的JSRuntime实例,因此Ability之间是隔离的。 + +![fa-threading-nodel](figures/fa-threading-model.png) \ No newline at end of file diff --git a/zh-cn/application-dev/ability/fa-pageability.md b/zh-cn/application-dev/ability/fa-pageability.md index ba42ed13dc..8433c7604e 100644 --- a/zh-cn/application-dev/ability/fa-pageability.md +++ b/zh-cn/application-dev/ability/fa-pageability.md @@ -27,19 +27,19 @@ Page模板(以下简称“Page”)是FA唯一支持的模板,用于提供 **PageAbility类型Ability生命周期回调如下图所示:** -![PageAbility-Lifecycel-Callbacks](figures/page-ability-lifecycle-callbacks.png) +![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png) ## 启动本地PageAbility - 导入模块 + * 导入模块 ``` import featureAbility from '@ohos.ability.featureAbility' ``` ``` - FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback) + featureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback) ``` * 接口说明 @@ -50,61 +50,75 @@ import featureAbility from '@ohos.ability.featureAbility' ```javascript import featureAbility from '@ohos.ability.featureAbility' -featureAbility.startAbility( - { - want: - { - action: "", - entities: [""], - type: "", - options: { - // indicates the grant to perform read operations on the URI - authReadUriPermission: true, - // indicates the grant to perform write operations on the URI - authWriteUriPermission: true, - // support forward intent result to origin ability - abilityForwardResult: true, - // used for marking the ability start-up is triggered by continuation - abilityContinuation: true, - // specifies whether a component does not belong to ohos - notOhosComponent: true, - // specifies whether an ability is started - abilityFormEnabled: true, - // indicates the grant for possible persisting on the URI. - authPersistableUriPermission: true, - // indicates the grant for possible persisting on the URI. - authPrefixUriPermission: true, - // support distributed scheduling system start up multiple devices - abilitySliceMultiDevice: true, - // indicates that an ability using the service template is started regardless of whether the - // host application has been started. - startForegroundAbility: true, - // install the specified ability if it's not installed. - installOnDemand: true, - // return result to origin ability slice - abilitySliceForwardResult: true, - // install the specified ability with background mode if it's not installed. - installWithBackgroundMode: true - }, - deviceId: "", - bundleName: "com.example.startability", - abilityName: "com.example.startability.MainAbility", - uri: "" - }, +featureAbility.startAbility({ + want: + { + action: "", + entities: [""], + type: "", + options: { + // indicates the grant to perform read operations on the URI + authReadUriPermission: true, + // indicates the grant to perform write operations on the URI + authWriteUriPermission: true, + // support forward intent result to origin ability + abilityForwardResult: true, + // used for marking the ability start-up is triggered by continuation + abilityContinuation: true, + // specifies whether a component does not belong to ohos + notOhosComponent: true, + // specifies whether an ability is started + abilityFormEnabled: true, + // indicates the grant for possible persisting on the URI. + authPersistableUriPermission: true, + // indicates the grant for possible persisting on the URI. + authPrefixUriPermission: true, + // support distributed scheduling system start up multiple devices + abilitySliceMultiDevice: true, + // indicates that an ability using the service template is started regardless of whether the + // host application has been started. + startForegroundAbility: true, + // install the specified ability if it's not installed. + installOnDemand: true, + // return result to origin ability slice + abilitySliceForwardResult: true, + // install the specified ability with background mode if it's not installed. + installWithBackgroundMode: true }, - ); -) + deviceId: "", + bundleName: "com.example.startability", + abilityName: "com.example.startability.MainAbility", + uri: "" + }, +}, +); +``` +want参数也可以使用parameters参数,使用key-value的方式输入。 +* 示例 +```javascript +import featureAbility from '@ohos.ability.featureAbility' +featureAbility.startAbility({ + want: + { + bundleName: "com.example.startability", + uri: "", + parameters: { + abilityName: "com.example.startability.MainAbility" + } + }, +}, +); ``` ## 启动远程PageAbility - 导入模块 +* 导入模块 ``` import featureAbility from '@ohos.ability.featureAbility' ``` ``` -FeatureAbility.startAbility(parameter: StartAbilityParameter) +featureAbility.startAbility(parameter: StartAbilityParameter) ``` * 接口说明 @@ -114,14 +128,13 @@ FeatureAbility.startAbility(parameter: StartAbilityParameter) * 示例 ```javascript - var promise = await ability.startAbility( - { - want: - { - deviceId: this.deviceId, - bundleName: "com.example.test", - abilityName: "com.example.test.MainAbility", - }, - } - ); +var promise = await featureAbility.startAbility({ + want: + { + deviceId: this.deviceId, + bundleName: "com.example.test", + abilityName: "com.example.test.MainAbility", + }, +} +); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability/figures/fa-package-info.png b/zh-cn/application-dev/ability/figures/fa-package-info.png new file mode 100644 index 0000000000000000000000000000000000000000..7b660dce47e3873279f9bdf587b1bd290384843b GIT binary patch literal 36680 zcmbTd2Ut^0*Dh>D>4J0+5CrMc5;{l^HPq0-&_jSE5JCq9Y0{OVROyIRsZs?56jXZe zARVOlb~exRyx;lX^S|eu?>ZMGnLT@E_RN}@weGps+F@Fn%ESb81lO)zBUXVZ=v=#Y z9r)Z-x{C+oln~>o0YBGWb(H0<75`#b0WNOY$!f@6yH*xWcm}@>T;ro5My}Vck$k=S zT#x4_p}%(RP8n9w5bNY&i*U5L#wH~HcZyAr-yY?PWfM|h6BJZ*w6Vgvpqzmukne=D zM%W^3tpC0z$S)|!%P+($Afm@F$R;E!ECzh>i}8W^g^d3$54W>%{-+@jA3x9lhXKOb z8s+W^BsKMbF9CiaTSyK_0XM+HekEE?@-V_;*chQP83DuIMV_=LbfHisHS zPeYweP##D-B9Jz~kFt#w5_MI@+6C^;hd=?v1;BhDJ^>(0-rfb}1Qb#d1M~6o34_7H zd;$VjUHP9QyDH4jCj#W@!foL$i2u*it_E#`h1>l-U}d>MF&jZ%K`UEfUQtUyIIp0vt+fDL5DvB${HunLq6iFY zZ3%L9SJL7a&{7tbxARm28EU$@I*A!;I_eptMXa@uMv7Wi%4m0EG{2A_SkOjZUPs

MV3yj+q41CLZc-cb10xHJFB2EY|EjeQsEu6EehLbGJ6{oIerQz->>*1~? z>**{iXlQR>gVYvP*YR{m383{c9zwQYdqIS=izUB00_kjkk+%aGgVdo;qF`;bCsNhe z3JS4@DhPQQpmdBy1x36Zl{6GIY=smRAi#2v18E|l)=&poMTjHN8GapK z5ypn9FgVo!!T49B?)nHa| zV;5a*Lv=?d4JT!=qr4{?r-8A=xm#;HiP;FCT%e93&S1$+FH%k z5`$3|vlajrtsEL;6Uo4 z{B}Y(8y$TuJ*c~2H5}lc@-Q!$k_xan zmFyva*sQFDot#u{5H?r`E0BYY2FwBJW}~m~2*NmeYUrq|s~V#;oIEu&j6hzxDr(9a z0=7VRbs$FCIzsvwegQihunJOH7o;SlWDUil8u84v<>bh%S)ikVZY;`;xL_M8s97T-XJO#XrJQdtU?KDJH z-Sic7WrZ!3RjeR#j)3Bm^ALszdZ_bzSZUe03h6;L!0Ip?6b53X1q1e(s-P861ct*p zx>(D>aXKhj12KL(bt8Q{?3GSa_3|*#)0MZkH&W5J^AONg5)lGhDH*7`$tpYB;N(QL zz!*az7dxz&u7Z-Nn6)#%zJryr7tTdYSj|BnE`~xY;p|oQ(Vos|ur;vc3G#28fWb1{rw#BHxM8$wzr(td5?qzADZEvffuj%C>;toP6!DNBv-DRzi zg1V}3TdWWqf>w9LLC|upDsZfvqNua1h#^|l5vvS#(nV|8D&t%Yz*@3S&JG5iMvej~ ztR+^*OIy<#=nWF$s3ivSbTc%vgljn~3d$K6;|y$3ZYq`z&?|Fwwb4Y7>h4!|;OZYR zZc6{M5Pz8q;QAlyETqWYzkPD;S_rd>f~=m0`Nrg(XZIKA@wW1eCc_hM*mS<;z3Z$u z;T`ThKjnY;wc${q?fR=wQ7v@29)&f^W^=SbIVt<{u;G!Rs_e{bVW%`EKlaacrb=%f zZ@LRP`29&(RjsCfT3K<@FD*cc5WqB=C@2ss4@9g-4*FADvwnw%)QMNX>DV-wJ{cE3 z7|xW^$+W6x4GpD>$)`1<|2UjTIrlu5HneQ)(TE&%ZWRY%0`-!WnF?oMTqqq6D`Yr< zYUUdiZ>**Jm-{Wul_rI66B=lfJ3DEz6$YLe`6Mc_6+B#xUCTi3*O?}Sa@?!B%}GYK z@c@sLELMd`hlS-0P*8zg01_6eK1P+Dkk2u~Lp8D|XuUDbFx>H&#UV6e10s?@ovEf; zP?o68Vf09XFjdo$hgZI2fXK=)KV9A|^LLoOx7?w^#2{mK`&SlL_9>B

(hFjYg9T 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 JPDHLkV1f;eHJktd literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/ability/figures/fa-pageAbility-lifecycle.png b/zh-cn/application-dev/ability/figures/fa-pageAbility-lifecycle.png new file mode 100644 index 0000000000000000000000000000000000000000..269d06b73dde7c952b56cd76f1842a856dde3c01 GIT binary patch literal 25157 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 literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/ability/figures/fa-threading-model.png b/zh-cn/application-dev/ability/figures/fa-threading-model.png new file mode 100644 index 0000000000000000000000000000000000000000..db1102837790330e536bd43062852bf04d505ee1 GIT binary patch literal 50739 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 literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/reference/apis/Readme-CN.md b/zh-cn/application-dev/reference/apis/Readme-CN.md index 698d8fdaeb..ff67949950 100644 --- a/zh-cn/application-dev/reference/apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis/Readme-CN.md @@ -25,8 +25,7 @@ - [访问控制](js-apis-abilityAccessCtrl.md) - [通用密钥库系统](js-apis-huks.md) - 数据管理 - - [轻量级存储9+](js-apis-data-preferences.md) - - [轻量级存储](js-apis-data-storage.md) + - [轻量级存储](js-apis-data-preferences.md) - [分布式数据管理](js-apis-distributed-data.md) - [关系型数据库](js-apis-data-rdb.md) - [结果集](js-apis-data-resultset.md) @@ -77,15 +76,17 @@ - [USB管理](js-apis-usb.md) - [位置服务](js-apis-geolocation.md) - 基本功能 + - [应用上下文](js-apis-basic-features-app-context.md) + - [日志打印](js-apis-basic-features-logs.md) - [页面路由](js-apis-basic-features-routes.md) - [弹窗](js-apis-basic-features-pop-up.md) + - [应用配置](js-apis-basic-features-configuration.md) - [定时器](js-apis-basic-features-timer.md) - [锁屏管理](js-apis-screen-lock.md) - [设置系统时间](js-apis-system-time.md) - [壁纸](js-apis-wallpaper.md) - [剪贴板](js-apis-pasteboard.md) - [动画](js-apis-basic-features-animator.md) - - [媒体查询](js-apis-mediaquery.md) - [WebGL](js-apis-webgl.md) - [WebGL2](js-apis-webgl2.md) - [屏幕截图](js-apis-screenshot.md) diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-context.md b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md index bf66918245..e1ab57aed3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md @@ -10,10 +10,10 @@ Ability的上下文环境,继承自Context。 ## 使用说明 -在使用AbilityContext的功能前,需要通过Ability子类实例获取。 - +​在使用AbilityContext的功能前,需要通过Ability子类实例获取。 + ```js import Ability from '@ohos.application.Ability' class MainAbility extends Ability { @@ -42,10 +42,10 @@ startAbility(want: Want, callback: AsyncCallback<void>): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want | [Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| callback | AsyncCallback<void> | 是 | callback形式返回启动结果 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | callback | AsyncCallback<void> | 是 | callback形式返回启动结果 | **示例:** @@ -71,11 +71,11 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void& **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want | [Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| options | StartOptions | 是 | 启动Ability所携带的参数。 | -| callback | AsyncCallback<void> | 是 | callback形式返回启动结果。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | options | StartOptions | 是 | 启动Ability所携带的参数。 | + | callback | AsyncCallback<void> | 是 | callback形式返回启动结果。 | **示例:** @@ -96,7 +96,7 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void& ## AbilityContext.startAbility -startAbility(want: Want, options: StartOptions): Promise<void> +startAbility(want: Want, options: StartOptions): Promise<void>; 启动Ability。通过Promise返回结果。 @@ -104,10 +104,10 @@ startAbility(want: Want, options: StartOptions): Promise<void> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want | [Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| options | StartOptions | 是 | 启动Ability所携带的参数。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | options | StartOptions | 是 | 启动Ability所携带的参数。 | **返回值:** @@ -145,10 +145,10 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want |[Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want |[Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 | **示例:** @@ -173,11 +173,11 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want |[Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| options | StartOptions | 是 | 启动Ability所携带的参数。 | -| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want |[Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | options | StartOptions | 是 | 启动Ability所携带的参数。 | + | callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 | **示例:** @@ -206,10 +206,10 @@ startAbilityForResult(want: Want, options: StartOptions): Promise<AbilityResu **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want | [Want](js-apis-featureAbility.md#want) | 是 | 启动Ability的want信息。 | -| options | StartOptions | 是 | 启动Ability所携带的参数。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | + | options | StartOptions | 是 | 启动Ability所携带的参数。 | **返回值:** @@ -353,9 +353,9 @@ startAbilityByCall(want: Want): Promise<Caller>; **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| want | [Want](js-apis-featureAbility.md#want) | 是 | 传入需要启动的ability的信息,包含ability名称、包名、设备ID,设备ID缺省或为空表示启动本地ability。 | + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 传入需要启动的ability的信息,包含ability名称、包名、设备ID,设备ID缺省或为空表示启动本地ability。 | **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-basic-features-app-context.md b/zh-cn/application-dev/reference/apis/js-apis-basic-features-app-context.md new file mode 100644 index 0000000000..be16b12372 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-basic-features-app-context.md @@ -0,0 +1,79 @@ +# 应用上下文 + + +## 导入模块 + +``` +import app from '@system.app'; +``` + +## 权限列表 + +无 + + +## app.getInfo + +getInfo(): <AppResponse> + +获取当前应用配置文件中声明的信息。 + +- 返回值 + **表1** AppResponse + + | | | | + | -------- | -------- | -------- | + | 参数名 | 类型 | 说明 | + | appID6+ | string | 表示应用的包名,用于标识应用的唯一性。 | + | appName | string | 表示应用的名称。 | + | versionName | string | 表示应用的版本名称。 | + | versionCode | number | 表示应用的版本号。 | + +- 示例 + ``` + export default { + getInfo(){ + var info = app.getInfo(); + console.log(JSON.stringify(info)); + } + } + ``` + + +## app.terminate + +terminate(): void + +退出当前Ability + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 从API Version 7 开始,推荐使用新接口['@ohos.ability.featureAbility'](js-apis-featureAbility.md)。 + +- 示例 + ``` + export default { + terminate(){ + app.terminate(); + }} + ``` + +## app.requestFullWindow + +requestFullWindow(duration: number): void + +请求应用以全窗口运行,FA在某些场景下(如半模态FA)会以非全窗口运行,调用该接口会从非全窗口切换为全窗口运行,如果已经以全窗口运行则该接口调用无效。 + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | duration | number | 否 | 请求全屏时,设定非全屏到全屏的过渡时间,单位为毫秒,默认时间与非全屏到全屏的距离成正比。 | + +- 示例 + ``` + export default { + requestFullWindow(){ + app.requestFullWindow({ + duration: 200}); + } + } + ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-basic-features-configuration.md b/zh-cn/application-dev/reference/apis/js-apis-basic-features-configuration.md new file mode 100644 index 0000000000..d9602902ca --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-basic-features-configuration.md @@ -0,0 +1,44 @@ +# 应用配置 + + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> - 从API Version 7 开始,该接口不再维护,推荐使用新接口['@ohos.i18n'](js-apis-i18n.md)和['@ohos.intl'](js-apis-intl.md)。 +> + + +## 导入模块 + +``` +import configuration from '@system.configuration'; +``` + +## 权限列表 + +无 + + +## configuration.getLocale + +getLocale(): <LocaleResponse> + +获取应用当前的语言和地区。默认与系统的语言和地区同步。 + +- 返回值 + **表1** LocaleResponse + + | 参数名 | 类型 | 说明 | + | -------- | -------- | -------- | + | language | string | 语言。例如:zh。 | + | countryOrRegion | string | 国家或地区。例如:CN。 | + | dir | string | 文字布局方向。取值范围:
- ltr:从左到右;
- rtl:从右到左。 | + | $unicodeSetting^{5+}$ | string | 语言环境定义的Unicode语言环境键集,如果此语言环境没有特定键集,则返回空集。
例如:{"nu":"arab"},表示当前环境下的数字采用阿拉伯语的数字。 | + +- 示例 + ``` + export default { + getLocale() { + const localeInfo = configuration.getLocale(); + console.info(localeInfo.language); + } + } + ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-basic-features-logs.md b/zh-cn/application-dev/reference/apis/js-apis-basic-features-logs.md index 00ecf31842..0c6afae60d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-basic-features-logs.md +++ b/zh-cn/application-dev/reference/apis/js-apis-basic-features-logs.md @@ -5,6 +5,10 @@ 无需导入。 +## 权限列表 + +无 + ## console.debug diff --git a/zh-cn/application-dev/reference/apis/js-apis-fileio.md b/zh-cn/application-dev/reference/apis/js-apis-fileio.md index b01a673db1..1e6def6533 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-fileio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-fileio.md @@ -1432,7 +1432,7 @@ lstat(path:string, callback:AsyncCallback<Stat>): void ```js fileio.lstat(path, function (err, stat) { // do something - )); + }); ``` @@ -1827,7 +1827,7 @@ chown(path: string, uid: number, gid: number): Promise<void> - 示例: ```js let stat = fileio.statSync(path); - fileio.chown(path, stat.uid, stat.gid)).then(function(){ + fileio.chown(path, stat.uid, stat.gid).then(function(){ console.info("chown successfully"); }).catch(function(err){ console.info("chown failed with error:"+ err); @@ -2127,7 +2127,7 @@ fdopenStream(fd: number, mode: string): Promise<Stream> - 示例: ```js fileio.fdopenStream(fd, mode).then(function(stream){ - console.info("openStream successfully"+); + console.info("openStream successfully"); }).catch(function(err){ console.info("openStream failed with error:"+ err); }); diff --git a/zh-cn/application-dev/reference/apis/js-apis-formprovider.md b/zh-cn/application-dev/reference/apis/js-apis-formprovider.md new file mode 100644 index 0000000000..b6f721e33b --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-formprovider.md @@ -0,0 +1,128 @@ +# FormProvider + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +卡片提供方相关接口。 + +## 导入模块 + +``` +import formProvider from '@ohos.application.formProvider'; +``` + +## 权限 + +无 + +## setFormNextRefreshTime + +setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback): void; + +设置指定卡片的下一次更新时间。 + +**系统能力:** + +SystemCapability.Ability.Form + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ------------------------------------- | + | formId | string | 是 | 卡片标识 | + | minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 | + +**示例:** + + ```js + var formId = "12400633174999288"; + formProvider.setFormNextRefreshTime(formId, 5, (error, data) => { + if (error) { + console.log('formProvider setFormNextRefreshTime, error:' + error.code); + } + }); + ``` + +## setFormNextRefreshTime + +setFormNextRefreshTime(formId: string, minute: number): Promise; + +设置指定卡片的下一次更新时间,以promise方式返回。 + +**系统能力:** + +SystemCapability.Ability.Form + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ------------------------------------- | + | formId | string | 是 | 卡片标识 | + | minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 | + +**示例:** + + ```js + var formId = "12400633174999288"; + formProvider.setFormNextRefreshTime(formId, 5).catch((error) => { + console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error)); + }); + ``` + +## updateForm + +updateForm(formId: string, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback): void; + +更新指定的卡片。 + +**系统能力:** + +SystemCapability.Ability.Form + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | + | formId | string | 是 | 请求更新的卡片标识 | + | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 | + +**示例:** + + ```js + import formBindingData from '@ohos.application.formBindingData'; + var formId = "12400633174999288"; + let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + formProvider.updateForm(formId, obj, (error, data) => { + if (error) { + console.log('formProvider updateForm, error:' + error.code); + } + }); + ``` + +## updateForm + +updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise; + +更新指定的卡片,以promise方式返回。 + +**系统能力:** + +SystemCapability.Ability.Form + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | + | formId | string | 是 | 请求更新的卡片标识 | + | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 | + +**示例:** + + ```js + import formBindingData from '@ohos.application.formBindingData'; + var formId = "12400633174999288"; + let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + formProvider.updateForm(formId, obj).catch((error) => { + console.log('formProvider updateForm, error:' + JSON.stringify(error)); + }); + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-geolocation.md b/zh-cn/application-dev/reference/apis/js-apis-geolocation.md index bbb22b733f..3225563479 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-geolocation.md +++ b/zh-cn/application-dev/reference/apis/js-apis-geolocation.md @@ -27,11 +27,11 @@ on(type: 'locationChange', request: LocationRequest, callback: Callback<Locat 开启位置变化订阅,并发起定位请求。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | - | request | LocationRequest | 是 | 设置位置请求参数。 | - | callback | Callback<[Location](#location)> | 是 | 接收位置变化状态变化监听。 | + | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | + | request | LocationRequest | 是 | 设置位置请求参数。 | + | callback | Callback<[Location](#location)> | 是 | 接收位置变化状态变化监听。 | - 示例: @@ -51,10 +51,10 @@ off(type: 'locationChange', callback?: Callback<Location>) : void 关闭位置变化订阅,并删除对应的定位请求。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | - | callback | Callback<[Location](#location)> | 否 | 接收位置变化状态变化监听。 | + | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | + | callback | Callback<[Location](#location)> | 否 | 接收位置变化状态变化监听。 | - 示例: @@ -75,10 +75,10 @@ on(type: 'locationServiceState', callback: Callback<boolean>) : void 订阅位置服务状态变化。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | - | callback | Callback<boolean> | 是 | 接收位置服务状态变化监听。 | + | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | + | callback | Callback<boolean> | 是 | 接收位置服务状态变化监听。 | - 示例: @@ -97,10 +97,10 @@ off(type: 'locationServiceState', callback?: Callback<boolean>) : void; 取消订阅位置服务状态变化。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | - | callback | Callback<boolean> | 否 | 接收位置服务状态变化监听。 | + | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | + | callback | Callback<boolean> | 否 | 接收位置服务状态变化监听。 | - 示例: @@ -120,11 +120,11 @@ on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, ca 订阅缓存GNSS定位结果上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | - | request | CachedGnssLocationsRequest | 是 | GNSS缓存功能配置参数 | - | callback | Callback<boolean> | 是 | 接收GNSS缓存位置上报。 | + | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | + | request | CachedGnssLocationsRequest | 是 | GNSS缓存功能配置参数 | + | callback | Callback<boolean> | 是 | 接收GNSS缓存位置上报。 | - 示例: @@ -144,10 +144,10 @@ off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Locati 取消订阅缓存GNSS定位结果上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | - | callback | Callback<boolean> | 否 | 接收GNSS缓存位置上报。 | + | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | + | callback | Callback<boolean> | 否 | 接收GNSS缓存位置上报。 | - 示例: @@ -168,10 +168,10 @@ on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>) : vo 订阅GNSS卫星状态信息上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | - | callback | Callback<SatelliteStatusInfo> | 是 | 接收GNSS卫星状态信息上报。 | + | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | + | callback | Callback<SatelliteStatusInfo> | 是 | 接收GNSS卫星状态信息上报。 | - 示例: @@ -190,10 +190,10 @@ off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>) : 取消订阅GNSS卫星状态信息上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | - | callback | Callback<SatelliteStatusInfo> | 否 | 接收GNSS卫星状态信息上报。 | + | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | + | callback | Callback<SatelliteStatusInfo> | 否 | 接收GNSS卫星状态信息上报。 | - 示例: @@ -213,10 +213,10 @@ on(type: 'nmeaMessageChange', callback: Callback<string>) : void; 订阅GNSS NMEA信息上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | - | callback | Callback<string> | 是 | 接收GNSS NMEA信息上报。 | + | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | + | callback | Callback<string> | 是 | 接收GNSS NMEA信息上报。 | - 示例: @@ -235,10 +235,10 @@ off(type: 'nmeaMessageChange', callback?: Callback<string>) : void; 取消订阅GNSS NMEA信息上报事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | - | callback | Callback<string> | 否 | 接收GNSS NMEA信息上报。 | + | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | + | callback | Callback<string> | 否 | 接收GNSS NMEA信息上报。 | - 示例: @@ -258,11 +258,11 @@ on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; 添加一个围栏,并订阅地理围栏事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | - | request | GeofenceRequest | 是 | 围栏的配置参数。 | - | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 | + | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | + | request | GeofenceRequest | 是 | 围栏的配置参数。 | + | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 | - 示例: @@ -320,11 +320,11 @@ off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void 删除一个围栏,并取消订阅该围栏事件。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | - | request | GeofenceRequest | 是 | 围栏的配置参数。 | - | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 | + | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | + | request | GeofenceRequest | 是 | 围栏的配置参数。 | + | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 | - 示例: @@ -385,10 +385,10 @@ getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<L - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | - | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收位置信息的回调。 | + | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | + | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收位置信息的回调。 | - 示例: @@ -411,14 +411,14 @@ getCurrentLocation(request?: CurrentLocationRequest) : Promise<Location> - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | + | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<[Location](#location)> | 返回位置信息。 | + | Promise<[Location](#location)> | 返回位置信息。 | - 示例: @@ -437,9 +437,9 @@ getLastLocation(callback: AsyncCallback<Location>) : void 获取上一次位置,使用callback回调异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收上次位置的回调。 | + | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收上次位置的回调。 | - 示例: @@ -457,9 +457,9 @@ getLastLocation() : Promise<Location> 获取上一次位置,使用Promise方式异步返回结果。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<[Location](#location)> | 返回上次位置信息。 | + | Promise<[Location](#location)> | 返回上次位置信息。 | - 示例: @@ -479,9 +479,9 @@ isLocationEnabled(callback: AsyncCallback<boolean>) : void - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | + | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | - 示例: @@ -499,9 +499,9 @@ isLocationEnabled() : Promise<boolean> 判断位置服务是否已经开启,使用Promise方式异步返回结果。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 返回位置服务是否可用的状态。 | + | Promise<boolean> | 返回位置服务是否可用的状态。 | - 示例: @@ -521,9 +521,9 @@ requestEnableLocation(callback: AsyncCallback<boolean>) : void - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | + | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | - 示例: @@ -541,9 +541,9 @@ requestEnableLocation() : Promise<boolean> 请求打开位置服务,使用Promise方式异步返回结果。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 返回位置服务是否可用。 | + | Promise<boolean> | 返回位置服务是否可用。 | - 示例: @@ -561,9 +561,9 @@ isGeoServiceAvailable(callback: AsyncCallback<boolean>) : void 判断(逆)地理编码服务状态,使用callback回调异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<boolean> | 是 | 用来接收地理编码服务状态的回调。 | + | callback | AsyncCallback<boolean> | 是 | 用来接收地理编码服务状态的回调。 | - 示例: @@ -581,9 +581,9 @@ isGeoServiceAvailable() : Promise<boolean> 判断(逆)地理编码服务状态,使用Promise方式异步返回结果。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 返回地理编码服务是否可用的状态。 | + | Promise<boolean> | 返回地理编码服务是否可用的状态。 | - 示例: @@ -602,10 +602,10 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback 调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | - | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收逆地理编码请求的回调参数。 | + | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | + | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收逆地理编码请求的回调参数。 | - 示例: @@ -624,14 +624,14 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise<Array<G 调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | + | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<Array<[GeoAddress](#geoaddress)>> | 返回地理描述信息。 | + | Promise<Array<[GeoAddress](#geoaddress)>> | 返回地理描述信息。 | - 示例: @@ -650,10 +650,10 @@ getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback< 调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | - | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收地理编码请求的回调参数。 | + | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | + | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收地理编码请求的回调参数。 | - 示例: @@ -672,14 +672,14 @@ getAddressesFromLocationName(request: GeoCodeRequest) : Promise<Array<GeoA 调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | + | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<Array<[GeoAddress](#geoaddress)>> | 设置接收地理编码请求的回调参数。 | + | Promise<Array<[GeoAddress](#geoaddress)>> | 设置接收地理编码请求的回调参数。 | - 示例: @@ -699,9 +699,9 @@ getCachedGnssLocationsSize(callback: AsyncCallback<number>) : void; 获取GNSS芯片缓存位置的个数。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<number> | 是 | 用来接收GNSS芯片缓存位置个数的回调。 | + | callback | AsyncCallback<number> | 是 | 用来接收GNSS芯片缓存位置个数的回调。 | - 示例: @@ -719,9 +719,9 @@ getCachedGnssLocationsSize() : Promise<number>; 获取GNSS芯片缓存位置的个数。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<number> | 返回GNSS缓存位置的个数。 | + | Promise<number> | 返回GNSS缓存位置的个数。 | - 示例: @@ -739,9 +739,9 @@ flushCachedGnssLocations(callback: AsyncCallback<boolean>) : void; 读取并清空GNSS芯片所有缓存位置。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<boolean> | 是 | 用来接收清空GNSS芯片缓存位置操作的结果。 | + | callback | AsyncCallback<boolean> | 是 | 用来接收清空GNSS芯片缓存位置操作的结果。 | - 示例: @@ -759,9 +759,9 @@ flushCachedGnssLocations() : Promise<boolean>; 读取并清空GNSS芯片所有缓存位置。 - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 清空所有GNSS缓存位置是否成功。 | + | Promise<boolean> | 清空所有GNSS缓存位置是否成功。 | - 示例: @@ -779,10 +779,10 @@ sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>) : 给位置服务子系统的各个部件发送扩展命令。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | - | callback | AsyncCallback<boolean> | 是 | 用来接收命令发送的结果。 | + | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | + | callback | AsyncCallback<boolean> | 是 | 用来接收命令发送的结果。 | - 示例: @@ -801,14 +801,14 @@ sendCommand(command: LocationCommand) : Promise<boolean>; 给位置服务子系统的各个部件发送扩展命令。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | + | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 表示命令发送成功或失败。 | + | Promise<boolean> | 表示命令发送成功或失败。 | - 示例: @@ -827,10 +827,10 @@ isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback&l 查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | - | callback | AsyncCallback<boolean> | 是 | 表示用户是否同意定位服务隐私申明。 | + | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | + | callback | AsyncCallback<boolean> | 是 | 表示用户是否同意定位服务隐私申明。 | - 示例: @@ -848,14 +848,14 @@ isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise<boolean> 查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | + | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 表示用户是否同意定位服务隐私申明。 | + | Promise<boolean> | 表示用户是否同意定位服务隐私申明。 | - 示例: @@ -873,11 +873,11 @@ setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed: boolean 设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | - | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | - | callback | AsyncCallback<boolean> | 是 | 表示操作是否成功。 | + | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | + | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | + | callback | AsyncCallback<boolean> | 是 | 表示操作是否成功。 | - 示例: @@ -895,15 +895,15 @@ setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolea 设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。 - 参数: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | - | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | + | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | + | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | - 返回值: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | - | Promise<boolean> | 表示操作是否成功。 | + | Promise<boolean> | 表示操作是否成功。 | - 示例: @@ -919,201 +919,201 @@ setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolea 位置请求中位置信息优先级设置。 - | 名称 | 默认值 | 说明 | +| 名称 | 默认值 | 说明 | | -------- | -------- | -------- | -| UNSET | 0x200 | 表示未设置优先级。 | -| ACCURACY | 0x201 | 表示精度优先。 | -| LOW_POWER | 0x202 | 表示低功耗优先。 | -| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 | +| UNSET | 0x200 | 表示未设置优先级。 | +| ACCURACY | 0x201 | 表示精度优先。 | +| LOW_POWER | 0x202 | 表示低功耗优先。 | +| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 | ## LocationRequestScenario 位置请求中定位场景设置。 - | 名称 | 默认值 | 说明 | +| 名称 | 默认值 | 说明 | | -------- | -------- | -------- | -| UNSET | 0x300 | 表示未设置场景信息。 | -| NAVIGATION | 0x301 | 表示导航场景。 | -| TRAJECTORY_TRACKING | 0x302 | 表示运动轨迹记录场景。 | -| CAR_HAILING | 0x303 | 表示打车场景。 | -| DAILY_LIFE_SERVICE | 0x304 | 表示日常服务使用场景。 | -| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 | +| UNSET | 0x300 | 表示未设置场景信息。 | +| NAVIGATION | 0x301 | 表示导航场景。 | +| TRAJECTORY_TRACKING | 0x302 | 表示运动轨迹记录场景。 | +| CAR_HAILING | 0x303 | 表示打车场景。 | +| DAILY_LIFE_SERVICE | 0x304 | 表示日常服务使用场景。 | +| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 | ## GeoLocationErrorCode 位置服务中的错误码信息。 - | 名称 | 默认值 | 说明 | +| 名称 | 默认值 | 说明 | | -------- | -------- | -------- | -| INPUT_PARAMS_ERROR | 101 | 表示输入参数错误。 | -| REVERSE_GEOCODE_ERROR | 102 | 表示逆地理编码接口调用失败。 | -| GEOCODE_ERROR | 103 | 表示地理编码接口调用失败。 | -| LOCATOR_ERROR | 104 | 表示定位失败。 | -| LOCATION_SWITCH_ERROR | 105 | 表示定位开关。 | -| LAST_KNOWN_LOCATION_ERROR | 106 | 表示获取上次位置失败。 | -| LOCATION_REQUEST_TIMEOUT_ERROR | 107 | 表示单次定位,没有在指定时间内返回位置。 | +| INPUT_PARAMS_ERROR | 101 | 表示输入参数错误。 | +| REVERSE_GEOCODE_ERROR | 102 | 表示逆地理编码接口调用失败。 | +| GEOCODE_ERROR | 103 | 表示地理编码接口调用失败。 | +| LOCATOR_ERROR | 104 | 表示定位失败。 | +| LOCATION_SWITCH_ERROR | 105 | 表示定位开关。 | +| LAST_KNOWN_LOCATION_ERROR | 106 | 表示获取上次位置失败。 | +| LOCATION_REQUEST_TIMEOUT_ERROR | 107 | 表示单次定位,没有在指定时间内返回位置。 | ## ReverseGeoCodeRequest 逆地理编码请求接口。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| locale | string | 否 | 指定位置描述信息的语言,“zh”代表中文,“en”代表英文。 | -| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 | -| longitude | number | 是 | 表示经度信息,正值表示东经,负值表示西经。 | -| maxItems | number | 否 | 指定返回位置信息的最大个数。 | +| locale | string | 否 | 指定位置描述信息的语言,“zh”代表中文,“en”代表英文。 | +| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 | +| longitude | number | 是 | 表示经度信息,正值表示东经,负值表示西经。 | +| maxItems | number | 否 | 指定返回位置信息的最大个数。 | ## GeoCodeRequest 地理编码请求接口。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 | -| description | number | 是 | 表示位置信息描述,如“上海市浦东新区xx路xx号”。 | -| maxItems | number | 否 | 表示返回位置信息的最大个数。 | -| minLatitude | number | 否 | 表示最小纬度信息,与下面三个参数一起,表示一个经纬度范围。 | -| minLongitude | number | 否 | 表示最小经度信息。 | -| maxLatitude | number | 否 | 表示最大纬度信息。 | -| maxLongitude | number | 否 | 表示最大经度信息。 | +| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 | +| description | number | 是 | 表示位置信息描述,如“上海市浦东新区xx路xx号”。 | +| maxItems | number | 否 | 表示返回位置信息的最大个数。 | +| minLatitude | number | 否 | 表示最小纬度信息,与下面三个参数一起,表示一个经纬度范围。 | +| minLongitude | number | 否 | 表示最小经度信息。 | +| maxLatitude | number | 否 | 表示最大纬度信息。 | +| maxLongitude | number | 否 | 表示最大经度信息。 | ## GeoAddress 地理编码类型。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| latitude | number | 否 | 表示纬度信息,正值表示北纬,负值表示南纬。 | -| longitude | number | 否 | 表示经度信息,正值表示东经,负值表是西经。 | -| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 | -| placeName | string | 否 | 表示地区信息。 | -| countryCode | string | 否 | 表示国家码信息。 | -| countryName | string | 否 | 表示国家信息。 | -| administrativeArea | string | 否 | 表示省份区域信息。 | -| subAdministrativeArea | string | 否 | 表示表示子区域信息。 | -| locality | string | 否 | 表示城市信息。 | -| subLocality | string | 否 | 表示子城市信息。 | -| roadName | string | 否 | 表示路名信息。 | -| subRoadName | string | 否 | 表示子路名信息。 | -| premises | string | 否 | 表示门牌号信息。 | -| postalCode | string | 否 | 表示邮政编码信息。 | -| phoneNumber | string | 否 | 表示联系方式信息。 | -| addressUrl | string | 否 | 表示位置信息附件的网址信息。 | -| descriptions | Array<string> | 否 | 表示附加的描述信息。 | -| descriptionsSize | number | 否 | 表示附加的描述信息数量。 | +| latitude | number | 否 | 表示纬度信息,正值表示北纬,负值表示南纬。 | +| longitude | number | 否 | 表示经度信息,正值表示东经,负值表是西经。 | +| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 | +| placeName | string | 否 | 表示地区信息。 | +| countryCode | string | 否 | 表示国家码信息。 | +| countryName | string | 否 | 表示国家信息。 | +| administrativeArea | string | 否 | 表示省份区域信息。 | +| subAdministrativeArea | string | 否 | 表示表示子区域信息。 | +| locality | string | 否 | 表示城市信息。 | +| subLocality | string | 否 | 表示子城市信息。 | +| roadName | string | 否 | 表示路名信息。 | +| subRoadName | string | 否 | 表示子路名信息。 | +| premises | string | 否 | 表示门牌号信息。 | +| postalCode | string | 否 | 表示邮政编码信息。 | +| phoneNumber | string | 否 | 表示联系方式信息。 | +| addressUrl | string | 否 | 表示位置信息附件的网址信息。 | +| descriptions | Array<string> | 否 | 表示附加的描述信息。 | +| descriptionsSize | number | 否 | 表示附加的描述信息数量。 | ## LocationRequest 位置信息请求类型。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 | -| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 表示场景信息。 | -| timeInterval | number | 否 | 表示上报位置信息的时间间隔。 | -| distanceInterval | number | 否 | 表示上报位置信息的距离间隔。 | -| maxAccuracy | number | 否 | 表示精度信息。 | +| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 | +| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 表示场景信息。 | +| timeInterval | number | 否 | 表示上报位置信息的时间间隔。 | +| distanceInterval | number | 否 | 表示上报位置信息的距离间隔。 | +| maxAccuracy | number | 否 | 表示精度信息。 | ## CurrentLocationRequest 当前位置信息请求类型。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 | -| scenario | [LocationRequestScenario](#locationrequestscenario) | 否 | 表示场景信息。 | -| maxAccuracy | number | 否 | 表示精度信息,单位是米。 | -| timeoutMs | number | 否 | 表示超时时间,单位是毫秒,最小为1000毫秒。 | +| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 | +| scenario | [LocationRequestScenario](#locationrequestscenario) | 否 | 表示场景信息。 | +| maxAccuracy | number | 否 | 表示精度信息,单位是米。 | +| timeoutMs | number | 否 | 表示超时时间,单位是毫秒,最小为1000毫秒。 | ## SatelliteStatusInfo 卫星状态信息。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| satellitesNumber | number | 是 | 表示卫星个数。 | -| satelliteIds | Array<number> | 是 | 表示每个卫星的ID,数组类型。 | -| carrierToNoiseDensitys | Array<number> | 是 | 表示载波噪声功率谱密度比,即cn0。 | -| altitudes | Array<number> | 是 | 表示高程信息。 | -| azimuths | Array<number> | 是 | 表示方位角。 | -| carrierFrequencies | Array<number> | 是 | 表示载波频率。 | +| satellitesNumber | number | 是 | 表示卫星个数。 | +| satelliteIds | Array<number> | 是 | 表示每个卫星的ID,数组类型。 | +| carrierToNoiseDensitys | Array<number> | 是 | 表示载波噪声功率谱密度比,即cn0。 | +| altitudes | Array<number> | 是 | 表示高程信息。 | +| azimuths | Array<number> | 是 | 表示方位角。 | +| carrierFrequencies | Array<number> | 是 | 表示载波频率。 | ## CachedGnssLocationsRequest 请求订阅GNSS缓存位置上报功能接口的配置参数。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| reportingPeriodSec | number | 是 | 表示GNSS缓存位置上报的周期,单位是毫秒。 | -| wakeUpCacheQueueFull | boolean | 是 | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。
false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 | +| reportingPeriodSec | number | 是 | 表示GNSS缓存位置上报的周期,单位是毫秒。 | +| wakeUpCacheQueueFull | boolean | 是 | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。
false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 | ## Geofence GNSS围栏的配置参数。目前只支持圆形围栏。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| latitude | number | 是 | 表示纬度。 | -| longitude | number | 是 | 表示经度。 | -| radius | number | 是 | 表示圆形围栏的半径。 | -| expiration | number | 是 | 围栏存活的时间,单位是毫秒。 | +| latitude | number | 是 | 表示纬度。 | +| longitude | number | 是 | 表示经度。 | +| radius | number | 是 | 表示圆形围栏的半径。 | +| expiration | number | 是 | 围栏存活的时间,单位是毫秒。 | ## GeofenceRequest 请求添加GNSS围栏消息中携带的参数,包括定位优先级、定位场景和围栏信息。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| priority | LocationRequestPriority | 是 | 表示位置信息优先级。 | -| scenario | LocationRequestScenario | 是 | 表示定位场景。 | -| geofence | Geofence | 是 | 表示围栏信息。 | +| priority | LocationRequestPriority | 是 | 表示位置信息优先级。 | +| scenario | LocationRequestScenario | 是 | 表示定位场景。 | +| geofence | Geofence | 是 | 表示围栏信息。 | ## LocationPrivacyType 定位服务隐私协议类型。 - | 名称 | 默认值 | 说明 | +| 名称 | 默认值 | 说明 | | -------- | -------- | -------- | -| OTHERS | 0 | 其他场景。 | -| STARTUP | 1 | 开机向导场景下的隐私协议。 | -| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 | +| OTHERS | 0 | 其他场景。 | +| STARTUP | 1 | 开机向导场景下的隐私协议。 | +| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 | ## LocationCommand 扩展命令结构体。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| scenario | LocationRequestScenario | 是 | 表示定位场景。 | -| command | string | 是 | 扩展命令字符串。 | +| scenario | LocationRequestScenario | 是 | 表示定位场景。 | +| command | string | 是 | 扩展命令字符串。 | ## Location 位置信息类型。 - | 名称 | 参数类型 | 必填 | 说明 | +| 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 | -| longitude | number | 是 | 表示经度信息,正值表示东经,负值表是西经。 | -| altitude | number | 是 | 表示高度信息,单位米。 | -| accuracy | number | 是 | 表示精度信息,单位米。 | -| speed | number | 是 | 表示速度信息,单位米每秒。 | -| timeStamp | number | 是 | 表示位置时间戳,UTC格式。 | -| direction | number | 是 | 表示航向信息。 | -| timeSinceBoot | number | 是 | 表示位置时间戳,开机时间格式。 | -| additions | Array<string> | 否 | 附加信息。 | -| additionSize | number | 否 | 附加信息数量。 | +| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 | +| longitude | number | 是 | 表示经度信息,正值表示东经,负值表是西经。 | +| altitude | number | 是 | 表示高度信息,单位米。 | +| accuracy | number | 是 | 表示精度信息,单位米。 | +| speed | number | 是 | 表示速度信息,单位米每秒。 | +| timeStamp | number | 是 | 表示位置时间戳,UTC格式。 | +| direction | number | 是 | 表示航向信息。 | +| timeSinceBoot | number | 是 | 表示位置时间戳,开机时间格式。 | +| additions | Array<string> | 否 | 附加信息。 | +| additionSize | number | 否 | 附加信息数量。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-request.md b/zh-cn/application-dev/reference/apis/js-apis-request.md index 4a7f928077..b853b07257 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-request.md +++ b/zh-cn/application-dev/reference/apis/js-apis-request.md @@ -1,4 +1,4 @@ -# 上传下载 +# 上传下载(新) > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-configuration.md b/zh-cn/application-dev/reference/apis/js-apis-system-configuration.md index d754366355..d1a5500065 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-configuration.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-configuration.md @@ -1,7 +1,7 @@ # 应用配置 > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> - 从API Version 7 开始,该接口不再维护,推荐使用新接口['@ohos.i18n'](js-apis-i18n.md)和['@ohos.intl'](js-apis-intl.md)。 +> - 从API Version 7 开始,该接口不再维护,推荐使用新接口['@ohos.i18n'](https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-i18n-0000001155058572)和['@ohos.intl'](https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-intl-0000001200978209)。 > > > - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-time.md b/zh-cn/application-dev/reference/apis/js-apis-system-time.md index f19a8fb1cf..b2389c5b57 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-time.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-time.md @@ -6,7 +6,7 @@ ## 导入模块 - + ``` import systemTime from '@ohos.systemTime'; ``` @@ -29,7 +29,7 @@ setTime(time : number, callback : AsyncCallback<void>) : void | callback | AsyncCallback<void> | 是 | 回调函数,可以在回调函数中处理接口返回值。 | - 示例: - + ``` // time对应的时间为2021-01-20 02:36:25 var time = 1611081385000; @@ -64,7 +64,7 @@ setTime(time : number) : Promise<void> | Promise<void> | 返回的异步回调函数。 | - 示例: - + ``` // time对应的时间为2021-01-20 02:36:25 var time = 1611081385000; @@ -91,7 +91,7 @@ getCurrentTime(isNano?: boolean, callback: AsyncCallback<number>): void | callback | AsyncCallback<number> | 是 | 回调函数,返回自 Unix 纪元以来经过的时间。 | - 示例: - + ``` systemTime.getCurrentTime(true, (error, data) => { if (error) { @@ -122,7 +122,7 @@ getCurrentTime(isNano?: boolean): Promise<number> | Promise<number> | 以Promise形式返回结果,返回自 Unix 纪元以来经过的时间。 | - 示例: - + ``` systemTime.getCurrentTime().then((data) => { console.log(`systemTime.getCurrentTime success data : ` + JSON.stringify(data)); @@ -147,7 +147,7 @@ getRealActiveTime(isNano?: boolean, callback: AsyncCallback<number>): void | callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来但不包括度睡眠时间经过的时间。 | - 示例: - + ``` systemTime.getRealActiveTime(true, (error, data) => { if (error) { @@ -178,7 +178,7 @@ getRealActiveTime(isNano?: boolean): Promise<number> | Promise<number> | 以Promise形式返回结果,返回自系统启动以来但不包括度睡眠时间经过的时间。 | - 示例: - + ``` systemTime.getCurrentTime().then((data) => { console.log(`systemTime.getRealActiveTime success data : ` + JSON.stringify(data)); @@ -203,7 +203,7 @@ getRealTime(callback: AsyncCallback<number>): void | callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来包括深度睡眠时间经过的毫秒数。 | - 示例: - + ``` systemTime.getRealTime(true, (error, data) => { if (error) { @@ -234,7 +234,7 @@ getRealTime(): Promise<number> | Promise<number> | 以Promise形式返回结果,返回自系统启动以来包括深度睡眠时间经过的时间。 | - 示例: - + ``` systemTime.getRealTime().then((data) => { console.log(`systemTime.getRealTime success data: ` + JSON.stringify(data)); @@ -261,7 +261,7 @@ setDate(date: Date, callback: AsyncCallback<void>): void | callback | AsyncCallback<void> | 是 | 回调函数,可以在回调函数中处理接口返回值。 | - 示例: - + ``` var data = new Date("October 13, 2020 11:13:00"); systemTime.setDate(data,(error, data) => { @@ -295,7 +295,7 @@ setDate(date: Date): Promise<void> | Promise<void> | 返回的异步回调函数。 | - 示例: - + ``` var data = new Date("October 13, 2020 11:13:00"); systemTime.setDate(data).then((value) => { @@ -320,7 +320,7 @@ getDate(callback: AsyncCallback<Date>): void | callback | AsyncCallback<Date> | 是 | 回调函数,返回当前系统日期。 | - 示例: - + ``` systemTime.getDate((error, data) => { if (error) { @@ -346,7 +346,7 @@ getDate(): Promise<Date> | Promise<Date> | 以Promise形式返回结果,返回当前系统日期。 | - 示例: - + ``` systemTime.getDate().then((data) => { console.log(`systemTime.getDate success data : ` + JSON.stringify(data)); @@ -373,7 +373,7 @@ setTimezone(timezone: string, callback: AsyncCallback<void>): void | callback | AsyncCallback<void> | 是 | 回调函数,可以在回调函数中处理接口返回值。 | - 示例: - + ``` systemTime.setTimezone('Asia/Shanghai', (error, data) => { if (error) { @@ -406,7 +406,7 @@ setTimezone(timezone: string): Promise<void> | Promise<void> | 返回的异步回调函数。 | - 示例: - + ``` systemTime.setTimezone('Asia/Shanghai').then((data) => { console.log(`systemTime.setTimezone success data : ` + JSON.stringify(data)); @@ -430,7 +430,7 @@ getTimeZone(callback: AsyncCallback<string>): void | callback | AsyncCallback<string> | 是 | 回调函数,返回系统时区。 | - 示例: - + ``` systemTime.getTimeZone((error, data) => { if (error) { @@ -456,7 +456,7 @@ getTimeZone(): Promise<string> | Promise<string> | 以Promise形式返回结果,返回系统时区。 | - 示例: - + ``` systemTime.getDate().then((data) => { console.log(`systemTime.getTimeZone success data : ` + JSON.stringify(data)); diff --git a/zh-cn/application-dev/reference/apis/js-apis-volumemanager.md b/zh-cn/application-dev/reference/apis/js-apis-volumemanager.md index a11bb17eb9..55913343e0 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-volumemanager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-volumemanager.md @@ -174,6 +174,6 @@ unmount(volumeId: string, callback:AsyncCallback<boolean>):void | id9+ | number | 卷id | | uuid9+ | string | 卷uuid | | description9+ | string | 卷相关描述 | -| removeAble9+ | boolean | 是否为可移动存储设备 | +| removable9+ | boolean | 是否为可移动存储设备 | | state9+ | int | 当前卷状态 | | path9+ | string | 卷的挂载地址 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-workScheduler.md b/zh-cn/application-dev/reference/apis/js-apis-workScheduler.md index 8224175b47..b2b623dc6f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-workScheduler.md +++ b/zh-cn/application-dev/reference/apis/js-apis-workScheduler.md @@ -269,7 +269,6 @@ isLastWorkTimeOut(workId: number): Promise\ .catch(err => { console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.data); }); - }) ``` ## WorkInfo diff --git a/zh-cn/application-dev/reference/arkui-js/figures/transition.gif b/zh-cn/application-dev/reference/arkui-js/figures/transition.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b1aacbf3092a0ed946ce477251e60a41b365774 GIT binary patch literal 74240 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࠳NcNc$@uOd=L^+SozL$n4`$`17N@JTqjY##nS~#-G5n>%hRZ3p3BluK zO$q^!GDf{1F*!S7614jW_+l+rThOkTgxe2G)kQKC2+aj*E%quiPQ%k3@`T#7m3 zkEX40A|tVe+~*59TYIq?P{4!-R{$H`F?P3VUeJ~!lK0ShY_Kh*{R>+C zxoFN10e(}mjKz4&xd&M-9Ou{a;!JU3DK9<%KT`@$7@dqof6a%Zs){{M2x#-T;M3AT zVFBP9Z9gZ_Kr<<=pplRBAQELDAp zHTG_Hs$x+F01&i~3}F|oWAiiK-(ZlwyX=h&_#J`Hd^LTmqego;-p{!i!7avZ_xL<&4Y$ ztdfM$SBLte+iIe{Yjg;u^c&h>W)M%&Sdvu{dTLY5{b6$(c^h$xvw)a%=g_XVdWc- z&?SI%Oy{WmU8AwyDN@5IkO(o4Q!F47_h`jnAPmyTg*e5T?D$T>yOc43VEe@GWS~fO zwW}S2GwG3Sz=xpIvvk@l<4=su=hzrWZrn_o=eZV@AgQyRlB;NX1Ivy7?dy>^eDkSB zpI2@D*lQ7|^q!-_CP%OWA458pY-99lT$pKa5gkAF-dwdQv0^=+(3|*8%?ng!1;WXs zHmRj*oqF`)WuN#7b;8W*t|y1OPQ5-wByuZp#_O(~ zQTBG~JP)|m;9NV8#OtCO4`IyrB_S)Oy$1=dd#Bg4R91)k{bEM{Z7|qlm?v5|aI5i- zd-zC0?Adj)BY4NFi=cP9H+jrg}tx3ppkCQj`IFNCmvb z4-2ylHuDTM=BJMsCnh(Dtrnw=8FxcJB=1QzS^oNdwnBYwCEZ+Ngl z7;CEahN3tk7xDWl94Q`B433~R2*>yEnJr{!84Azb506&Xt~4NYQ4U9&m%_ZE5?lqm z$pr{fKxkVlPK;G>{Gu11IKK_6LWjIC<6;QG24Dyg6bC&5!tyIvtghU z8^V4@NBY+@W_dp%&;WjS?Ftc*6vuX1to6nAiaoSK{kleeN%8n#Lamkfl3G}+8Q=3_ zF#;zo7SAy5ZLXG19$(`#L5li#ey?Z{p9AZGH-4LE;y!VqkBVs5H+{YJ_8Wtq4 z<4CwfV^s;_;1M`(1d;L9{{A8&74j5?X^)Ug3HDbB!78bqhGF?&P3-5<{<_J62MIzW zF}8eC{&JkGA(|gy=^0))SqDfD760cukKKVxgI_orM-rP460;2h+>}{zO-b%k@Ear2 zL-Dc(Zql+S>Bv9Rp48z@&}ZriWj;H|YWGs_H1)NK%i1->*{6>`9FZbX;jJ8?+mT4g zSaCg_@S}5*N+}*XfOL2F1Ee?fZEwq%$|GekSoU!Mbi@BJ& z{XMx}-@Vsb`;+lhM&^R5dVv7D>mH;7-yL;7u$+Xq3ooWQr7)lF5oncAhXu&U0^>Q^$oPX;v5 zy1REk7y^F*aKyKU1W;x=QBHU6!Fl7pSH|R?rm|eY$W_9~Q(S&(#%_hBPzmI+!IBiZ z(-=PU{pE-+wWr;R20)4K70Ktl%Mir=P)Oa*i1mV5vgb6jW_yyB~o)!H?GS{LnC zu)d#D>%LcIQ%|i-Ch$~j7+BB&)>UmSDkZ?Q&R<=N7>-b5#)w zK9xaK{^B;QW`&hGHR2#H6?^Cekm9c_0hJAF_a^tF39XrC?|m|gGag;B4GLi}TYCWt zo9c(;re3MwcSX8%;o=ft9+@wABnV4+(J(Pxdor-FThl(z>o^zV84I@vimC@LBfoiF zOE#wpLVdPbr`-Xedx5e?kh6w5ex{uOI9L_i&sm(M&a=9Qn6?!uk&?EsxtUt}T8jHT z3a);9b6RXEJj8*vH~Nx)-97~+%8=>2N9}IIepb^K&ZCZ*8ZdZUg2LCx znr4PXY0uj|?yf|$Pjz~tkaHJA^T-^nKJfjoD_L-Wonr2<<%&IiwrR=f01qNB#kt~c zp;Q@e!Pqx8L$mmx=3<*>oLaDAFhvN_1d=f_0!a6oK&)4~~yfZc+5w@SI!Z~g^ec|ii%y-1(RanXkdqW*oDTb#g| z9*dO>oqD@z$bN~zA1zRI;UA5brlEv<&r+v{;<=0g5k@Y`KAL#-O}F!->{k|CotJJ6 z)oy<>K7J91_(s)$>2evuvPK+ZyV#(C2#2fTl4ZT@P&=m3%W8EHEziN)of}#bV6^J( zP&#m7BG8}2b>eHxs{4S#TYvH)djj)C#C%@%39%S1jp^Nktn_~Tcrgfn-t!N9= zc7{YQ8tr3=B=ysLE?m^1jX6&eVzqwDdGqMWZjeG8%<5+0q&9JslcIyn_pJJ>|IXFO zEwFw>O$RTn(j>k?_Zj%pMzxN+f=Wfd&rOz$PQF&lQv*x-;;&Njd((3ob!ce{{asTE z*V-x0|FG{s|NDC5$JqzC)$cWR=Q#It`}_n?p~RBB&>h7i}xA~Io6k{;!)3afX5g$y+sxJqigVQf4ZAZ4fYlvE@i%_^WL z6}4ET@R}2*pk~mww+8}X5D-;R;fc*7;aZ?(!fT52)SB|_6)>*1b1}5IWlA9Tgt;K( zXjIO?en1o&GI~nvpCCJ=C`Lj9EZ_hDiJFA~Di)P~lGsQ(OhF%mVyf5d3RX*CG`Zai zal!RuMBj7juL5iY^w_T5C=5s84&r@>B5WX&0AVvVE(n&@X7hSj2YrEHAg)aL4rHY? zF+ZA&2g?i~@ncNEZ6;n(#3_QB8r@keceC_nQK6fDw9}yVE=hLvK$=}FI0E^GRLKTV zSfKX(og#?cF&yYRDe`uU+pc44r&`h_1=2 z7^0aaat>k_1W2gG44B&l3wxv|n>`;bErms$rW3f4N_b;|d)HUebQFRTQj8>Yq*YN9 zQ;!WpIA~Uk9RQ%Be8eMp=R5$WT%S6kf@6J}4yF=;p#(asiMS+AhC7)uF8BIzz{jDA zVO{qX;v)jjV;=(YJb%BHlLqY*N-q?)HKgL13<+xs7O^nM%YDNAF?nDu-#MK zt{{xQzZ&!g<>Iobi8)ZL*nmtwyi%zk3(&mfDGX@nmKwD@oK|gRoU{hc$0X4DRiKMZaJ8K3^KVru+$wSoR{(M1L*E zzp?)~>oVvNI+Z&4>^YkGs^oK0PvKPY{Zo_j^EYX*=wn}T9Yx?u!C=Gd@8h`1AI#s& zzs0*#Dv%qT6peCjR!!I^G?YoQo~vEtj9R)4R)Bn=0dP8=rRaz02N1FNcoG&$wpY<(w*&3$5BlQT?Y0 z_Fw!sRtk8$?DpT|WjMYLo*Mm!U{fA%&XWGHb_i(=!UdsP}{=)p< z{qlc$d8oz_S+k{r+<&`E)UBC&C{US{144o!t*Dd3%zRmnl9P+!p-TSI;~#8|rj0o6 zoPy+RtZYL*AfnoZTC4jxhwFc__V^qdC5U}*T z2!mOSf^bZ*(1-&uIR9dT@K@_s7h$;P-^yiJHRAiralQ9|r!(8z^XJ!p;p=wu-i;kal%TK8e*5;{ z@pXUkO(=bJEe4DM==`U9Ay_hSd>ziMSAoE;d>d65ndj-NY3LtA9eLkpjGO%^Mm3@$ z&tH~0%K=OyjOG9qnN^x7P#+Xdu3I5mkAs{SzWpMl1r3aZBI%kXDoLEabwCNAE{Rgs zl0QsjmFd_{(b9VQ?xEM)Z<($XFm8~c%qT~fDU~IUnV`l#Zk4UG5lK(sI@3{{9o*Mp znddt(RxVC-0JSLK!ko}7R5)&@FJfXw-N{vmh1iyO{FAc{h&RfzDT8s7SeNG&G1>-a z--2u^$@8A2t7vs6?5Ycbna=Y|W)xVGlK6ZpzT$RvlGp4Up*qyJ)UE(6=97o(W`DopL1(xIGQ;regMuCWcH zn-b`FeeFpGwd0fi_HG4i|xO+>X-Y>Ua}TB+-j>=DGh6Qro?~cSoEQMVY%;h6p(ApHyuN*-N8v0KLPtv#b_z;xdOod4&wD;M%4D(EK0O8JETX4bb@?dHWBY6E1S_ zffzng!<7k6se@}9JmH3m9DHtuqwC+Wkl8;9O3)&cTHZE?sa6CtT;?Y6q7$ zxVFJ{4lZwSZG%gi&)oh0E2{P%wfm2@p%X=omCSi-z|ovG4NSSnRckfLm4<3vdv?i_ z-RuztV$T`u;loy*#D--nJyw79g}$D=_ZEsV`Ili1`N7g31O7hUYewMl84o*bEYavxX$k910tg^Du*+ z8RK=Q!>|FNP+cp{z*jV|QE$oE5Gk=J0+Z z_%XC@f%8RMtn{@f`wn73#=u&0p$1yRx5S^2sn*pGn!>CTN2KL>Plv+SP~}Xh`bmdS z_nD!bWB{q4H%ge^duuM7Cg~#BT_rX^`}tZWRt&)_O&JJ>IW2gv`(M2nStz48*KT z6uk2~J)NvD{u1`d=XX%eqV@I8r%&{ESA=2y*SYDG-k_D$UBGXyBI95+tkd0~GjXE* zV2o$2!Z4WJ*lR%$Ce7GB?$ty3KFyo>iqHrKdi;WD$&^#07=#{_w*c1Qio#C<^wfv` zLPd;bU%383O(RKhm_id}f1ng3NoNt2#K732_EY$@qTVL+2AjQ&RSNi>k8NC)ahL&2 z5j4v%EUWmQiFd0*m#yPlNtYux0inyasT!xwQ%UkUN%h|ux6F0I8Mn^)FymuW=!P>< zQ4p^HIm=5rUO&zIqLOu7kmh?{9u|n2`8_)m`PsIVhen9Ds?bh>sl1^|h&eQ7qLaC{ z)(F+Uu82ghy3+R_szpACw)(PhiXT2z&(V`^*R#vmU$v~MkY3>1=LB7~?Qx^!f+7a6 ze{`(dp}Ah_8x>rzH=lpK(9F7CsjhKHi#{XCeB3}YL@+&{{6Y1y67#W_fkGm%5d~%L zW)M>r{pS#lwh|YJ=2p_Vfq@>^-d}d~5V`F2u z5WzcqsHmte9Xk#V4mbZ^jQh5&t*s*>BIa%$woiT^?i|fLJQ5HP%*@Qdb!>Nc_uBQ^ zvVR5M_G@WrxxT)B|Ni~|-7xk4&F}wJ_Ws|KhC>1WD`_|t1n>R*&!piza5kJYoRte~ zZp~|JY47Un>G;;&*V{idI5IFc+=d8hoSCib3~tF?Tv=XQ+F0FOhod_8w-5Ke9~>GkN=$n zr5Z3G3^ix?ADopJI1RM4?D=%qmZIrA!5C9`QGN&a35`+zRtXJJJ!5x# zQpj&;eq+_taA+$0l)JVVLJ?ooUNZxFgJ~5I9DFTfnH(8nfzHuFXnre#5UY||)n73#ny4_wY?L8y>c*>vGlp=a zb5zyJrTD1K&k3f2g?ZOZngyQi_3e(F3o?t0^&L{t<>~#-9+mm`9$rbBmYrY%Mbo2A z-LFS_+~vjJRv3xufCH;}RrbdOr5sGyEeS5M4}Rmpfxs!o*OtB`BByeMA-gSkN91}l zm;U;wn$o`t=(EMW3bM`~iSoFqqH0E!lVyzi=a)9*ldDk^88@j6?n#=8XY=^sbleJC z9$wU?GYU;J`BI9+Ut`7GB%GaJG;1F2%B^j$Jl|8o6{GG7J_c9x9D=7^19jw^m%m}K>={OJgjkY)^$D6o|C1?DW zhpe3WsAI^TBP2U$*6dOO9n-f;^G_Beo2sJtR+m+A#cgffy`LE<9wMeXN84LOdq!P|aY2s8S0xLenZ+!UU-_h;TR# zj1JAd(mvrrsh5DU^qoHhDkHi@(Gn11urV)TrzScK&CZuoNN7ssH~R`8>V<2637k?%W|Ye z7W%Q{%`FR^yCPZXS7y_+$;p~yEzyQHEWN_)7=Ntc>8_G^>ZDA}Dd=r7E14#H7c8-= zDy8G_7~MA|TC#*)p5pOf7KbbNE5GXOflcf3#){GuW6wDCX-7=2H5W`4dy3ADdnU@9 zeLQwu!q5&v`0(XKv%Uwgo#XBQlu5?#yf`@@kPvBUY1`O*x7MWaw)?!Z+ISsQ$&h5uvgro1zJwpN$C%4qQ{8Xj&rdqVMn_ z6U~+qJkDtQ-^tdsIuY&H)V5tRZY9vr>8hA2IO4WUWF9Z;U zrsBUIA!`u!O*5T|RQ%jjmRA9L181g)dXxEhy3;Zqg_Q%28*(juC?l+*)5V)L>P3Pesl}_D`LA-T z+s_s>{^~l@U28UGatQPrxG-g%@@bwSMs!1$kFB;P&sRYGn2$7LTm9SAKO^^=Qn zUwg_e(s}P?Qi?UM<%)kBQ zt$Rem$05w^VKOKf`nrleoDfZRx9>4?EFhziI|#9T25h>Iua166y+B`1eYy;w%;E8o z@~QQ6X=VB>Yi;)P59rr6XWHD-v0dGSg0=?Jvjmor)rPyyh}Jl^R3^3Mj5%= zl)lzGc8r&(A8lWjWl5fY+*l%4Q`mdQeX>~Yz4$AMiGXXC=DvJIMr4_@J|sQMBD`)< zRcD+nYS%EZeAHjg>kSrV_<%tyrk&zg^1ex-(;Y$Npc|WY#WEZPMG+5{F#& zHp7Bo4SW+^kiRa{f&^+l)oW-`uR8vP?E@%!m?7O+$i~bgK7YZl6*o+9lf! z8TtP2N{SIG*p{zB-K*N{Yx18%^gWl^utJ>Ev@lqQ1lI+`W=kae8cmQZ&@2yiZ~I}t z8u^?1jo22XwOf_nHfjC2`JltE_{8UaSfY8GO!gw>lwD4ZO6L<=E`Cb z_E|rSjNa3Ih5&{N=8bM3A1RcjXtOYLlilPYW}P>r!dE107vozN=R@=zqGca(d0$D=~vFSL|jvLg8Cp$IB@^Yq`A!^t0YC^A%0g(p6{*HG!WZ4wye27qOhkdNrtAHdnQKf z^J-OCSl%JM(h9Z7h(~a@_K9;^`LD_Hv#-!c@w2cJTAGbmH8iW`F8hA^E{B4L$2Guq z5Nt{L%Qbfy4ND_7oR{0)D$b3MB;c*O8JGWPi{JQ3l!Sx_4B020TbB=8dAN-W3rbq- z5!nsX>!V_{R}U>HeTcK9FWLUSaTMg7AT}r^QitSkA3@lcv zE4LDqA|20gTVG`@zGPR{U!bSR>OrxcgfSab?EJxd(xCqsV#+63k ze*byw)pBl0;I$ns^ij6;!LP%aKRd)KKPagnFkqC(!7)X1a!59=Jvot)n=?$9$V+s& zm1lxexO_xGlty`&Mre8n>o-n(PpSNZtcS+nC!0uXT(Eo&Zx}F2OJJ2UzFoDUgh9q5 z*uDg3`z?Qvn(yPP8!fNePAE@ts3M!3JQ#{Q?H*fc8nO-1K9aNZYE!=%(GYL>6x3o% z(rB06Ze>4aF4>%x7MfOzXkCgxE|9L#@)(&ECa8^L+9mBfb}YEHn)`r8|as3$fti$N6J|J^|o5# zmDIY0Ap*sm+1iCS2$%8~Q?rYL0iBrEflNz^ru?Y&1RZy9Qq=8j5h}@hwvnjWFtUZg z@ID?67hH|zI~hs~>NdBCjYmVL#%SXShRP_w(xT%m#G)jR9)2;kO zEojiiSckV3&3ulHjROJq7G6fTI6Wkr6C`G6OND&DF>zL$ zN2?`HG3|4!^`A8^@n8-fh^6yk*r~6&9AT#SxH8x->J#02J2!hhMk!NXN=&G>cN=Vx z(L8)nalKV;3m?YB8=zVFd4u}hJ0w@lHuPi?*sF95l)<74$&`rEW2)Gqb;)eC{2hXY z8(&nBj8Lqs-RCEo%+x2h6#ho^x6$qy)U44~{mE8gc<)q8Jft6zx3!`|(_0`qMK)!D zSU9x+Et{OTp%d0I1?v=OgZ6TM=u;@hE5%KsrVMm|$8-hdu`L&K+bu@aHR@3*_R^z0-6mX%m(dCnr=uS8B0CSF34ickbp= z!S{%#5EpdIjyKM*^OZ_El+aN^5OB1JPqJ!Y5BW;y;Wx&qBtu_f+>}*dqZnL_ZiNg3 zhkYb)MgM^oGy9OJx0!+C#!%qvg1Lh4Y@PPKBX*%wINwZUvYIKKv6H1m_06EOMi!mamEWv~!cYf|plv zjZeeu(PVdD`Rh;SAp*uelU`DrF{@w^PY>}9m~J3XLfo)dPa^#(Q4uqB$*L-=3*U!- z4|Va~=3lz{wGi2N?4wMR(ZiLF>P)~McPrg6et`mMs1^oY!(ZCz+n@I;n1Y9%U1eCJf4 z#UD2Nuu&bt2Wt%~an{!Q(w2DpbaYRM08$A_Tu*5Gb}^P({l{UdNqqo7;KF3#LQ)`* zDR+TY8L~0J$^3A0Fl>O2D zRX)W!lsYc}9gIaC@x4d`LfPYyMa#SX8p^Ws#?+pWmRuj zFl!%z$qCHk1iqmH;LdFl07if}z`-6MaBc-;0UW#nP$cl+?rrApEvgZ?(ee2ieMhCa z0le7*TzZz_)?y1eThg6@ZsVU>A_GKbx#pKLAyYTTVZ=y7m_E zO#oDT0K099cbvdrXTWUj`Fa}V^F8}I|0#3aS^d@SWY6hm3;^}qhNwS)HEtml6L49( zkQKkmn#<44f(LnP}rq=utRn*HfV3Q`JGN9*&&mdi+er$$yis5d1o4;AmEqxG>^h>h^JiSvl|}mG8T$V zn-Vq>&%5T1fqTHJnLI}}z>g~+{vMF=^R2xEVCD)yD~6F>E`jI2mX0U`tUIg1*rDlz zA8Y_Mb`HlyFG}Ko#Cz9FaW?{=cO`G`4E#&VyCR)m6iOD~4KP~l%6dks{y3UBCaouG z50IG>xljlC_SJ%x96cX}wR}Tap5k}kQr0q9LO0x)h^+3vsQE=;}v(F1SNXAZ}W z78OL+%>%}tlwOU1!`_;-w0fU^bng8`bl%Mi1Ty?s88AFq0;~nkZQ2?B=!xPTwv+xa zM5NKX{_%A;Px(@GW&z>#hxFX~-&zF1_|wJsN->NCBaxeCdO#mD_%TL@2gug9K9sjm;}0ZA z0O7*U(49}cKJTI@fc7vz{D2)D@+;upHXG*=lOt#c1BHSHga`zJ5F#R?Kq!$BC<#CW zWP}tjLR>@`5HTY)CIK87nvZ~q3D2}~qk)*@;UFRaCLsvG1P-sm#pD1r0p8>$62AdO zBfe&hCmOuTbTaOc@gC)RV{r zlS+aV;!(9e5jdIwK0^1;w#J*vXY<8^=sOt;aGDhO*fcv&&kI=*^EsI%QpN!?vc>P{ za80VzRz9ePtbZq|IW9JdXI37P^01ePfRUPZM%|Hg6?osBAL+X9mjDV1fW1;;SM2?W z$>RE_^`<6@KrFG;sTl2&u_O$&w5d$jquFjxaU@4ZwUYEG1AL3$=!HR@p1&sYUay)e z^(qa-b3I0s(j;va^5yT_#e(1&R5FWkKzBRnWVVz3h73*}w`u`@rPKS|crYvaVg>k} z&Ewx4WCX^GlAIX0@Z&sf1!CZ#>}z3$xgLZG+Me#GXarQCd@>kbN})y(m&%Wn6X9PL ze`cB!%j7BZvC4Yg9xKasdIpyV*yrh5XL<^uz;D9GONidWe3MO6L)9QOujWZ9McE8? zK1oYbF5+}KW;p%7tzvB!Y_+?>QQmcWT zvEpxlC(EJq*b5qwPs{Da^*Lo7eVJ~U!j}!U%$t`LIi9H0X_vqWeBNy?Eb*GHw1}~y zC_TQ5c4hX#NZt%*HH~_=-ZQ7l+<#-nNe&B&AG-w2o{RH1t|a0N&PkH4TDJ+%^CV)# z&6D$gic4aPqtP{1JF&_*V08_Ru$a62;GX}Q}K=AK*>t7nlbHv%bZ z6L(K(*HJ31Q<0Iy-+vF9$Jo1>SnlcjE9A$~dGTQVv-=_>-sn8Qsw>&$(L z`n*G?bFDhCI=^8IHLhlqme8-UX+na9xx2iqY;EvTK90Iy%k2-_+xU^yC68$OBiAD8 zJZMpA_P|+LkK}H4<%Ycd-}Z(#S&f!oYeAu2JM}UtH}utf?srkxbsqDpgoO78z0$=! zyIGFaOoE$Vz&++UikRViCM!xkf+wLgYQNR9V|z=(NDVdrsuFPooHhN(%CVhSyr`%f z0f~Z5t9~Bo$+c=CykQxL8U`CH-|7lStq}OXxLQP-KXY|2mghpVWOzuQdhJ$pI%bqI zmjPznh7%Hx7q3>F61DB zdIcTQ7}fTB(O{}N+z9zlIQvY*nnpGLe${YXyVxoK_XN zim!<`B4IkI$z)K8OR@xO{w1nPXj)05zk^0$Qabp(W^}`_BSp%e8+3F($HIx0`FMy#)?*QnHi5s zl1y&tb*_>^bo$>*418C*dEwq>c|yYS5>mg@BcKW_>b66ON1Ck`^JgjLIR@QCt8(96!kX@R_Rp=RhdU(ES0AZ z(RGq;vdK!3DF-{UEluXt;zM@8b=FJbn71*qcT0^DYouT4i}KVTR!m?`3AN5_BH)xS z8b2x$mWdl>Bn?j7(wL`SGVkj`bJHd?zN=S`EWehie9A{*!izH+FS5tWK4AD@$BIFb zV*3a6;&LowfhJzUfE0s4nNlAR$`)z~Riq?u8yfxEdrf0OqPdQ^-r6)jn}EVrEspl* zTb<)HR!x@{ZHytyQ)fe6usG^WZz#4+VW2x(po;vag!}L z${L>7&-df>Be*+Jpx-HfQ=01`N9=@Ax@-TK>^(V#r3`;X@nqIKHrVVR(xs;-T*(dQ zZ^hbi|0PiiAD@QM>MCOGO3_Vo zX)e)bZIK$w2*xJ<+4r6vQo>Buiaq~iBd~gE*>%=2w(ByRghB-Ftr;`saZ%HCsDdA4t>pde_oyf|ayByeQq=z4ZW`5 z!1dBU;;L$OA4`h7hw1Ms28(udL}g2yv%woY!M2$^Rwc~Xf%HbI36b5b|9;7~O18{k zY+hqrlUeFdV}LaAtZ?%yXbQA2*q3k1l_iuoGaV5@e=FQV=-D+a9y%&;dgf>rXvaiJ z8(q1k=kZ^z#-@Lxg0y+>vapt7O%0CkoiUkbNj!}H@e?aGxqAL!G?IZKlsv6D1rW{Km^QKf2WV(Hs^}H9xJgqP06U^ax4A=~k}oCKlX* z79+1 zjqLs9g-d$vzJb0uK~$5+WJN=LSn_QAi$QDCrG1H*V1e5>jwB0>Vc#75*JY4EKL$+k zlMLfnZTi0E6Rg&~F1?QQC%|fnu>{Z2SzCiU>xM z(#&I_4*O+Vgx}wH44Tk-`%Q*9cd7Zo_*lw#1d@k2WEP_$KR*0V0bIfrP}DeDc$Ks2)USast$k1Q_6-ir<$Um5^My zB;M1SN1I5!CnuB`YvM*34D&2>Z6?4#$MewA2&xDY^TU?R#4ekTnr@yL02M~bIsJj7p~q?duflw{*BwkFpt6@yVsQ{%$5 ziX4ha1>~Cp;0Pw->Aofs_#_g^C%#WgBp^ogKw{)r3tR^wHtML~@?*54Kox962|d{E zMsW}m5X^a!d3BTdeUhP>$$XUn923Z!M4Av6)pa#M-GC25nmXztUkw+f=<y- z0F(--ArI7K0%~QZYDA?PRHhm{rD{Ra^nFtGbkhtv5Woe*-bWNS%jCQ!AbK%US0>U! z8m61HQ15Z{L?p>$O!f;~jD8Y;u8tjm$jE+JA8EP8B2Xu#V z#59c{JR=;8Of0e{rfelw(Y&{~ z3e+Zwf|=GXuZ}2tnFE43Lp~T;Rx$q8EY&oGl?`|)+(8lA^3)O-)J57;wuZ50xtT7c zc~a~`ZqlFAlqaw-hIR9fA*3q%_$9=Y=$R>;k?C_c=nAbUN68RMCbb1mmV6%5heYg- zGeK1I1YK{)VP^1&Pr>mM>3syB)O=DYnDG7)FYPHks?iK5+UK>X;ByAc!EHc5nJ(5o z>2(DUieAy+Iy#3G8+(aj(V-N}2=~>p+%BODe`3l)XjZp+E>)vWcC$n@mA{{cXs7i@ z!XQ_A-;&czJe)PWg=MF5P2CP^fkvv23hl}&OUj>VXmG4m^IZJDzJ5o)14`;Npiqw#8t_1O+zhW6ONZ}r)0gou=_M#j%duT5BC?1cGYL$R zi#orHjoEmA_zB;JO3c$}&TXS$VMHMlq^6@;@-|iBBt@?vC0~>;%T$>}=S4VHMhCQH z;0ETEhr(4&lulrh5+p$=tQ0^DIS19)2$@zuh&y>Hv6i@7q)@Q5MNxUmCG_kw=V(vv z@@{-d-IHlJJwJyO(;eMm?f90xy?4S{m`>S-rIG={{gQNA8)A6GjNbXV{ zzt%U%`U(cB>lS;d<9OopCue0fzuU4f3>>MAgJo)?mhG;R6zV~-J#$q;o9H(vLRE!! z)ue%8+3%T4_%GXvUpsiCyx_v(_PeS_S7^d-Jlq)Fct7y`uC4389B-Vl~0A zeO{2Tdy!b32TF>5F+RSIA-Z3^iefVpckaFZyIYxdwhp|cB>OHGv7@4-L;XDVj&2q` zlLcOFZtVOyXfgNCTs@$^cMA&DrY*X<74};-SfcWrjtRV_JAB46KE|k8uB;cZ#*#-@a#JJXH!)5$=|TzzX6UG~vLVCCDdER01h z7RBOvG&w}YIb9Mw&Bg8^fKx?0;ZH?0RW-=#T55jQu6lS5Os0K!A13BrlcdNDRTXPY ze`j~Z80fO*d{)!05NuWaBwDW^dZFGU8O`&HIUAH+-rt}039o1Om%`C=i@`v-hcv+D zGIIi90JW2GtSK*>b0qhKG}541_)nWEi5Miskz0?NDN~vAviZvv{PJ3IJ6jYvap<9~ zPB*MpOXI7*n$WVz$2vx`u>Oh`p+0xKIyN5E%Bf68Z5va!x|vk@L@MmOnmVWGsNF`$ z<(~@lR#Ifr?8G%|XKKn#A+h0_%$Rg+)@BMP{rC%0Jc++etJXufMI;z&e13mgpbFt< zw)xHYGg*Roi2c2&$AxK8UAs$sgU==>n$o1qXy_@*RFC-N3L{c~UMn;$>Tki{bxok|(gPiA{7nP?U;}ivxYuV$c>g(V3z(-O;N5eT(OWsjWttFAv zGe&zt(@WMi))y2EY{IMTPS=;rdcBhCzpe4wO}XC9;m&l+PddhnLzvE{JIe4pHP(0g+9Gjk(-yL zK$I%d4}qX|V^Q1W%9q8Zv}}l778k9#v|?$?dQV7H_+uDYj-!bPg^fU#t9KdibFOr0O_4G%=8=aF$t!F`2(F2oEKQ7#X@YtM6DL1kJOdz z3V6u>NH&!#(GU|bpwhC0Ey+5|7_FpeAz} zGQUSPoefQ}Lbs@tD^l4SuN|a52zaZBvlSU&F~%qHyXp136pIZPXxc%DNt$(v>qt6f zmwkuBWU}UkMmVV{8FyOP)J;lA$i9OpTT!?DQn!zuUk{WqX_(dm_w5?0R2_p>3ES(p zv+>A^4`=6@O-F>jA2~`kK6N2nl<)ZKrY&guFTPYXDudgYb3`?XKJMTB;6C{{&cnL`9ejLho zegm$eZ1)~}5UWaU2AEGg_!qBaW6Q}#jcOjF2v!~{uz6Wsv@^*rScx`w>p0eq>c&(y zE+1lwZi$ANsYZw<>fe?|uoF#8eb%zaN3DxNn#L|Ef!o(bbG@*i8w~O1Xq(z#WfNm~ z>22PbHlPn(hEkLyft*b&bgE-uG5@!|i9zy_w#Ny|n7z|}$cB%+wg=C3knFAWKm-2T z90bxPZ#cTa?H)jPFkYw|Pd=6B*!Ys9up&X)!fB+Z|0cqRfTsKfbG4=Pjw;HE$=;?S zvjZpS;FIuXThDZgAVzx78WjYZ1=#vV{wm9BDrG7@=@xlEC75eD;)$BYZ1~~+>Ihpt z(Vb(cyj@&?*@kEd^A}B4a2KrDx2D^fBP>VTFsv|V!>n!0PSFEfqgJNz~)z1^N zKYoesyU)yvERW<*K;k7X40gLV*xe*|*IE!!P(VOnNH7>NBnpU(5E~EwzsZouutu48vk$(?L?5ze5EH4z^fPS?1 zOE?3v`a@9ieFhN|NI3Q46a+V3hZHm$6!XXw9ERjG_?^3D!rqofr!XZv9N_COapIS1 zP(Y}l!>8&4*-(syfd@!BQ2G6&;UulH7>&U>;+~qGhUWXsA72gKr1}httFkOA&t*Pd zKw&j%jen$KNNME+7ptTRAhcqRRZ`(4o>A$v#vHYdLhf<0!db(pDvFY{H}u{Vy1*Ann zy1QXcy1S9?PHB+tZb6i85F`bJ^?Tmu|GwY1`5kMmjkRFM4LuGv9AjQw_qfk9Y4q&^ zv4E-PWt&v2P$~$1D;5MAR5KDiPRHeVqdh?FGgz{+nOGcKLTc#+EmDPM%V>&8f`bZMycnb)gNFp ztRHE|@;FEDQ(|oMNRCJRsz%o9pY{8R;y0h&58P6X1dN5^MBWoH2BgWMF~z~8=jn#+ z(-p&lU(*vYwORMCMgXWnR2H;%DV7cxsM{av$Q!iOU&_CdK(&MGL+m3; z=eqM?rL?LuE+%V5e)3BA;lnLq41AQ?ZhyE`^HR~P@uOmKD5{(iM|F+XQt!=Q*FrTh z6_yPF6dl10sbK^}ZRr=(bcM)h!*XXf{xP@(?l5`bMKS7{9n{J0W_Db9Vpzol9gF6^ zU9snHqD8k?KKhDp7J{y=84our_1oYvGcl70tlcfFc+V^}d~prtuk|s$Bwgo6dg1C! z{Z#l|=kulc4vi@`Y0x|;M&kRXpzTTYzM0wzJ<$uqvFiPLNb{Knw+7X~ZHbsBZ#kAQ z^2H~6D@!G2%fwi|p>Zy;98G5RG(J{|UF)Ik$nT>V!RzdI+tpPu&xXXsF}!EtTJ?l7 zQ{UKS=rFNar0#raCM)N2lV{p!b5IT?j|-={GGCF;Ov~IQwYRvWnenU@0L*iiI0Ysj zQ>{72hx%ovkW-_NEqFKir9n7~7P24}W{!8^QJA^LmeJQ;EWR{0`8A{IU$fo9m{uh> zbr)UBz|M>|7#hn?%dia02Tld-CM2GaOFS$AJA;8EBq7%Fubx|&sx?ky_r^sSX@gEG zIiO@WE8M0%zhN@QZ)!1uiBVO~kvjUxM9(i)$gvJxGjFAjXe3pyV;@AuRBm9Q6NrU1 ziAz|P7!Qjh0q<(CdxA~IHIN8ku3sn_mAquVjXk~I^V=$85$mj@fmX~hKXdf^kI+b0 zrj7O;oLOSKE=KOTnZ;5qbLnpnm^w{+VSZ|VM|ixdtTjkLnhc|}$C!^vxa}h-T@0fR zjiBd0FGxpAWQ~f3r}=~!TxLKxMixaZ`_eU6GW|D*a@$*BKj;QERqS0F>K|FgNp}L{ z2YUC0b@bKMtuNRQoNvn2wWVoIYZS&JsWp=ntT!!1<}+NPX0;H_l5R>P{C0UpaNaRk zAl3)&u~=PH7)<3ObrXPp;c{9h+PtQJ;jzOw_;_h2D?;f`Rnnz~Q*At^CCJJdsldQ< zq?z=)9MWOOKEY<}EcfXXq$R$h!E8H*nJ-|dAttOSbFN)p(whY*(QwW&cAkb|EJ)6p z@k|)JYt5+@$)$*knaex%PC)4W>o;N1{B7gPLArDFp5_*;y7cO!y+M8Fo6)J)K3n(H zTYX>(*0gsjvR|1=#82rl-`Cbk zA!ul4CC<7rl5O>`p)%MKxSfykr&W$yaEw#0Gml#izzS%k2C_#aYPjRgqv6Mbh%ead ztGquEm`1HK{9+f-fF({OIUUvgeGztxe>@^n4{j2@%A4ac@NdG7r+93btbzUa0Krf94OJr=*iZ`Q~%6Bzy=a`?0q^ zO|%HO4@RsFDw5SU0WZZ8daiA-tRwpHztG^5Fw%Ir2)(&N?F>;OC%cg{c@gE}cZazK z$iR#(Gs&tQ&ZiX}aa3DcI#bJ+XpDXq4Bx{K7490I4VGRlnOc@56%YLW`YeDd#H$=r zJun)B-+m-FDnn+BimH?G0sWar5$11lXl|=DqP5j9;tMR6^1Am88!qx2^YQMD>oOLH zo|WW1q6f%UR7|#nE53WlYOfk0KJsmmEsC9|-ZM1BGyWcj+e(U}m~eHm!R|MbC=v42 zSQ?}wr)wZBnwdRbT9fDVkP5z>2-G60xMx2OW_hz%Rt%Vx+By{DE=chQ*d=x7{S8sO z^o@eYoJ~H~s>b_{xrdmqKYB!JF)ql(H+@NY^23M_{)Hq{07qqqvoLm0jmVhFbQN=H zvDBd#rDV$wZN-9%;f;P}mW9rk4fYs55295KMz9yYZNTd_JXwq^veq#rA=fi{|7Uf8 zIW2)!0{gsP`w-vKIi;)X{3$*S?7g5ld@$GW{?l{v0?|GWHp9ho)S$1bc90`lZk zzN1I;y7ykGVmoFp=c#5OcBBwZf}fuosB>_TJ z5^BY}E4$6_?NH)w|MpX8Kb`{vITNqKSrEr4p~1McGJ`YLlazwoz4q8O@oOB9E- zdJl+<4d4fLJhX^$Qi!Cbg;R0S z`@@Y(-;xyyy(or)we!FP7fw9+2+(X^a+_Tm>p?0)0l^Y&+3(U)X&T%QLYTD{sPaup zX~g^qiN3PRogpDDO9&6I{vpIPBTXC^X1v@lBYVeEyDNEggI_I4NO<+O zB#4Vm>qW$l->>4m_CYx^(UB}YP1FsNHA1SsN=bxYGPP2&T)Y#`@O!m8D-o3ur$Q&> zYY8=-L^4fciGBu~1bFKs6V42z7;nMXG>wWFB9UdxDGf=C_>8=&^eGW|RQbDl!}Ic@ z3);TOD*CSPLWso(wm!PNO){}&b}mZ8rKd+|!kaR|p}kieUs7_$Rc1fJttE8a*`Yh! z32O-xT)0=zm+`<8ND3dLJd}3V3&-GLR%z1pczd5H9)cAsm0+yp*LR?gHVoY4kfydR0FtN#ymSq{j|aqm&k5#o>@AWwQWtZON(^fx|Qu>v7gv z=G~=Y?7n0)i_-f-F2wRrZ6h4KrMWx1{@WuqFc`IUDNOo?oV!K)o(H8g+*MZt%FHWm zjKjRYtnuiKAMf&pJ0spJm@G1a6}+g4BZMNe zq{2Q%gNsz);cOpM7_gZn*UpprO@Tok!T>9Gcsq|F+iGIBBnTZ;m`c&#*L?HgHeaV8 za1oz@UrzdFfE7C!{{i=v@s~`b*e8eQ>Fin8`AHw^844D6Hp_Tv}robX9 zV88@~Oa1-*=WhQXqJV8vU>)^e3Ff~BOh9%CNH75u6d=I_*3|(6CZMnc)Jy;_3h-S5 z%cOt-6IeI}*4P0L1hDN6m?3~IRA9dqV6_8?C_sEkN=gbiF#-1_V0;2rPyr_3p;IQ!M)HK`pOlYvDWqMw|W>%4N zVn|p)MP*EJjnU__@~Wo1+7?r}(#GblsMfFG`ZBNXp@`nr#P&}q!_yg~wGE+zGs`w} z^9z>pD?hZp)r@;g{oGgHDlYZhJ2*cos$V=i-@nK@vAn+dahLgf_a5c?j+u%N_Jk}7 zX|tn}vP31@ySlzG9F*u^ec$YLIU_8EDfIjJFi~G3@vr>&*eHg%Vro#D3fhqd!K4On z_*^x~acTaG36nSJ6^R9HZjKZe4#Gf!>AaEB(eC0szRe=1is$2enxz((Gggar z$p*7AsiZMNmbKS5UozZ*H_V3Y>=^D{MWQ_Z*%WxvkJEID5Ckqz|2SXbM&_pu$Y$7pVLunG`Z zc+Np|XPOwaM@nDBc5`uSjbHFL`YdGdb5Ta-m$;ZO{c^@-TwJ=#DoyAdoM=;y+RhI4isg%-|)!kJ)nlQ%a>C_F+}Al z1MRKbUJ86kNbbqQFwXY2aPJwsXx%07`Y;$zK_E1!+o298jwHB5j- zz9fLFj1z)zPZ|5bNWxKMm~FecXeeL4&f{`%{cN$UBZR|359>2HJRxw6%iRIPAra?u zz%grKH{jA5J4?VTSw+KIso8m8gGgTagK%pWCme7fiAiKsI^qjxh5~T{3=vU&k~V=q zY@Kh0Ikze#<_UchI?2ZeEVYX;IZJ?uu`i(055>Ny!Dhv=Z^BZF@ zNCoaf5=GE))4tv6qZ1UtWngMN?028N(Clk075!Q|mV#?sswXrFgcni?M_imiUuRtS zK{k)6i-2{vcCeQLU#An91a!vV5?0qfAIIr)wB51%iyh2o+=ds)h10%(=rr*X0taS# zJ_D1^l7q$tY_mhb__HyhedT0!qK6rEdsz+n&CjAB2g_&vE~StJ;V~K}9+9<+#%Qmj zJ^gcN8)AY)(QNUGuh`+i^p^)#kIrf7X{Oyv$6ip(WXN}u=#Bk{5s^s+Y9mD9k8Kf_ zV*4Uaj=v^!;O@+m-l0hQD9M9gP{YL;?y)?`K)rXjt*nAw+9RVLr(P=$Z(^ffP`4 z^i{HHOl}w^H-{%}^a`kv5d!jw4_PZ*1Ix{V(U@yo*^Nyu&u<5JYhGsJ_&!1A;H6;E z6x0z)2@?B3%rG`cenKN0{TcNvEcx$=*(vX*R&8S_HY*syH(-duYutq*>SXEli3${> zF(kxc9&duW#u5tG{UVK!N?re90x8ubpMegY+sBqHckZ9GV1A z-J3QuX(@O&rs{v2ocD}w#W`a=ph0Ms1NmDfg*UDaea6d$cYi1TD{>-?bFqNP+>&c= zjKZSS6pUe92I01uOG-+~rdzU-KH8a6U*$`GVVts3-V#x_`8|=}4XTh=W7W*fa?5Tu ztjK3X)yyOPQij^iAV(LXX;iHVVo^C#ju&0Z*SK=zKp0Yrj#{kLUrbY?sFcq|UGn!y zt(1#Bc%OHWRI`m&^Ff781?7Py{Sd$0GL}ta%6h?DLxJ9*#@q-g`dvX*CGDqFRzs9* ztt$QCD80YZ#zacrxitGFNhb94OSNj^Rdh7#6y9ZdXxH)YotQb2ep5>LQe9qS zC-nwRf3mT$2ETjH`pQSo@)IGAT5P3Vc-6b5wKS6>v5`**O5dBNztrJU*vjWstgh;> zsMhMlMfd$<-FEomIEde;k5y$JCI>wR}2=;L|M z9ja%$a^xd8(6zzM6(q8zCq_KzM8FfCuD6{dd*97#bXlt3h3dPX)-Dw06lYEIhEj;H z_{*SELY3&Q-fn0vRHj$_rE?cVmZpaw+vxC)+>8M4PYYfSuboNtRz0P5lYW40YR&rY z`-H~6sEdZ!F>+Hrvv2*@KYnMu{ciEzO?c83kvHcL$q#TcF@xw|?sUEfy@F*}mw1{> z{@v$gsd(ZX*=MWV8?nP-qjr&K}?gcfa-QzH_o|E!os-PUsbKaJ^yQR zcm4w*x!OLm=kY8owtdTO@ApQpU)*3jT_G;&)8BI|Ay*D{ep>=F8BxJMe#Lx!VvWA>ackN*B>kAy;`;Kd zdgYlB>rQC7=&x@E{KuniqN;5e*L^9|%Ut!Fm=kj>-xiI)%jU1IucD3oQlA)(a`b(M zm(H&Lc;wMLz7CX&qk2AI>bWXtecE`>g)*Q?eyM!$_u^Ht|IQnuzeG5;ZE^u)o)#%g zp1kQkFeV=mG0xFS;Exr*2RX0#aiqWiCK$Z1->jt%Cy)PCIP|y=#tid7JoJ+ecZ8F7 z>Ocypq7AqWcWL|`l&#}5M?_ri3C%t5#f}IdE)P0KBBW);rEK$iw)Cfp@V@Z~xx916 zD98TE6kKz_uFmYwqZ{nk=b|EyeYz6#MmXTLSI~ZI@X4LKq8IE{dg!ydinf{U@gXx32B~&t_F1rbFUJ|5r@6 zC#>tQ{3oV=Sv~Po=FF}!+4i1tP+PER^*awEJGy^b$z6JU(eML9LqZjU!XiT=qGG*c z;u78cl2Yvw(lUKhvT{CTiHVi z*B>=F6gDy%T|Ch-HQhZs*SoMdu)H$-ZEfuP#-zvQ()P~k-v0XG(T|hUEvH|R=hnHW5szNZ6OmhId9>Jc>Vf{gQVNUB+XLKYUemnoz1~6L%zBwwdpd zTp4>TP_35%E_+2q@USFl=OMV+cHnVuFkV znqMn47z8LykRY$A!G6K;>b($nZt9IlPh*&#vl017Hk<lykZl83KR0?b>BaPI`;^p=}XfSEdyr z_3QBJEL8XeaJjrR^o0Xtf=Db`bfL}6LZq$#s@$v1K3fJsM^IR!R&Mv(cIRp81f}aQ z#7$6XaPzu3(uJZDK0GAAlMR;)KLLt}i$BX&=7KoO5d-m|mTH)J2LeGbs1NDd5DaG} zVAxm?NF~0a7#9)AJ|b10oEVg>1LQT^mm@{}rx*d#uMCV!N@XJHhuqdh?LaD~+Y4u> z*g4)@!$Ihn6CcXK9QwP|xu%8w9}Vkww-uFE8mfFq>W1Hn{V2%imzeBNe=Oq& z5X|gg1QfDv??nSugCp39oe}Td38Cg}-~6a<)DDW2{xP$ghvxKWD>8i};vm*cHR7Frzs?)L(^Xs;pB+$4;k;#5kZv9GEv zIB}n1OtC-yQ803e&*-H$VmnBfU^wMXi}-AgMKm^UP+O4szIgBCc2&umwGrBazDNER z;LTNUf{+plMCbmrV&DG`jg*Ip9<)!26wfDHXIs$7Lm~NkG&s-b@no0nE&XDR`G1}m zrH~#bLM=4&Fd06*rOTRC*3c@vD7La2byg2?;K!vBmy<&yotI6~qM-Y*u5chZo!-pP z_`;Q=plr*#kiE#yB($NR>f5-Gcg@fIhC)$2ns>1XUw}pKgQ7-u<6;@V0IOP#qE;2} zQk9kfo6d%!c4y;KotpsrM+zm~3Et(V6afy)4@&y$jmxdg0-TOHN`@!A-r`wtp|n{@jYQ~4wR%9%0oeH$0M-^o1)F{jbUKP#Iv^WSx}(vgNn@=slm6!w4%V9Lwm^%gT(!`;%)(Jr*{tq zshH^{HK9|^m->d?oauElH*C@r9czMGcerx|b{;659|k;#8h*aFbHQ@m5J(}S*-F(o z^+Itq@-5bB`n6~0C*Jv^r@0mV&RyRBCg~^7wGi#p`!heiR|cb)s~t$g=K;Tdf8^r# z;zHw82%36jaxHsLPvG$@R5Qus$wT)m!tiPM2=;#i-+`DQ1o8nX{4c93(BNG-y*#}9 z0eZaO&JVv_9spz08MI%09d!{eSv_00Mvaz8F=?{4b*@O3kz2cfB$cn zc>nVc|3Oo7Q~xVqkD!M@W=oodGxh6cWO!zsAn-=jiNu82c^McaTYo>d&O*GA-II!D zeEh59Z{dvn)x2Fpyx!tMkP#3-C73E`jj6E_4 zOO6~5f{><0Sch8IoCd4G$HuC88(U5qCq<8piv779gsMhK5KHjU#W0B+vsreD0KZ>Z zwb`f<<1J1yI%GIK7y<)f!_dA!jV_a=njXy{gxewfzZ;om=<$?y^=N6S`ze@j!bsW? zLHI2G4-vx1hvkGhm@#qO#PqxUY5oxMMHYsJ2=Zvz%F|$rPmB4^^a`ByAQ@un7dl2q z#Qb`+Lh+;vNH4pK!+v6{P-y;d)9TMnzA{1cnF}-$gXIN?p{tD&R8#(fRH_2oJQA=f zL{(0bwNG2vS+}ga%{Hhf{|-N_Y*z@JuuM3qt>TGlzwl z$un=0&^yd+M(P#|heWcsAe+YUzDA;p)oi;Tj1uN7pbHn@7dA_Ht-nf>sPHsOmn6%K z(wnF(DDo*qW9^QQJCqSszg+OY_8k)>)SOLB-u z)=}XC3AI$-xIJ+%IFI&^83?^tmJx1Efad`Be@8tE1IJPY`2J6NzjS{5w_E?||MO<{ z?zhV=(2oO05uh{z#|$`EzySjqcHp1_eAu3z9zc!?U}V+R)k#Q5fD;Jx=D=A6#HS7p z4nR{698{oT2dJ_DWEP;r0u{WwyE~v_zM1-S;(kL#MFmhA7lXD@P*CFH;?mR8b8>Qq zhlc^l>i-Qq?$&aYYI~-4{N!A^j~p#?JQHl{Wll+Xr++df|ES z$9`aZJI)8N0K;in~RVh(mmms8a_;mp6CO z^S3BrF9>LSVKI2)=x>CRIB9yBKD||v=0=%CO^AYqerV<8O?5j{K#Qc3h-z+DG9xKb z21^qo%X}med+u*pA{{%+6-Q%@h)s4}5if=#hu1}A>R+IRr%uTf?d|XHYdBPFKm-je zdrF-NM6^|D)q+^bvkcLW3AYmsq4=|ksFY$4 z6-5Swrn1{dO7(kaZn@7XwEdbiI>{(b5vgo_8vb$Ei%P~`3HU;X3kI--;^v3Diy185 zLCT)L{J*oy1)aXW!2^R()uq7R(liKx&kVZKP!R5_3_UVy26Zr!@F+qEE~|V&=srcp z%T@@w%W7^o)orT@>^f1m&>tO@x{!#tcGMI~P)HmT#ap?u9Ze*TV-k0i<7E;ffk;vq zTZwRCmS~UMP6-@K@7)Ap*>9oA6c1JVlan1V6_p=n- z6wEW7p5^G`5qtE?uw6Rw1+gO0vQwdZzRng zTrJQfK%`-$_qdFOaj#+X zb`iLH(>a{UtnU>rEM66bRQr4$f4{4qPOm0AsE}y8l4d+d`ZvnHRIkM9FUdB<|CRu}5R_>JO9%H~%n81;wm(#B>@q)w85b;HKOm^d9*3A$hrXA9hh4dPe^ zU)w~uT$SPEn(O3Z<(n2xaUnz7!G`v^TosPQBT$>G(vAuV?S6Sb2ky@gDLS@uV+1c2 zDs4Z{4q@pt4%1=`9z$z;S!AqHUKhV;%Bp@D5sG(ToJME8{$)h$x1CS)vnJl5`*ueN z1smk{gyQzmS%*OGBP@IHfErrDF>1_+#4D5oeN;i73Vwda2nxfsu~Ge{J2PqR3|~^vJCSz@9o4qURMy4;`GfL&pye>Ko(k_T@LS z!j3)lH4}B(>j6ZLX$RZuwe^pb)pq@GtsTF~0kN{WZa?Lkpy z-OxX6q1@O?o@aM9G8fu)*~a-OVn2zX2H-kV=OZnJ5RIPo?H#RLR)d2 zl{rawb5MF*zcy1FArzRD(y3Wn`spHmwfMmM*VQ~8oRUJfCNJN+2Fj;U{(>ScAwXa2 zAc3+TFC2WwPC^g$K(>d&mW0RE&JIFUJ*cTf#!+s(Ws7Gsibf~OKf9x&+*Q9{bv9>+ z0CLu~*KSl)077mOzE}gk0PYFTQP@DRVZBLK%CEU-7Af=&0OhC2@tb%0ti_Z zQ(bhobAjUVcQF>W=MN(K3&|a;nN1J~a}g?ZPG>g*dD$SRPXK|qx`JRoS%o(xAnVy! z?MT0}H)G)F{EU0xJX{0RzUN_6qKeJ7!n>Km&#r$s_dycx3eATD9ZDb}JHhV8us{bB z5+L3BZXGKLFNSjP9VHk7@}dUOJLS>wFSP7S|1GB1jPu&B3l7O9C(N&V*O)Fo3mZF?LY*z`#)-e+ zpahOYkt`h;0hqm@b@IqgxvqH7gVH)_(cus}eoZn;uPnqA8$_DGo2nwVhg;??i&~m! zKYZ1T{#ghM^E%0%#Oos$g`O+{VpF6ZyD2?xexDVBbDRrV2t~Z`)SETD)VUCPde(B` zhpn10+WR7W^KeCCNWNp;Ap_#fArx1t5CC~Gk_a44)AT1tkRnrT9cK!zdh=(MKhlEk zN#^-lrogW;29r`xAbwqNTFH&#` zD!^db15WAn1GLO^R60F!gL7cE7u}z-V@I#~^ryl6$d&@0in17$r#a_UI}{}OVh)7v z-T|k~^xCtMl1Z2d#LcEU;QYmr(9LWsWhkdkxjOLQ7YP&rL!^Dz4WH0Uf+8 zA&?J7ua|&xDEJ0)yKTb2mazPoHlvw!+g#_1$og(#Z9#Th1A^OYPSOkgHr>*a(OqqC zZCkbckOu3M-*fbTTs9qBhU8a4UD78E_j&W%39KY!!jv|6QCd4{7=Wi2iy$=hO+AHQ=Y@=*slZA>oE;oI)IFJkNb4jzrDdyOfRY z0rfFUfDb1&5l4u=xq9S?qLIj*_anR8bUfmB|bASS7u4#~U^S>g=H$>@7 zni862c#yt!3KB=(ChgQ2Ols4#>zw#W__#WP>eawv=BJPOBGt#=avAPi{ej*2ZV>gp zAw`FMcOLhTyX-AOQeqbf-tEtX5hh>82)PA3d&XGV@A+^DwE?2E_qbE73#?A8gMGzx zLP6WbPdvt=idO+Nxyc#2C1x%{b~El#ijdoCxX&rH)*TnuoH>KO#W~b6_{iW^fZ}IG z%j82CJJD~WOqVwAl5;qiV zIC-Qyk+s}Vf0M@W^5GbPxpQ8X(5*_7{nW-_eNBtArP?>#PM0}*ZmP$*dy+pU$e+mr>uQ90>+Ue_Wnlbfv4&v)GJB?i{D5lvOs7^Yy091^JgE8fD^k<&2a($EE*#8ST7Rpps%Q66 znI8^;w(GkDE7IehaRM?$DvCYD zulK`S3nzZ9KF0!YB*yAEFRHOVA8ETkl<=HfROoDsugi)uPWD{Y)RnD(p-}i9%v+P> zr~OZFcsF!vPhPC}{FZR79%p~PK4>%Zzi7E_4>aoWNI>fRC6g}PyBB~m8c22qk{1~G zHtA8(DSoB>^Jz!?=T%7Z{f-~ftK+SJ)1{`|`Pu`4NglGtp&4LDlk4$JjRPfvEb!Xv z?*5YFr{~vbii=93=Zimv)?G}2*Wixk9|UTy!=9qUpIZm7-}*a_)4kkNAo(m>20R>) zi9ZBUy}5Cnj8oEle&BfLe)R3<-=BdW2ex!jey{kbl=|gei5xNEc9(waKJYy+^S&U2 zrf@^A?({L718oI~yAi?Yz5cWZ{=>4CxWXv-5ucL6p+zGW%>_0`7CvV}9v5Zi_{ctR zCV{Kz&{gA?K=M^6)nOn_gjI`>-<1>AJ(1N&S&;2=(9=pFR)!A_aY(LQa2G7#F5JQQ zAV_&Nq?sv5ebmRpk_gete{IAsI)^cZR>?z1wnGh|7J@ ztWX56FjS))mSGi49N{H)AMu(vl8zaLq1^aNA{52NYuOVz;vQ8F7@jSStB6q;3V6?#2g&Nq^v|Jc}2I~2j?z_=ITVQBfB<6gm{<5 zVIs%%>BQQU+qzsv?|DT!SVhIHI#xuuJ|TNQXAssCyWM$3BU*_$;Y^GkksDMZK(sL%8jGOHB`Muox}j zI+0P(F4CMx(p^N--AK}nZspJ-BR@sL=#Su-J<^bRKU#aoApMD))=rOz%s?%L3)Ff^ zm0(HuG-iQL4HD)C<2q$#WM%?L0X%iP2V%268Fk?8%^Pg^HE572a{^XmTv3_c7a4<$ zo2*8X?1nLI{VT$^Ua3_gNgsrKu=5RiNj~?t>p?xTvl`MX#&LF#nv*3<5Nn%zivIHae5^&?+jAf0n5t7}`HJjuj$Cm6j`3j^bLqR;acntz0-RUtW2svP{f#@@>j=ai>Ly8wsOjKW(<)^jq%)N zn;IR~T1{sHW70g7=&G?DJ?<)e>h;ottUA8zAl)^AKXmHIqW} zausW%@0&Ozt0>2FAi%_Nywz{K9$Xo|blhS;ky{p7~gjI>-NT4pEkzzF9M0d%9WK(C(VV&JXl4YHf)ViJ{9|xP^U-M!upOeg^moH zoV;j(sgo{^j`q3nf_^2uZzCNK*6m+y+sCuph})|>D;u#pBNkqcqGa19EB#ik$WD>qy#4j2qsKn3ioU9M{h#z-n&M6x*B?1V$q zanYG7IzMw%_i*@<@+y-ik=Cm{CJ)(G|1vE`nr!2nNLFAcD@E%&A}M;ko+nw&2(hVO zi|BJ@8)kVLs;LZ;9d8JYE*r4PmfMM8w(FxX4AJq!VecCF`PeIn=9=}uZE-T(+?i*Y z<>y&V&VHJ+dE9p>+G=IT;NMmL{;94gYaqbqOX}okBKuf8IzwdCzDvz=_z&Fq6NHH|Z3V-zDx+ITPJ-1Z9&QSEx;Ez?~?L0#o(Pi!kn zEoR@#Z*Aw+nEO|M_c@4Hyz4H>#a=Z=pYuVPi8bhQvge`vz7p!UJQTHBnYeHWC||Ry zzLBilpOy-WwdclixnivQPOd1Ee8&i#o7~Ddy2U~9> zM$L<5H^{Jmz1YCmi|w}O$iqM#c&5mgyHcMy$JlZyK_W@W2(bu&0szOFM2AGVhQU3YlP5Yn1|xqC&dvn3?|sWHqU&Zrepu7 zs{5y-{LlOX5PJTP>QC=RbP_FE2pD2+S#fP7rwa4-6xKX$3Hq0H%h(00QVG-T%wr z325*D^&L=90wp6bcLYRtK=TL;BLV3hurmM{?*I+nzs5VD2?cyqfbBm z&wqZB{|8^dk^t06{=deGNyt|JSrX8%TRnA|IAd(utoKrm^O-p`2VNf~FI=?Es?@FL z{C@f~{VVeBh*geG2#8BgO!Z8TOUrV|h|SJ3&xyz{HYp4*sn98d zRn}@&L+hH<8ho1DTD;quJ6yV&dYpUf`ke-Ahpk5|$E_wSrhR9N=ZzMZmJL_)*Veyh z{|MU5+P2wE+gCh1I*vR|JpXkO^IP^h;r8x6>Otn|?-K@CSAJ6>C>VWOl39UfAPkY} z_8qYVEmagDm&l|p5}lkV<(n2178i`MBuBwQ^b(i7yfjXgzL*Mg#;Ny$j@lv>3#cJy7P6$OD2&9IrvGvZ%?exZGo72ucbCx)!=z(#gH#ORz895lZ?!*}~V z+{Z7E*S&exO3{QVMv2!P_>^9X$3mu>_3d8yDe$5o zC<57X>qe|H{$WTMY2_GW@|ld#VYUVB@m3_<@70|=-NM*{M&e(PHkwK{VtKrAhL&tw-hek@7h88l#!VFkO8K zCfItY!Ztawd_6eK{yA!-(3X+a?#rsE2tvvTE_4r8<6`^~ge)xa0uM3Lmt)GwJ%`)= zQsQ7>)A~aeyjODbjRcB6y12uH*no( zk)m=05@2Pav+D(QIgXn}tydIi?-a4}ZBXQ)!G z_s^7Q)ArYKZ+iY5x?y48PyH5FeK>aX{4sVAe83@k(%c#Mf^u3hq560Zm{VF5tu1?A z9d%p&_FZnmdgF7MOa8O%d>qg5VSD-`rQh{@Uas?L23oxT?qs}%_~C3Im-l^n%*@}L z{k%8+d&dVq{2$M4<6C}QQ^f_aU3M1vJV&hOu|Jf>y?}u?3g~Maqe5TdXfOP8>GDOS z4kW%ZI1%CEhlAPLTG5_qgMX}2Bkk??nLyRaXvw#JQr~yr=?4d~($kE0cVNJDs%jrsKy2*YImY~MorPh{~)LzOQo>V z?}@?d$Ug1iBtI<_V~AKw>td>>i5Hg;+E++uHzxY0X_?RYd5@g`ZAk7Kq~?q)pLoZ3 z6+EG3%BT598BZ23dV#!vJ6(G6HR(c9a@9U&9m%+zi&HiQ?E#Bi@fWzZtDK9NGO+`N z8J{&i1bpG$D^LOy2fY^r!YG$OQk)GUz0OB2k$7EErfRU+2S+In*bZjlqkcCP5_gx& za*V%=L6j(@$|;wBORA9&#IHh{iDm1v^|`0{n(KuNLs=P#Z=rwjnp;RkS(T`1Vfgx* z=S@l6a3${I82%Stxo%|*zNW<~e!x}yS6S;V-_o4c7k(Xa6>ZI?r6sp70&ly=b@WJ= zt78O+EjeWMlN**TngvK5IffMH^p{r_1q3~FRE%t!R@SctgaS8IjD7i5f8q-Yhf}DU zMmMeQ@C%B>e^C9D&G+p3eT}7d?NCnblB)N| zE=wIoL!7z>z6L)V-*lTHmk1Yre{FRjJ4?MjGTa{tPIVCBmivN2xlI`CbW!P+`=f@q%>+($G2bo^ zBq8va%h>7Rnk^4z$?#adKh+})ULGn8<*_!m(3mNiX@0#<0&vABfkT0-5r2gM8BLJ5!FzW;?xpOv zPc(D9e2n5uIW$~E5cLNdI1NO^1ULDHE;vF;P`e!Y|Ha)~1;za@``R;uyE`Pfdjty! z7Mz3t37$Z3CxqZKxVsMS?hsrCXK)Da5?lfVw>iK6T6^zzRlRqoPSvS8bI)Ayt?B;s z(@&%0J;m!Pr$8sdB1LJELLrhPMK8=S$d}F6>qx>k7%xYmmL@|XlOjYRAw#EH&;?~* z=%M3+aAK1|!!q*X1H?z8lr~|93J0vVJyqhK+&!FHgXAQ3&FC@vEY?GyZ@rV(T!s=p z3UQRA{0twkrDVCR_&3!43cw*@hWu#eZ07Q{NIZ0=URv@9RzD?zXZ$*OV>?Z5=uK~3 zMa~C?)8uUMU9#3Bi%lj-`Qa?6eqxz48C4U~>JYUQd~;uHdP$SfL__8>>}QGPw2EFR zI8T%tiQBq@Nw^;G%&U$1!4ZVX%1t#}L&?vqR`hO8TE{+N(vpLk9pfOmDy2^tp^k;1 z3e8g42hn=#@pAQ5ULNQr#axT)-SJnk#=@262rKE&x;L-3JHo`?prl`)Z+1t>ci84P zJ01JAqF}rizjHa$?6H$ul@Y%?-=6K@+wgiFe|wp}Hdbl;#{2g4VfHf=!n*#&2Slrt zABK{-s5jUz2gVdfddtSQEA$M>|36s(U@**26jG?QPKMDaq-Hr5z(*|hgj#pkgUucBWcgn!Xiz-FA3$YMnuWQwZ)|wp^e#1 zHu^Pn9k6u2iXPdr0yrY3KRvg3EVHzIaLTcMwl{v*`PcM{ZvA5H=yhOPBA%K+g9p?|zlwz5Jmyuj}tL zn0{Ae-Ck^`@NRiXDEbQwx_HZ?cTJ$1@#C3;IA*;-`GB-I-IInn2i1Bffj6={u$k@B zTy-XHPs=*7=^)M88Pt|b4KSE4^?$5VyXS>e(MJM}p?RQ*4ksjqoTQN~W4QH*Q z@_WCE&ja!4+?_a<%GEC(>99`$Kp}~sQU6|f{s66sFY-lu=FRSDF<;b|`{ak!t=Uz2 zkf~fIlq1IU3mxW5tw~?pOXoE|LTthH0QS9448oMna>(^Sdwb0UQ|1~{ieLxFqKzPS zR?T$(@H)yID+ZCGtZ=Qoz>&~?QenD4E=W+WxMaz$(RX}uS7rzP(1tvFK62O1=#R{> z-*GKq3zKk-65{-XlOI@b<9e|OJLA7DFtAud`2Du5jd_D;Yz+&VwtQ@IVB1pP1RHip zJwsobrP|ey?;1jwLsJ92S2%XE^d6~tQ#x1%bMhi}G|eqwpBszKg1Rn?O|naj_wpkW zsns)zj^{bta$gpdNPMriWXty&aaAn~Xe&`Kzd0GCsOZ?|^oO}Miyj2`uaOt$c@SHb z)OJdh7F5z}H%C-`H(X5rX{3mwpZ?XYl&QgzM+`aRy~fL25&7H6!q)8wa&l~UswVQs zVmI*TAEO7;{0ddD+=ZRv1^yvv?%>LhT^D}sTk|gLD2&riBeHPPJ~w?m0WsXgn{S>o zkscF0M-Coe2Z`9op?wmtR;FR$V%j*0=N-niJYm=|wF-jI;&#U9j+6!KB*kQ&zg1XW zKb&NHVS_$}rJ#>J&Hqzx2Bw8H`bnwJcJZTKn%X9=UuTT;rMRh*e|-~Ot`vL;K77=( z9LSRjLgo4**+BdKdvrKD))F2B^iBdKX@{T zS^_dmks$>ULiHBH!Q%&XZ?$2n59kpt;~uzn#;T3jcp9r9&~V|3+ zE=2sK`DXqIrS^LlTDF8R3-2hF{QcVYI9q2I5!CgA{3=k&6jKK5Z`)%85zOM< zUbYK=)&m7;RCRA$*hdt_No^gH%PoSlP$@wY7sPNdTN(lON^a^sb+k_lSS|h|v&6lJ zc`vFKeHgWT>VxS(0|PV2fu$;qW!k0Xx5Zg#nupQG^8sHK&T4lB<2#>M3ti?~e>qGQFP|fxUzuh<^MlOnR zF;P`3pcfSwybd5_k55MS^rSBj27!Y&MjcT2CI3pCD7%R=fGDiNEEE_}))gX@ogsD< z8VNs(g@{y$_+C4$2y`FMH-C(AS;|nc|MyP`pN2GAu&%oBoX>MUAg3c{u` z-~t&$gGfPZ-#!EzLEOfJQN!u6@$BitX$gHW<>BBUac)XdE*}v6C4Tr(_kywF{GiTE zO!k> z5tZKOy4d}kiAkbf*h3axI3v{?BQzG8y&}OY-7~PE62R=(;JKW+6(;jf)t;vYs z-WK>HGB*BDn=w*maEco`_%yOMhpf$nc-Hl&$7_cywuqhAx+%TT(eunZJ@d7CS8y2q zMJjSfZ$nP~ zGJ^Msui~wW;>0(~NDj)GfOKIKS_lXeu9e*thKKF^{K|9y7PuyB}Ah4PE6Cw(LR!%hfi| z0M*;BACulXrP+mJ;gQ|nEDW_!2kvqk@zW19OB<;2E`1X!)*iKY>jO_*5P0?uVWl2h zv>hV#UygJ*q&e%CKV1%YtC*#3-tP+kdG59MoZV%NcId^M#?hE}7m?k~FOQvOQpCBD z=dmPhQ)-3HbNcuhJI3PmR*BcYazFnmj`H04)R2@yMs_AMeY^ME?5=V7@iL)<_CV(; zsf$AUWoYiJEzkF_vWFrWnseJavEg^K1O#7tbu)I3Ma29}j(>FLru|7Oe7Q}Nc_HH} zd}cMEy?Y=!TC1Hv2xb4l|uKOrc3>f7h1C2x2tcD4cf@G zw?-X1KV~(}<~6;RoIQSaY2yexqBOb@G}`ZAxR4aFxA%MDC3~|J*`LmOl3aW0Yr1c2 z`|=HZdnM=gOU~Ju4ay@A6_IzE2=XOl1Nl*Sp(go!uJ`Go@R8khdF|pe)bB64?LRi_ zW5i(eRLhyc-0$rURC>UYO^a1c*o1t*SBTx;XxHtn7Dc}xX8x7!V1qvsyNAu3T{4@1 zBjdYwejX6H044JP*1&+C!T?dCpcD!{@Bq|G-q+RKf{2oe5Ch%OIVAMV5AGZ^LJ?9* z?nmQ8@hB9kBjkQX;UB#l68kAomoi8^I7GfEgmNHct}wK>&~O~=Kz|jm5fqAaF%KIL zGVQIB=b>A!nX3{(b!EfwDU2j#a~6nqg`@-gaVOi6$%$W zn8Y5;iHPNzkLACKrQnYP`3t`c5fXNd6NSaSYKjwsDK!7E=Yyk&Lb2*4eat8$6>n_W z<5jezex_^ zNbtvEG<6QqZ;DrdeN5h#P3{5VH&^?%f0vjThwWU8bC?sXTnX^foA$}mSea~fX7ly!M2vi8ScTF)X zf))Exoogk`YKORTq~5AgOfg~=3I;{*g;%qIAz3NYs@&BdlX{yHdT)}y@LL@!;OS~{ zc@HE`i2z^aJ<&ve)0DZ$kvxW#xBCfu)kUGpO@o zCTBD6WmR2A6H!0Sqe=~(PsbEZzJifRbq09L``EZ2ar-baG0l84&>6h(M;c@u2AKgisT$*rza{O)Zehc+;QH zUJ`t3QGgC9^cBqvoE~H{wCb{|+{qiX|Rfw{% zOysESoF)!ej^a7HPY;em^X-vp93G;0%@w z;w+bpAwJnF{VNyBA6mW^QYd(ulY}U^*U3M=#d$`QFv6L6##zxhn1sSmB*mFq;96#_ zU7vAVLPd{MNt z6ate}%6o9FOwp-put-NqO<7vNA`#1ds#A~TD5+ujRi`ynrnpyYCRA6}S!$<{rg>0J zsRWC4t3@j!fHOJv`Sp2EH4)h0P|;GXoOT~ZHI0XnP771Mxw4;x};c3-dQ!9d#O-L%dU1~@?^6Fb))t{QnwOM zYZ!KVN`6LjtAJAB!dYASx=WmHiL6!qD0TbjB4z(gdqWtk-LfqrHjBNa)fLg9kP7t_ zORB$XmTzf8axrt~R@J*TALkRFVcL3O ztJ*c}Qm3#k8nqr$>NaufB#UM)3Zt@1(Z&Pz_Cn6QX2qXR6!YKcRaWXSzNf`4ZSGhU zD#d%voQ)S1-gl5N6#Ou=iZBtgphodwK6A)>2IdcGIWu z5`3%vV%)BHc4=u(Pp1Q!-UL%-vcL9XbR*$odHzsa`~2ic>rvu1K){ z>1y5ZES-1luz7#5_d9OZZ0nP7z1}pv>dmmxDqLRbrNM`kz9O8#cvxO2_fOoiBI{n&o^e>hNDaxCwbi2OVQ06Ojh7P3OdQ6hHOx!Z| zit5auijOkkF|ZyEn(B9O(#=Bc1zqUI67=egJ$p2ide*3$_seFlEr01KcST^s#g6#C zA7w^8%!Y}NVGd7{4W@6mRIKYv`0!+*TBZmqcAULRR4Y&Ix}TWDnTw>$P3Pgq8JSVh z`vr4PPdsW+NzV&c?#pONXrm*OLRs<@AD*P0$#q>AXsbu)*9eLR1s_q$@#Ig4FO6z1 z2@1|t)3xsnkDJnzE_*%&kM#UjYPU(BnLk}PQ*M}gHN3yLLX9S=NG}1@zHIs_xFw!Of zxm#y-UsDfFBYchVpZkaZgxvp~1pa%q2#Di==q)0fg(oz9O)T2t@4a>gvGMUqM0P?c29N zJm~N5@8RJA#CO1IVqsz7*47pf%mYc|uIK-OxE)9WB@O;Pzjx3^75=y6?_Wvaz@b}* zLb(fI56Rc7aw~t;vTFZ5MWwL+&-MNH&wsoxpgtxZUI8|~!66#{fe|X9(b3_NkuizE zaq)pkX>PC-uk@U6nOQ$_i_G#1tcxp*O3N%O>$IwCyni;UH#F+Ez*XDYl{)*ndkp*F z0|>dH;nD2z=8;L6sp;9m`MR0K<&{OJ^@`Qmt?kY7y`r7TqvHds)7(F!7dcmmoAkS$ z2jPdmWG9mndT2a!@d^BsQlIcxMpDTHfDoLF=N)Ps(XT!|Ius^VrE> zgI{<~)AC5wx0P65{24BbCm9_@%8GlgaFb7sjH$f+h$kNJIId=*f}rIgo!lvE$J6;z@aF zHs$$o(~&OqN_)OJr0enMj>~?@)$dvPvU}s{hHlg%YeZ{>L(y=ESQP$4$@%ttrrp)b z!=CfedQ+6p7q30n(>+9`^Qzab`^D+}Si=|Ow&%^wL_?%3;Cy_5l6D!7-Tjn4yA!1>U%;72`Wc$v|*^44LLl-)q@fZmGC404xyBy z2ZwUK?#%gAhZYS64;lnVkf@9YLPHZ%mp4$@5Yh*5x}f(YTz7;S1oNGzB#S`y75)ckks)13T`XR{1o zG<3Wr*8(s}vbi~onjJ0)^Jr@_!6GDtcM_6PjzdvMD67~2*@t~s3Z8j%VYWXpKNJ&( zPy`iBO-KkqH+aHn5@!I${*Q*@#-x7Qw6)9AN=Q_kh}dmR?>-uG;oG7aoItq2ijeJ3<#Q43FgzK{5woCt0yqZJJWJl z_J9tBj(?$O`wAk5H*ycEkRUjxi0c$DdNk!c_`?3^SkG73C+rzb%D|ic%+hFCaW132 z`QWm~C`i+Yp^}8Fx%_f9{Avce?I8j)#IE>?VUR)(0Y8z~t^b)%JuZpjwbNuCgnOu6 zg=Q=ZM@m*ntEy0J1*?V3Y^7+1_^c{aD#0Pb?Q;@o5n@DOl&}IDI0WUDBr8#N=m19` zD=(o>eDj-X5LWxDHFvAq`yDZbQ`9eLG8c{S(WH-%Cix^Bq*=(v`>Q`lB-*$iXwI3k zb7~k1!Y%&H}LtONx_1q3%_y5A4F7sF?KNC#dTf((+wI4pqLcjr58+ zYwakIHGlr_Y+R9|AQS^t0qVRiT;~C4oE7_*)!!Hhf+(e*R#ZVHm*|O-f~8)~odi=o z&mxA&%P>v)2Z*FW$db(8X3(DsNiA&?vMtH}rj2V%b3IwKwm?e34VH3>zn zEJhA{>0*{@$n@;Alh^-^KC-fC(OJACZ#Wn~vT>!+T_vYz z+$21<3rW@8d`Z!?W^ZespQ^VnOVPYrW$RRpLvZAj)N*}d>(V(yaGIFZ3KBrtxlJe$ zUeqVGVScmoSXX*;+cnls8Dr-O6VtzcLQFiqQWwtk zarJ!*`*Htu+)1nMDZWy$tA`FA#eAL;0sFXY_N-xHJVe&fhs@L9)6<3NhQNz5lQz@O4fC^h=uT+?;$~lG=jWVdoiY;I z%=G#f=3Aa96aJfP{2!}Y$bU^p|6LaWMbU}F9Z(cSM@OI8A%Te}PzwR|4^ZBOgoFU- z0e~t3r4djj0TmQ56@|m$zzh^9hX8j2z!UB4Gz=AnQS1<~^yn46i>FsOf;}>Wg5EQB(5*GO>A}aQM zOkCpEBv^Dxnt6Jraza*OPHt>|L1a;JXlYqsMWt_bjaS`Iw}wWi<`!ssdK=uXtJ}X1 z);nN2I21e@H!}WZ@>lpw$z0g>c^VV&{H24If&rUn z{?bok%^@8=lU|P(aUVxCgjBX@f0Ag7A>Y68JGy&8`cCzo+zS?!PgCaVU*FGjw>?kL zm@?8F(}+m?Xr*cTWyo5b>{45s-{@)nh*P4DZi8KAZ^E-ATYYY;hUMOtS>06?@8aJ! zWLoxy4nZ6&pIRFcYtm7M0zX2TC90#ycSGp-p~2uGFuHKnFxw|N6qHGM9Qte@LacNi zE_n&JFbgGIH9vIK)Qo6>7OubRbP|%_wSkLMR{Z9x_y{y?`vP&e6ebAU>wEBPD0mmY z*pMK2dWo10>85%uKHjAs;ZC_rX+-hJy}0T_nM{dM5_oTP`j! zE!A7Eo}%;p1ua9KnS(^sO-pyh2S3G@HNmktjRx!!-QYlt5#kz5dqe2`B zwyeQ>(JyO66krB@=&avC&n1?MvqZ9JB5qGv>FlaRM82Rp#nxM=H+UtNdPkiI=T-i= zl*=my;LM!ZE0z+2&vfc&HmYHmSBPw7;CMCd#-Z3Y?rCIa zG&5Lh+6rw{jL{(*9kOOeFOHCJBb$#(H@$BEv|y~>o#deK-R&U!-@Q6)%{;o@_I3Px zep-Hj-*!4_HRgKWDV*tXI#l~^@O&_d*W+@GfVky$F7uD)#TpaKY7RnNQg@7`DU z-Y%;bmqP7*(|peNIBVdTpf@PDQBGLrexL)g4)d({KelwAavWcYUhzbGqTR2ccv477 zD%<0uT4!NC)9O^Wk9NbRWk3;|dqZ9j9Vk$@j$~}aIQVd4&Bwe9a@Oj4b4?f^qmhmE zhW*Wx{q^8zt0y3q0U4Zk)j=O$^`bQtN@J2w5UAGCe)LW5U~u~oB0HR;Q@<-o1+oKy2dBcRH8%A>HHTBn3;^EOs)bw5;G|F+#=U>-WUP zb5r5W8x`Hezp<14gTj?fqt;GwX-B9#V)G*JokMFg&RPp!uZIB3kH0b>WOhWjVDE}? z9b?gY6(z9T#`~D-@bL79rQ6Ql`+SPerg&>EL-OoHmGM+IjkvO0FY#no_!KwJ^sXF> z&LlkTIqoyQw@OM#V)e#6(mbxMUFAD9b-r^AULg~UcW;}2wcStgN>1;os_0C$(7wQV zzcr+WLh>KlFkz4vpbh&UKhZxwg8xrw!_tP#zcH5U1cZIfG9=YY7_Ynzp2sB`AJd}2 zB#pH(O%oTY|1;M5Y_082rZ?2p=^tg79bgQD*h$fT25C#_fdFHeED;C|Li`T2rJj)4kx51Bq0!=}%aTFJ zNa4zF(^abyKtz$apdPKakQfkQOq|=XRD{lTz7vFeeadf5Sn!)nMvKZixr_tK79NrR zds5+zJT$1Eckde6p2P$uN(2RGBJmn%staoOQW8sIE8`g}F~4XTyMa#!2!2h8Wx@8V z1<7_!xu9O$n+8pK%ZtuUuIkr^)psqiK936O&q7NxXCjsw@(qz!>eW-^4DW+{Fd;+G z2780NAFp?BoCCa6PT1BcQJ+j?cwl(NWYM9&6sCs~ziZU@CsRDlBEK@B%2@ew^xIuZ`bg2U zx!f2Tbc>Z}6+x=}a1{tWON_!NSC(k)cO1WCo;!tXMd_*SZN(XMv75raSXyi++hiaz zf|X*m3!@boEebPSnyJ{*-fvTFXZT%m6nf%9MA_m)8G&2UEIMqyi9H{Gz;oG4C_yNh zMDrFz{~64Q01xl~Nio>ljc3sYIx(tnCif%G!ro5fMoN4_J-$m}`l3~Zswx5W#xNXN zYF<2CbXjSckFsi30aE@xf$yww-UsQat6@c`d;hl`OdZb~g;yPrgXNm56MGXR0CF%d zkau+{AP4hydygsgj~vWby%Ugwd69Z^Yy2Yz8z)IE$EUX`0Nh|12DSLM_^G8%fEf&x zwA}_!gP}zENBGM+bXH z@0Mi}mkkvRwk`@OnvsPxLh2X|)@Li+zy$9s1@=*h;uUFLzW9p6$qXWT{CHtjkR(y7 zDs>h%J-OzKZ59WiXFr*3Z}1vu0*?0VGeZc6jp+=)yaZ# z*)&3N=+7hiwuk*~4KLA}YN;lq=#f<*C_d{nNx^P?AT#rHlg!Uy_h1JF`TAb`4vn(k z`%&d96pAUx0QZH&tAe0ZD&GuzNy$6cd6VE>;&t|K4!Q+z_5g%+v@Wbm81U{>#SI07zq_f2h>{RcYPhWaMM|NUfx zaj4`cER#qHwc@Qr9N!|Q*e@kSTglpq^Sudtz~*R*p5Wf^RHZ6c;}pjkDz-%1?P9ZJ zHT=24Oog<0mMDKt!=3nG)=>X!2hkFCzpqag^6~b`?9hv z-PlU<)u?xi^H@3e3zEKCW|x}RaF&*Y&scJS3S=p{vTG|u%Q8D>c1z29FGbBtq1$fO z86#fJ)`g8aw}%zD?VN`{i)BlXDy1}VxEjZ?RXa$A`z?uc2*Y)}5<9Z6kY!=KwPg1pOyxhbOxS>+9>l;T|CI2YOnd z%LV#aAk)vu$#Hge1{|S)_7iAp0c;m&S%IJ*5D)^3NVJYC4^o-1`>>R(;{DMLdq@=X0yrS}7 zim;#c4ULfEyu!Bj_}tE}?w-(QPzR!@Ww?LTcWh+**W~oX?9|-M{LwUU>z3wpH=@ zne>yS#=5V+ir$w74l0)$P3*oJI##|j)$Fq}G-}p$ciLKEoGzIz$6DOqERJLP!n^Ba zyOGd*lYxKVa6UWk^R~b?z2#2@MAWnc)kW;@-@#wGZ&>edu8*hN`umS)@7!-r{%%s( zFW$KL?xQtkKv8RE^}f^1C#5@{z9?GNMLFMD@m2n~OYcQlqnT-ieA}S!LyynSsBt9l z=}XXpe$j?sLINdqXqwjbdMH&5Wp)UL1LmguSop3{FrsND!&|IIb~A=skx363LL%j? z7Nx+b&1BmcP?#0>%;E25qQsMW9P{%R3VN=piWUW4QeQtA!`{p8nMRC3U2(&~=CydK zdfW5)u^5nO`gCLJn{C+Ag^*qhH&KbX9&h`UVWQx>CU(6GeUXCjXRwCCj5Jy73>T}F z=X*stUh{?d%~TXcd4BcO+u7{sC6QUGIIPQ}sShm8lpzacS-qbZ>8j3s6nRopUR&|{ATAXOe=ZNQW+yiz26_|XIP&_>EDRi z7Qej0H5}cnE<69F{uoX+!t=i5=z}zliowLmzU67fG&7IW^NNsrEd+rk-o;m<(4lV& zJ*GSjh01)5zviqulz&fXs+8APvV4x1S@PE$_&M+OF_n1bYtqBBrf0|qW^>zvwB62t zv2@;zAI19un{DknLWy7Gj;nujpRtMVSo`RUF2StQEpqjR?oW=2+%as2uf%`c{>f^= z=JovVW$NrJBujKH?OIr<@ z4i9@%g*4)4yw@ERffJJI-&Q6vf_q3G2Wa%-sPR3MyBAKz{Y}nONht=XUr>*Gfvt_m zuM$WuS>ApQ70XSv#l$my_lA<7(qv61HPru&Tf3d#00vHbD*>HU#RS`9+3&@E> z0>l8Oif*O_ftj*oFxU-01d~rDq=VrYyqrB2#?S3kH*(}q#vxS9q+m>Qa~yty$yY0r z8GgBa;NJq{j-WL_+-m+jr3TzaIxXR6UnE7x2`W~TD$zoIG?%J&n-1D=EWyTOQ>7?| zQekcYf;TXPmk`Br%7BhVfnwi6A*gT&8gspd5gIW>m>v_=Q3A{t+-XdO4aK21Kw|`s zPq3GUf#^Y~Y*jqZHK5P}h(s-|N>rhvk2)D@RxP$L7+n+!YF==vXC7dO5UbAO1cOkp zvpUgjIsH(g;Xj!T*uT2FHT`xqtt%csq?eLd3|}B9EC%`LD=BH;VoOvx7t5x<^6f$q zsLK{^D={Uy{RoPB4#IX}H=+v#r7pZI{Lu?Xs(QPO5k{i5b+ql$@0Wt=@TJ;+mjB^> z?uLsx1vrNN257=~U<`b? z9)!tYSS#Jfm~0%3UMT|qaRHYbq51ty5UtxKL$)NuKr=}~v`5KD7L&9JeBqVLz&vrr zOXsIe$*whw+3qOadp};@M_>5#;dvAh(jCe<*3>l+GhwbDyAM*;C7k=%?*#MsD)~I2 zX;T7(1*%#mfk*uey|i#e=P!>c0hOW@2tfJ7E&ZPupkmb@GD9N_u=<-a%}eo0{+1;o z(AUs3GHf}S@4!U-n&{1q&>*2IogbxQF|EA37`S4Ko;YIJ=>2679eZDblj&br4&U^cp-olCmG|XXz(hVuTB`odi{_UUgOx?jX7}P-GaL7fab#NDSE{=QLg?E=4X6MX#EPC|h_q zb{T6~3HZG4{Mx-3IMW`9I);g)fOGpsB;Ku1jJdSEkDFNjj)jjaaWkm~N+h5l+EnZ!oK~FTNG{M+}P*8nG+p%-h-J&{R6u%Nb z_I`iAM1j0+!+1RPt^%b=is@hxLJ4S9q5HbX+qtp!%Z84JFYO2xB1$-_%lpT(ROJ2c z`!`_vD(LGQl3S{**H=65k++&}a=OyZP_0$L7k5Y`sL1`$nTF>ho&yAQX6B9E2t_0O z{*WMRN#wOj0VUP)Y3=tqPWoaH?}oJoB8Efh<$*IoG>t@F4`x2>@;)f+m{bOD)g@)_ z*L@g-{T8mCH!%2cBqRNh4Zbb*ZpBxEE#pLj@_sT}o^)}qCY=00_P(NX{@V?{Jn}5) zaFt>H0D)_txAOiZFC;)vzjxOG6mwo0!~yJY@zj$+DE$7~!hXD%uEJp6&zOM@jlROt zP(x{6^5{UV#z2N(Z_)tDJ>npT>j27YKSF;z%Yh)=xo3K)UMO&Xzg>S-Ve-RlFgXas zGeG246zoa)yba8%&+Zk28AusSLq6_XhzTlg3>K@BPB5yW6#exKYq zf0Q}0@3W!4Ct)4QA(fMqn!;gW@-NIC=zSZ*IJ81-gPbgh0_rx&LW08?cRf=L*|RZ2 zMuUCZVjR=8~}}zJ(-f3k(f~s3m?a1-swhB;oN8(S5LWtNQ-q^R?3*QIWOrP z@pG4`-Q<|NYdfzXO6K`+`X)cry~tjdX!9U0%8*#Rxj^r$Kxs(y%605xzn|bdJDF>^ zu(sdx4Mtw9_&uR0VMb9UDVaBb^bG6W060|dJVqG{8Xz3+Cl@aq8(rfPKZBvOS|g&= zl<;0Ynp8WwPMrl)IMG-eL{seJu%3Xj7H5eS#{}aRoR@fS5&vB~5tI2-_}7^1qA>Rm zFA{BJ^#1qgJ>oDwSI>ptN~IHtkwwX2O^KIh$s^BPK03t4X_I?@jJmsuOQi~YZV_3E z6?)B{WDIDy3;9*&1HiD99l4;-BA8mP(O*Si{!|*eKCtkZ#KtBsYpjGetYqP{6u51hyg1Ijwb^SVt3@gP~BxSHMjyi^QNh`g0FMbFn&f-d;0gL&gk?g;o6j_|qukA%5 z5>Eqx*)XN}?Lk+tKK_Y?opNM;y-r-HO^v-t^Sbshm5Y14$u!i8!@rFuXimRTFf76N z_*2`L5Rui;@26&w`D8y0eUK+_hIosLRi`+chC0s1BIff=D#M`s!8uIP0wo2J_17H9 zcZ``aNt`sMkhIC1#p;&I9-21SltP!{b}f>$Q}>R>Fq%L+7pWcm43R_EjI-AiO|->= z+v8Non2|~qY1@?ZY%d3HVfjrk3r93hs99vtm6HN1Rc=0T>xImR`6nmE1tYVt`(G&y zk_Agxxo$FySyaJPCE36CvLi5I^g0EYZpv=hte=~cXG4-j7P5&;@@%yX5B^4~QfFG} z6h6UDM$;)EbCVEw5odoLES-`QvY)&LPLX%ZzcrV26cR9?Dt5mqMiEW-YbaWpFJj)z z8%_=@Rm_`fNel#Q*^Og$Xx>lO&oD-oaLN4sWimM1odR> zA?m^qW<@gyYK&$BxnuKX-A&Tdw^362<>t-hYQ^N6ZpGEG_YGY>xTWWm=#(WwYE{bGp*{0S?xJ`#DUtA7 z26vtE`jC{2l)|@)G8H8uY+(@+PDxMhl6j+1@WyLj-_=Uc)Jcie$>`RJ4}rd3S8*w& zbtZ#^#!==LqPv^wxWz!!{9xSZpE@l+^%j4AzWZrFQ?Jtk>cGs)P^gi#M-g9uHprx6 zrl!9-0Xc{@IO;Yyxi`3^Hn?#$h(S>ZLrbQxVN?cSZaAdUxzV*D{AvMNU_#=OEfG6j zQdgPB#pO!&0IRhNYnpE=O})#)(kgpuNsH~jF~_14P*{CwPIN^20C;w zGnWa36>h&komCiy^&l7{+QEP->+R zYbUj6rW-CLE<(3rl>30QY;|f{ z$+}!PtyNp46-{N@by&&8m<~0(-{ZcSvTW)tUCa3)a!^Vf@gx@kn9=dthVE~>3UGeu z4kNzUyt>owwh3*0eKh_{Z^)UaotS4}+p$7zaW>eqzNM_6P@eeuavhbS0%FYQUJuHPz0Jzj#h@Jc1~JKci6+=Pp#m~ zZ`!6$#TPjMrI^b6{oSyYMoIqE>agb&9Is_Ze~!>|ZtzS_$X)D#XFV}|Wzc4|VmZn5 zuyd-LV(nq{iD#b`?m)Eu3|jlZdFx#9vJkE`O?>TR z7{bGCb6})>+Zyh(v}r@sDrxx3T7M12YnYF2;`(Ugm)>HCdYGobH2Y&`=25@fJbKg!$bYt9m5`-VMEi^TrT`i_9QdrxR(~BU(cK3H~qEFvuLMw zUK#Jv+kS()L+!QksXdK{l$4V0cSFX(NW_4(`0~}!_DB3)gzxyvsZspe{nE1Ebdhk* z*Ngq`2)vaR3nT7 zmHT;JFgF6mI9pnA&|0zn?eTc}paB12`&s&$?lqp+pRJnq!IjaC=;eNiH~T-1l__lA zP)8jorgx)$o}#8ZnAeZ!IhJwW#8)6VDK2f^xWDiiInor*rywByPAXwC_E*KG-U)e@ z==q!e{+RVmckP}Chvx;C-6i;8JsuxW+2mZcCf;?^$v$Qktj>{LxGA z3`9=lY~GXG$Xewq|5q`5w;@rz=6I`B1b@5Mhb`W9lc`<8o-QVIOz_zCSgbB|*_@9U z2bLk{vR95s+pk7e*EYMabB1FU)@~3T%XEAP0-3)aX=+1&!3=Rkl3JVBC@&Av^HVBdq$^h;<~75lLC0bfoxHzVGYP z^~3k~>-q=Iug}|gKOT?!D>k{ctugU=Tr2Qf9UU=gxYs07>2UdJ$w*!Gcrk z3S}X&X|ZMCUH4L3A=A*tW@Zt2w2WLfJ#{d@+}S?2`g0|+XXV$g*;$UPd$q%~mx|_o-aaqNP8WAHR@q{S)&dd9y;CP-gY%15E;I`Yv z`PD7}X#lNP{UJ90+F&rRf?ok=Mh;!7ZdGf)KKCHW{`19CS)Y02v?eEN54y;?Gn2&` z?@PFXT1-#yK~cN!U8BDI63UU`p5neyWb7!!R(r2wuo2dU%1%NMR9ijco|9NE|9X_L z8uk!gy1(IZLRv!&T#0cF{#{NA>#H59#|+Sp_+?`N)dQ&pFwXvDSI9 z`N$HmnV8lKPRZ|l9X@+3{HOF z6f1^iDzi|maW*^%(W~-#xFSA>?O?2SyHV%8GgTF{66hXXq^q)B6mvjy_Y0redW3uG zACvveiDoC(Tr#)A{T}s^dP$y)RAy}@pGEWgBg-%Nb_pq5y5Cg^OjB3SIw2K2_CKD4Z-l-;=zo5FQIFYeAf;)k-u-3IQhL~BXR}9+&(~_?f~iQgMDl(p zPJGljkZC4)hQ{)3MHhWFY6zl=lc@V?ShIiX<2~K!IL6H}=v~S|`|E1=6dCD5(&ezZ zZjr*qrm3=vUT&HQ>3RKO7OrH_@a{>dCCda#_Qbs1K_=G!2|3RCpz$Mj2+Kr0`nUAx z9Z3^dzkZZq@>&-4og1aFwX*U3tu`KLNtz>}J;(4#fvaEt{WIUAnx6is%3pp3Yf`Q$ zVp7_)qlNhel~@}|_xCv#1}m%d`@hRq4`FF3;B)e;9QvTGnx5AU&jtV@8=i@ ze@W3s7GdrB6;Y;TA@)o~jqD3&p6|#2qQXw z^_bZzX;3upFH14;*G;euVOCNM_KkYN;qyUZMv9rw;WEn0qi9zura}JOi^qSy#a^oy z<5dccj=I~O%W0&2X=;(>&YLbl>jg0J(+qRGSS^%|n6AhJL)}J|#u;U@z!r?e7>tlrs3{pOi@w^^!z7c|yYsYz+49;FQy!IvlS84=f*Pb4cLi1ZIZeIS zOSuyHtPwcT`K_UIfm{h^n%@?qFBZ}7vn8KBTu`VVCR@TAl3t6JdoLefkS)B;_wB2} zC##%+xR>&F(<7W})Iq)8@PzX{k<(Lvp7zuJUWkn7n5=mWIg7?S&_;UXChB{4Fv0X$ zf0>J3EfXPfU?M`^T4*C8swS+*>v{Kwie*nJSm*B#`L6^j35te-LgTT;Z@X~3M!fow z$Pqn0=U0Y)^PO{ikf&wL7x$&mr?y}sd(OXqC4gW;J;wgOA>+R(kP}evPTO%Hs z>e;FA?M&9as&J2HofUvFEqANMKk#ID1GSn9TH*Z+N+maqGu(MRzFz1=J{mKh`)VR| z&E?@#_WgzXuL^pbFWvZ}l2jos4f$V{>A%9<3Lv)y!d$>o^_@DVo}T(r4uKdqcyben zaXn`b0atb7^b{x=15IL}g&Y(V1mv?o@(ZN5s;a6$=h%Om3Ovr3o0|)Ch=Glkj*bqH z*curbg@l9vk1&$Sa`EglLFdf7TK*@#QQPV+B~MkHce-fTd~| zn`D!anr4_Bo1UEm&y2|}NX3O0mPQq0%Bn&t0`YZzHO~l*9u3}2t&S~TZC!~S=yM{_WO?$n03KjSnD1GN0K3a^6X%At{}Wy%)7Kao}15p6#wX=9$Zl41bE4r zV>rzpQCeR1w4wwJ)96p=z>AMvQ+yIXTumJxJuSQ#Msxj=?;~>QElW|8le>bHGDMMd zqBOC(v&O8!f#~ijWA6RHRhDh(x%A={wFz#6+N{xq*4qmMnM+yqR$Z2{EE1Pni)&Z#J5c(JDJL6kb^hX z96`ZcAP_u=mbqUuhy(Nx#3|U~3S!U}_BvgIFa#^>g-mIdCWqfjdFF6!p`|L0kwNXD z7Kj#s>0>zCDTQTVeDoCz=m)}d^bA;GY|>@<=2GiVZcWIrN$j)oSWaG01cc$)aV&7K)sbegPVR49e0^Nmnij{d({*;J7I8fXY((YPSMOiRR_SL>n zyn?0QlZ`tY=OmRUf$2=E5mXX%u(Xc}$a*gs94T$DnG;&GR++~za9mfPcvqn+YS1BY zvxtXv4HV4FD_jc^;sp&88I>`o68M?uc+t|YHBy@~U?)@+g!^(%Sq_8pB#3U9266?& z$Lm#T(cQ!=o54)0TtobN-T+Hy=g$i|11f*-lqo1E0H%SXyQE>CrSi7AB-eNL1HE&H zzUA4zyqqwS12NU2r~Oz*9asCYOP$a>qu$4Ob;$+;f=dz(r*E(b_kpjma2xWFPOYl1p*IpE9TkNfm;H>t0S8rr{8YQJ3nXTM>h>G;6Tr03q+^RQF1 zR1h&ST~Iww!bWxYlo;t-Xz)p6jF(P2VK1)ryIyv;*d0|>hQ8lh6wMaFm7KciGEof7!r@=>& zA9z;7tVoy3&A@1gFIf-%H1*-JlL+4>LsN8FM(UxMn2G_1abZkmH%9!Xje(%$pUAAW zMsW?V;S09R*zCmv=gU}2$iwm1IeuCjwi&rRF8i-@L&7)g%K3QR*-3d({TuczxxAh* z5-t(E>G+C|?QI0-r%rFA3dW)X$F}sA8XT6OTe0IYw;1Q+LMQe!EX;{q3vw-$Nh`P#8!JWc)8f z3K*n+D^&nP3fy9#D+SzKVEF@Vcz~TV(3JvaKY&E~7a#>FQJ^#h++V;Q1>8fRB?WY) z00|NBNP(pgaBTs<91uzYh7^fJ0s|ocLj*8VfFT9A^#5Og^zT9cdz1wPV&4Gg3>X6G zkZ5ZJc<~E$t1Az3`xx9Qm`bxO>+44j^&WQW7s^FchF z+U7#Zx}CXohTZUjb7Z)=Ac$F;nW7D$rH$;+rYF-DF!gzu#}ha>*Xza$Ji3LEnf0Iw z8u~KFpf`@YaQ^4a+`?RN6b8$%f|Zg=VZf;C1^R}dlqC2uv~vPG@~+WfPV7JMcmac^ zaszQ1Mu@UX8U_ObTg0<|y;?aM0<&LP)-&5gfYE zzWGXXS0fwmjh)cR%u8DLN*_og4HlYo-js?z^_K+^J;5!uEc1IdEq?PWvN)c-2aO>k ze||$Pb|2P9^#cErb3QxNCN|$Jgf8wl;WMiqc;@l#xKtG2LT^H?wzoOMJ58Vqk`yY6t0qwkE;KssB^_Rs9be+1rT# literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-common-transition.md b/zh-cn/application-dev/reference/arkui-js/js-components-common-transition.md index bbf7ca807f..8aefd3c435 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-common-transition.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-common-transition.md @@ -48,10 +48,8 @@ PageA跳转到PageB,跳转的共享元素为image, shareid为“shareImage

@@ -237,3 +235,145 @@ export default { b. back场景下:退出页面栈的Page2.js应用transition-enter描述的动画配置,并进行倒播;从页面栈第二位置进入栈顶位置的Page1.js应用transition-exit描述的动画配置,并进行倒播。 ![zh-cn_image_0000001238184345](figures/zh-cn_image_0000001238184345.png) + +### 示例 + +Page1有一个不透明盒子,点击盒子会跳转到Page2,当点击Page2中的盒子,会回退到Page1页面。 + +1. Page1 + + ``` + +
+ index +
+
+ ``` + + ``` + + import router from '@system.router'; + export default { + data: { + + }, + jump() { + router.push({ + uri:'pages/transition2/transition2' + }) + } + } + ``` + + ``` + + .container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } + .move_page { + width: 100px; + height: 100px; + background-color: #72d3fa; + transition-enter: go_page; + transition-exit: exit_page; + transition-duration: 5s; + transition-timing-function: friction; + } + + @keyframes go_page { + from { + opacity: 0; + transform: translate(0px) rotate(60deg) scale(1.0); + } + + to { + opacity: 1; + transform: translate(100px) rotate(360deg) scale(1.0); + } + } + @keyframes exit_page { + from { + opacity: 1; + transform: translate(200px) rotate(60deg) scale(2); + } + + to { + opacity: 0; + transform: translate(200px) rotate(360deg) scale(2); + } + } + ``` + + + +2. Page2 + + ``` + +
+ transition +
+
+ import router from '@system.router'; + export default { + data: { + + }, + jumpBack() { + router.back() + } + } + ``` + + ``` + + .container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } + + .move_page { + width: 100px; + height: 100px; + background-color: #f172fa; + transition-enter: go_page; + transition-exit: exit_page; + transition-duration: 5s; + transition-timing-function: ease; + } + + @keyframes go_page { + from { + opacity: 0; + transform:translate(100px) rotate(0deg) scale(1.0); + } + to { + opacity: 1; + transform:translate(100px) rotate(180deg) scale(2.0); + } + } + + @keyframes exit_page { + from { + opacity: 1; + transform: translate(0px) rotate(60deg) scale(1); + } + to { + opacity: 0; + transform: translate(0px) rotate(360deg) scale(1); + } + } + ``` + + ![transition](figures/transition.gif) diff --git a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md index cfd6f34071..fac811e748 100644 --- a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md +++ b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md @@ -132,6 +132,7 @@ - [插值计算](ts-interpolation-calculation.md) - 全局UI方法 - [图片缓存](ts-methods-image-cache.md) + - [媒体查询](ts-methods-media-query.md) - 弹窗 - [警告弹窗](ts-methods-alert-dialog-box.md) - [列表选择弹窗](ts-methods-action-sheet.md) diff --git a/zh-cn/application-dev/reference/apis/js-apis-mediaquery.md b/zh-cn/application-dev/reference/arkui-ts/ts-methods-media-query.md similarity index 100% rename from zh-cn/application-dev/reference/apis/js-apis-mediaquery.md rename to zh-cn/application-dev/reference/arkui-ts/ts-methods-media-query.md -- GitLab