Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
U
uview-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李晖
uview-ui
Commits
98ff106a
Commit
98ff106a
authored
Jul 08, 2020
by
wlxuqu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'yiruiwen' into dev
parents
949abe51
2587cd14
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
534 additions
and
129 deletions
+534
-129
.editorconfig
.editorconfig
+0
-2
.eslintignore
.eslintignore
+3
-0
manifest.json
manifest.json
+1
-1
pages.json
pages.json
+1
-1
index.vue
pages/componentsB/checkbox/index.vue
+7
-3
index.vue
pages/componentsB/tabbar/index.vue
+127
-1
index.vue
pages/componentsC/test/index.vue
+20
-9
min_button.png
static/uview/example/min_button.png
+0
-0
min_button_select.png
static/uview/example/min_button_select.png
+0
-0
u-cell-item.vue
uview-ui/components/u-cell-item/u-cell-item.vue
+1
-1
u-checkbox-group.vue
uview-ui/components/u-checkbox-group/u-checkbox-group.vue
+16
-6
u-checkbox.vue
uview-ui/components/u-checkbox/u-checkbox.vue
+62
-57
u-collapse-item.vue
uview-ui/components/u-collapse-item/u-collapse-item.vue
+1
-2
u-field.vue
uview-ui/components/u-field/u-field.vue
+1
-1
u-form-item.vue
uview-ui/components/u-form-item/u-form-item.vue
+2
-0
u-form.vue
uview-ui/components/u-form/u-form.vue
+1
-1
u-icon.vue
uview-ui/components/u-icon/u-icon.vue
+10
-10
u-input.vue
uview-ui/components/u-input/u-input.vue
+5
-4
u-radio.vue
uview-ui/components/u-radio/u-radio.vue
+1
-1
u-tabbar.vue
uview-ui/components/u-tabbar/u-tabbar.vue
+226
-4
u-upload.vue
uview-ui/components/u-upload/u-upload.vue
+1
-0
iconfont.css
uview-ui/iconfont.css
+7
-7
index.js
uview-ui/index.js
+3
-0
config.js
uview-ui/libs/config/config.js
+2
-2
common.scss
uview-ui/libs/css/common.scss
+15
-0
style.components.scss
uview-ui/libs/css/style.components.scss
+3
-14
$parent.js
uview-ui/libs/function/$parent.js
+16
-0
test.js
uview-ui/libs/function/test.js
+1
-1
package.json
uview-ui/package.json
+1
-1
No files found.
.editorconfig
View file @
98ff106a
...
@@ -7,7 +7,5 @@ indent_size = 4
...
@@ -7,7 +7,5 @@ indent_size = 4
end_of_line = lf
end_of_line = lf
#字符集utf-8
#字符集utf-8
charset = utf-8
charset = utf-8
#是否删除行尾的空格
trim_trailing_whitespace = true
.eslintignore
0 → 100644
View file @
98ff106a
unpackage
node_modules
uview-ui
manifest.json
View file @
98ff106a
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
"name"
:
"uView"
,
"name"
:
"uView"
,
"appid"
:
"__UNI__60F4B81"
,
"appid"
:
"__UNI__60F4B81"
,
"description"
:
"多平台快速开发的UI框架"
,
"description"
:
"多平台快速开发的UI框架"
,
"versionName"
:
"1.4.
5
"
,
"versionName"
:
"1.4.
8
"
,
"versionCode"
:
"100"
,
"versionCode"
:
"100"
,
"transformPx"
:
false
,
"transformPx"
:
false
,
"app-plus"
:
{
"app-plus"
:
{
...
...
pages.json
View file @
98ff106a
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
//
"current"
:
0
,
//当前激活的模式(list
的索引项)
//
"current"
:
0
,
//当前激活的模式(list
的索引项)
//
"list"
:
[{
//
"list"
:
[{
//
"name"
:
"test"
,
//模式名称
//
"name"
:
"test"
,
//模式名称
//
"path"
:
"pages/componentsB/
checkbox
/index"
,
//启动页面,必选
//
"path"
:
"pages/componentsB/
tabbar
/index"
,
//启动页面,必选
//
"query"
:
"id=1&name=2"
//启动参数,在页面的onLoad函数里面得到
//
"query"
:
"id=1&name=2"
//启动参数,在页面的onLoad函数里面得到
//
}]
//
}]
//
},
//
},
...
...
pages/componentsB/checkbox/index.vue
View file @
98ff106a
...
@@ -4,11 +4,16 @@
...
@@ -4,11 +4,16 @@
<view
class=
"u-demo-title"
>
演示效果
</view>
<view
class=
"u-demo-title"
>
演示效果
</view>
<view
class=
"u-demo-area"
>
<view
class=
"u-demo-area"
>
<view
class=
""
>
<view
class=
""
>
<u-checkbox-group
:size=
"size"
:width=
"width"
:wrap=
"wrap"
:max=
"max"
@
change=
"checkboxGroupChange"
:activeColor=
"activeColor"
>
<u-checkbox-group
:size=
"size"
:width=
"width"
:wrap=
"wrap"
:max=
"max"
@
change=
"checkboxGroupChange"
:activeColor=
"activeColor"
>
<u-checkbox
@
change=
"checkboxChange"
<u-checkbox
@
change=
"checkboxChange"
v-model=
"item.checked"
v-for=
"(item, index) in list"
v-model=
"item.checked"
v-for=
"(item, index) in list"
:key=
"index"
:name=
"item.name"
:key=
"index"
:name=
"item.name"
:shape=
"shape"
:disabled=
"item.disabled"
:shape=
"shape"
:disabled=
"item.disabled"
>
{{
item
.
name
}}
</u-checkbox>
>
{{
item
.
name
}}
</u-checkbox>
</u-checkbox-group>
</u-checkbox-group>
</view>
</view>
...
@@ -140,7 +145,6 @@
...
@@ -140,7 +145,6 @@
// 选中任一checkbox时,由checkbox-group触发
// 选中任一checkbox时,由checkbox-group触发
checkboxGroupChange
(
e
)
{
checkboxGroupChange
(
e
)
{
this
.
result
=
e
;
this
.
result
=
e
;
// console.log(this.result);
}
,
}
,
widthChange
(
index
)
{
widthChange
(
index
)
{
this
.
width
=
index
==
0
?
'
50%
'
:
''
;
this
.
width
=
index
==
0
?
'
50%
'
:
''
;
...
...
pages/componentsB/tabbar/index.vue
View file @
98ff106a
<
template
>
<
template
>
<view
class=
""
>
<view
class=
"u-demo"
>
<view
class=
"u-config-wrap"
>
<view
class=
"u-config-title u-border-bottom"
>
参数配置
</view>
<view
class=
"u-config-item"
>
<view
class=
"u-item-title"
>
状态
</view>
<u-subsection
vibrateShort
:list=
"['显示', '隐藏']"
@
change=
"showChange"
></u-subsection>
</view>
<view
class=
"u-config-item"
>
<view
class=
"u-item-title"
>
凸起按钮
</view>
<u-subsection
vibrateShort
:list=
"['显示', '隐藏']"
@
change=
"minButtonChange"
></u-subsection>
</view>
<view
class=
"u-config-item"
>
<view
class=
"u-item-title"
>
背景色
</view>
<u-subsection
vibrateShort
:list=
"['#ffffff', '#1f1f1d']"
@
change=
"bgColorChange"
></u-subsection>
</view>
<view
class=
"u-config-item"
>
<view
class=
"u-item-title"
>
顶部边框
</view>
<u-subsection
vibrateShort
:list=
"['显示', '隐藏']"
@
change=
"borderTopChange"
></u-subsection>
</view>
<view
class=
"u-config-item"
>
<view
class=
"u-item-title"
>
提示角标
</view>
<u-subsection
vibrateShort
:list=
"['显示', '隐藏']"
@
change=
"badgeChange"
></u-subsection>
</view>
</view>
</view>
<u-tabbar
:beforeSwitch=
"beforeSwitch"
v-model=
"current"
:show=
"show"
:bg-color=
"bgColor"
:border-top=
"borderTop"
:list=
"list"
:mid-button=
"midButton"
:inactive-color=
"inactiveColor"
:activeColor=
"activeColor"
></u-tabbar>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
data
()
{
return
{
current
:
0
,
show
:
true
,
bgColor
:
'
#ffffff
'
,
borderTop
:
true
,
list
:
[{
iconPath
:
"
home
"
,
selectedIconPath
:
"
home-fill
"
,
text
:
'
首页
'
,
count
:
2
,
isDot
:
true
,
customIcon
:
false
,
},
{
iconPath
:
"
photo
"
,
selectedIconPath
:
"
photo-fill
"
,
text
:
'
放映厅
'
,
customIcon
:
false
,
},
{
iconPath
:
"
/static/uview/example/min_button.png
"
,
selectedIconPath
:
"
/static/uview/example/min_button_select.png
"
,
text
:
'
发布
'
,
midButton
:
true
,
customIcon
:
false
,
},
{
iconPath
:
"
play-right
"
,
selectedIconPath
:
"
play-right-fill
"
,
text
:
'
直播
'
,
customIcon
:
false
,
},
{
iconPath
:
"
account
"
,
selectedIconPath
:
"
account-fill
"
,
text
:
'
我的
'
,
count
:
23
,
isDot
:
false
,
customIcon
:
false
,
},
],
midButton
:
true
,
inactiveColor
:
'
#909399
'
,
activeColor
:
'
#5098FF
'
}
},
methods
:
{
beforeSwitch
(
index
)
{
return
true
;
},
showChange
(
index
)
{
this
.
show
=
!
index
;
},
bgColorChange
(
index
)
{
if
(
index
==
0
)
{
this
.
activeColor
=
'
#5098FF
'
;
this
.
inactiveColor
=
'
#909399
'
;
}
if
(
index
==
1
)
{
this
.
activeColor
=
'
#D0D0D0
'
;
this
.
inactiveColor
=
'
#5A5A5A
'
;
}
this
.
bgColor
=
[
'
#ffffff
'
,
'
#1f1f1d
'
][
index
];
},
borderTopChange
(
index
)
{
this
.
borderTop
=
!
index
;
},
badgeChange
(
index
)
{
if
(
index
==
1
)
{
this
.
config
[
0
].
count
=
0
;
this
.
config
[
4
].
count
=
0
;
}
else
{
this
.
config
[
0
].
count
=
2
;
this
.
config
[
4
].
count
=
23
;
}
},
minButtonChange
(
index
)
{
this
.
midButton
=
!
index
;
}
}
}
</
script
>
</
script
>
<
style
>
<
style
scoped
lang=
"scss"
>
.u-demo-area
{
margin
:
0
-40rpx
;
}
</
style
>
</
style
>
pages/componentsC/test/index.vue
View file @
98ff106a
<
template
>
<
template
>
<
u-checkbox-group
>
<
view
class=
"wrap"
>
<u-
checkbox
v-model=
"checked"
>
xxxx
</u-checkbox
>
<u-
swiper
:list=
"list"
></u-swiper
>
</
u-checkbox-group
>
</
view
>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
checked
:
true
,
list
:
[{
image
:
'
https://cdn.uviewui.com/uview/swiper/1.jpg
'
,
title
:
'
昨夜星辰昨夜风,画楼西畔桂堂东
'
},
{
image
:
'
https://cdn.uviewui.com/uview/swiper/2.jpg
'
,
title
:
'
身无彩凤双飞翼,心有灵犀一点通
'
},
{
image
:
'
https://cdn.uviewui.com/uview/swiper/3.jpg
'
,
title
:
'
谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳
'
}
],
}
}
},
methods
:
{
}
}
}
}
</
script
>
</
script
>
\ No newline at end of file
<
style
scoped
>
</
style
>
static/uview/example/min_button.png
0 → 100644
View file @
98ff106a
2.89 KB
static/uview/example/min_button_select.png
0 → 100644
View file @
98ff106a
2.87 KB
uview-ui/components/u-cell-item/u-cell-item.vue
View file @
98ff106a
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
<slot
v-else
></slot>
<slot
v-else
></slot>
</view>
</view>
<u-icon
v-if=
"arrow"
name=
"arrow-right"
:style=
"[arrowStyle]"
class=
"u-icon-wrap u-cell__right-icon-wrap"
></u-icon>
<u-icon
v-if=
"arrow"
name=
"arrow-right"
:style=
"[arrowStyle]"
class=
"u-icon-wrap u-cell__right-icon-wrap"
></u-icon>
<view
class=
"u-flex"
v-
else
>
<view
class=
"u-flex"
v-
if=
"$slots['right-icon']"
>
<slot
name=
"right-icon"
></slot>
<slot
name=
"right-icon"
></slot>
</view>
</view>
</view>
</view>
...
...
uview-ui/components/u-checkbox-group/u-checkbox-group.vue
View file @
98ff106a
...
@@ -45,6 +45,16 @@
...
@@ -45,6 +45,16 @@
type
:
[
Boolean
,
String
],
type
:
[
Boolean
,
String
],
default
:
''
default
:
''
},
},
// 是否禁止点击提示语选中复选框
labelDisabled
:
{
type
:
Boolean
,
default
:
false
},
// 形状,square为方形,circle为原型
shape
:
{
type
:
String
,
default
:
'
square
'
},
// 选中状态下的颜色
// 选中状态下的颜色
activeColor
:
{
activeColor
:
{
type
:
String
,
type
:
String
,
...
@@ -64,12 +74,12 @@
...
@@ -64,12 +74,12 @@
wrap
:
{
wrap
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
}
}
,
},
// 图标的大小,单位rpx
provide
()
{
iconSize
:
{
return
{
type
:
[
String
,
Number
],
checkboxGroup
:
this
default
:
20
}
}
,
},
},
data
()
{
data
()
{
return
{
return
{
...
...
uview-ui/components/u-checkbox/u-checkbox.vue
View file @
98ff106a
<
template
>
<
template
>
<view
class=
"u-checkbox"
:style=
"[checkboxStyle]"
>
<view
class=
"u-checkbox"
:style=
"[checkboxStyle]"
>
<view
class=
"u-checkbox__icon-wrap"
@
tap=
"toggle"
>
<view
class=
"u-checkbox__icon-wrap"
@
tap=
"toggle"
>
<u-icon
:class=
"iconClass"
name=
"checkbox-mark"
:size=
"
i
conSize"
:color=
"iconColor"
class=
"u-checkbox__icon"
:style=
"[iconStyle]"
/>
<u-icon
:class=
"iconClass"
name=
"checkbox-mark"
:size=
"
checkboxI
conSize"
:color=
"iconColor"
class=
"u-checkbox__icon"
:style=
"[iconStyle]"
/>
</view>
</view>
<view
class=
"u-label-class u-checkbox__label"
@
tap=
"onClickLabel"
:style=
"
{
<view
class=
"u-label-class u-checkbox__label"
@
tap=
"onClickLabel"
:style=
"
{
fontSize: labelSize + 'rpx'
fontSize: labelSize + 'rpx'
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
// 形状,square为方形,circle为原型
// 形状,square为方形,circle为原型
shape
:
{
shape
:
{
type
:
String
,
type
:
String
,
default
:
'
square
'
default
:
''
},
},
// 是否为选中状态
// 是否为选中状态
value
:
{
value
:
{
...
@@ -62,86 +62,93 @@
...
@@ -62,86 +62,93 @@
// 图标的大小,单位rpx
// 图标的大小,单位rpx
iconSize
:
{
iconSize
:
{
type
:
[
String
,
Number
],
type
:
[
String
,
Number
],
default
:
20
default
:
''
},
},
// label的字体大小,rpx单位
// label的字体大小,rpx单位
labelSize
:
{
labelSize
:
{
type
:
[
String
,
Number
],
type
:
[
String
,
Number
],
default
:
28
default
:
''
},
},
// 组件的整体大小
// 组件的整体大小
size
:
{
size
:
{
type
:
[
String
,
Number
],
type
:
[
String
,
Number
],
default
:
34
default
:
''
},
},
},
},
inject
:
{
checkboxGroup
:
{
// 添加默认值,是为了能让u-checkbox组件无需u-checkbox-group组件嵌套时单独使用
default
()
{
return
{
disabled
:
false
,
children
:
[],
size
:
34
,
activeColor
:
'
#2979ff
'
,
max
:
999999
,
emitEvent
:
()
=>
{},
width
:
'
auto
'
,
wrap
:
false
}
}
}
},
data
()
{
data
()
{
return
{
return
{
parentDisabled
:
false
,
parentDisabled
:
false
,
newParams
:
{},
};
};
},
},
created
()
{
created
()
{
this
.
parentDisabled
=
this
.
checkboxGroup
.
disabled
;
// 支付宝小程序不支持provide/inject,所以使用这个方法获取整个父组件,在created定义,避免循环应用
this
.
checkboxGroup
.
children
.
push
(
this
);
this
.
parent
=
this
.
$u
.
$parent
.
call
(
this
,
'
u-checkbox-group
'
);
// 如果存在u-checkbox-group,将本组件的this塞进父组件的children中
this
.
parent
&&
this
.
parent
.
children
.
push
(
this
);
},
},
computed
:
{
computed
:
{
// 是否禁用,如果父组件u-checkbox-group禁用的话,将会忽略子组件的配置
isDisabled
()
{
return
this
.
parent
?
this
.
parent
.
disabled
||
this
.
disabled
:
this
.
disabled
;
},
// 是否禁用label点击
isLabelDisabled
()
{
return
this
.
parent
?
this
.
parent
.
labelDisabled
||
this
.
labelDisabled
:
this
.
labelDisabled
;
},
// 组件尺寸,对应size的值,默认值为34rpx
checkboxSize
()
{
return
this
.
size
?
this
.
size
:
(
this
.
parent
?
this
.
parent
.
size
:
34
);
},
// 组件的勾选图标的尺寸,默认20
checkboxIconSize
()
{
return
this
.
iconSize
?
this
.
iconSize
:
(
this
.
parent
?
this
.
parent
.
iconSize
:
20
);
},
// 组件选中激活时的颜色
elActiveColor
()
{
return
this
.
activeColor
?
this
.
activeColor
:
(
this
.
parent
?
this
.
parent
.
activeColor
:
'
primary
'
);
},
// 组件的形状
elShape
()
{
return
this
.
shape
?
this
.
shape
:
(
this
.
parent
?
this
.
parent
.
shape
:
'
square
'
);
},
iconStyle
()
{
iconStyle
()
{
let
style
=
{};
let
style
=
{};
if
(
this
.
checkboxActiveColor
&&
this
.
value
&&
!
this
.
disabled
&&
!
this
.
parentDisabled
)
{
// 既要判断是否手动禁用,还要判断用户v-model绑定的值,如果绑定为false,那么也无法选中
style
.
borderColor
=
this
.
checkboxActiveColor
;
if
(
this
.
elActiveColor
&&
this
.
value
&&
!
this
.
isDisabled
)
{
style
.
backgroundColor
=
this
.
checkboxActiveColor
;
style
.
borderColor
=
this
.
elActiveColor
;
style
.
backgroundColor
=
this
.
elActiveColor
;
}
}
style
.
width
=
this
.
checkboxGroup
.
size
+
'
rpx
'
;
style
.
width
=
this
.
$u
.
addUnit
(
this
.
checkboxSize
)
;
style
.
height
=
this
.
checkboxGroup
.
size
+
'
rpx
'
;
style
.
height
=
this
.
$u
.
addUnit
(
this
.
checkboxSize
)
;
return
style
;
return
style
;
},
},
// checkbox内部的勾选图标,如果选中状态,为白色,否则为透明色即可
iconColor
()
{
iconColor
()
{
return
this
.
value
?
'
#ffffff
'
:
'
transparent
'
;
return
this
.
value
?
'
#ffffff
'
:
'
transparent
'
;
},
},
iconClass
()
{
iconClass
()
{
let
classs
=
[];
let
classs
=
[];
classs
.
push
(
'
u-checkbox__icon--
'
+
this
.
s
hape
);
classs
.
push
(
'
u-checkbox__icon--
'
+
this
.
elS
hape
);
if
(
this
.
value
==
true
)
classs
.
push
(
'
u-checkbox__icon--checked
'
);
if
(
this
.
value
==
true
)
classs
.
push
(
'
u-checkbox__icon--checked
'
);
if
(
this
.
disabled
||
this
.
parent
Disabled
)
classs
.
push
(
'
u-checkbox__icon--disabled
'
);
if
(
this
.
is
Disabled
)
classs
.
push
(
'
u-checkbox__icon--disabled
'
);
if
(
this
.
value
&&
(
this
.
disabled
||
this
.
parentDisabled
)
)
classs
.
push
(
'
u-checkbox__icon--disabled--checked
'
);
if
(
this
.
value
&&
this
.
isDisabled
)
classs
.
push
(
'
u-checkbox__icon--disabled--checked
'
);
return
classs
;
return
classs
;
},
},
// 激活的颜色,可能受checkboxGroup和本组件的activeColor影响
// 本组件的activeColor值优先
checkboxActiveColor
()
{
return
this
.
activeColor
?
this
.
activeColor
:
this
.
checkboxGroup
.
activeColor
;
},
checkboxStyle
()
{
checkboxStyle
()
{
let
style
=
{};
let
style
=
{};
if
(
this
.
checkboxGroup
.
width
)
{
if
(
this
.
parent
&&
this
.
parent
.
width
)
{
style
.
width
=
this
.
checkboxGroup
.
width
;
style
.
width
=
this
.
parent
.
width
;
// #ifdef MP
// #ifdef MP
// 各家小程序因为它们特殊的编译结构,使用float布局
// 各家小程序因为它们特殊的编译结构,使用float布局
style
.
float
=
'
left
'
;
style
.
float
=
'
left
'
;
// #endif
// #endif
// #ifndef MP
// #ifndef MP
// H5和APP使用flex布局
// H5和APP使用flex布局
style
.
flex
=
`0 0
${
this
.
checkboxGroup
.
width
}
`
;
style
.
flex
=
`0 0
${
this
.
parent
.
width
}
`
;
// #endif
// #endif
}
}
if
(
this
.
checkboxGroup
.
wrap
)
{
if
(
this
.
parent
&&
this
.
parent
.
wrap
)
{
style
.
width
=
'
100%
'
;
style
.
width
=
'
100%
'
;
// #ifndef MP
// #ifndef MP
// H5和APP使用flex布局,将宽度设置100%,即可自动换行
// H5和APP使用flex布局,将宽度设置100%,即可自动换行
...
@@ -153,12 +160,12 @@
...
@@ -153,12 +160,12 @@
},
},
methods
:
{
methods
:
{
onClickLabel
()
{
onClickLabel
()
{
if
(
!
this
.
disabled
&&
!
this
.
labelDisabled
&&
!
this
.
parent
Disabled
)
{
if
(
!
this
.
is
Disabled
)
{
this
.
setValue
();
this
.
setValue
();
}
}
},
},
toggle
()
{
toggle
()
{
if
(
!
this
.
disabled
&&
!
this
.
parent
Disabled
)
{
if
(
!
this
.
is
Disabled
)
{
this
.
setValue
();
this
.
setValue
();
}
}
},
},
...
@@ -167,15 +174,19 @@
...
@@ -167,15 +174,19 @@
value
:
this
.
value
,
value
:
this
.
value
,
name
:
this
.
name
name
:
this
.
name
})
})
this
.
checkboxGroup
.
emitEvent
();
// 执行父组件u-checkbox-group的事件方法
if
(
this
.
parent
&&
this
.
parent
.
emitEvent
)
this
.
parent
.
emitEvent
();
},
},
// 设置input的值,这里通过input事件,设置通过v-model绑定的组件的值
// 设置input的值,这里通过input事件,设置通过v-model绑定的组件的值
setValue
()
{
setValue
()
{
// 判断是否超过了可选的最大数量
// 判断是否超过了可选的最大数量
let
checkedNum
=
0
;
let
checkedNum
=
0
;
this
.
checkboxGroup
.
children
.
map
(
val
=>
{
if
(
this
.
parent
&&
this
.
parent
.
children
)
{
if
(
val
.
value
)
checkedNum
++
;
// 只要父组件的某一个子元素的value为true,就加1(已有的选中数量)
})
this
.
parent
.
children
.
map
(
val
=>
{
if
(
val
.
value
)
checkedNum
++
;
})
}
// 如果原来为选中状态,那么可以取消
// 如果原来为选中状态,那么可以取消
if
(
this
.
value
==
true
)
{
if
(
this
.
value
==
true
)
{
this
.
$emit
(
'
input
'
,
!
this
.
value
);
this
.
$emit
(
'
input
'
,
!
this
.
value
);
...
@@ -183,7 +194,7 @@
...
@@ -183,7 +194,7 @@
this
.
$nextTick
(
function
()
{
this
.
$nextTick
(
function
()
{
this
.
emitEvent
();
this
.
emitEvent
();
})
})
}
else
if
(
checkedNum
<
this
.
checkboxGroup
.
max
&&
this
.
value
==
false
)
{
}
else
if
(
(
this
.
parent
&&
checkedNum
<
this
.
parent
.
max
)
||
!
this
.
parent
)
{
// 如果原来为未选中状态,需要选中的数量少于父组件中设置的max值,才可以选中
// 如果原来为未选中状态,需要选中的数量少于父组件中设置的max值,才可以选中
this
.
$emit
(
'
input
'
,
!
this
.
value
);
this
.
$emit
(
'
input
'
,
!
this
.
value
);
// 等待下一个周期再执行,因为this.$emit('input')作用于父组件,再反馈到子组件内部,需要时间
// 等待下一个周期再执行,因为this.$emit('input')作用于父组件,再反馈到子组件内部,需要时间
...
@@ -201,12 +212,9 @@
...
@@ -201,12 +212,9 @@
@import
"../../libs/css/style.components.scss"
;
@import
"../../libs/css/style.components.scss"
;
.u-checkbox
{
.u-checkbox
{
display
:
-
webkit-flex
;
display
:
inline-flex
;
display
:
flex
;
-webkit-align-items
:
center
;
align-items
:
center
;
align-items
:
center
;
overflow
:
hidden
;
overflow
:
hidden
;
-webkit-user-select
:
none
;
user-select
:
none
;
user-select
:
none
;
line-height
:
1
.8
;
line-height
:
1
.8
;
}
}
...
@@ -217,16 +225,13 @@
...
@@ -217,16 +225,13 @@
}
}
.u-checkbox__icon-wrap
{
.u-checkbox__icon-wrap
{
-webkit-flex
:
none
;
flex
:
none
;
flex
:
none
;
}
}
.u-checkbox__icon
{
.u-checkbox__icon
{
display
:
-
webkit-flex
;
display
:
-
webkit-flex
;
display
:
flex
;
display
:
flex
;
-webkit-align-items
:
center
;
align-items
:
center
;
align-items
:
center
;
-webkit-justify-content
:
center
;
justify-content
:
center
;
justify-content
:
center
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
width
:
42rpx
;
width
:
42rpx
;
...
@@ -249,8 +254,8 @@
...
@@ -249,8 +254,8 @@
.u-checkbox__icon--checked
{
.u-checkbox__icon--checked
{
color
:
#fff
;
color
:
#fff
;
background-color
:
#2979ff
;
background-color
:
$u-type-primary
;
border-color
:
#2979ff
;
border-color
:
$u-type-primary
;
}
}
.u-checkbox__icon--disabled
{
.u-checkbox__icon--disabled
{
...
...
uview-ui/components/u-collapse-item/u-collapse-item.vue
View file @
98ff106a
...
@@ -141,11 +141,10 @@
...
@@ -141,11 +141,10 @@
this
.
isShow
=
!
this
.
isShow
;
this
.
isShow
=
!
this
.
isShow
;
// 触发本组件的事件
// 触发本组件的事件
uni
.
$emit
(
'
change
'
,
{
this
.
$emit
(
'
change
'
,
{
index
:
this
.
index
,
index
:
this
.
index
,
show
:
this
.
isShow
show
:
this
.
isShow
})
})
// 只有在打开时才发出事件
// 只有在打开时才发出事件
if
(
this
.
isShow
)
this
.
uCollapse
.
onChange
();
if
(
this
.
isShow
)
this
.
uCollapse
.
onChange
();
this
.
$forceUpdate
();
this
.
$forceUpdate
();
...
...
uview-ui/components/u-field/u-field.vue
View file @
98ff106a
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
@
tap=
"fieldClick"
@
tap=
"fieldClick"
/>
/>
</view>
</view>
<u-icon
:size=
"clearSize"
v-if=
"clearable && value && focused"
name=
"close-circle-fill"
color=
"#c0c4cc"
class=
"u-clear-icon"
@
touchstart=
"onClear"
/>
<u-icon
:size=
"clearSize"
v-if=
"clearable && value
!= ''
&& focused"
name=
"close-circle-fill"
color=
"#c0c4cc"
class=
"u-clear-icon"
@
touchstart=
"onClear"
/>
<view
class=
"u-button-wrap"
><slot
name=
"right"
/></view>
<view
class=
"u-button-wrap"
><slot
name=
"right"
/></view>
<u-icon
v-if=
"rightIcon"
@
click=
"rightIconClick"
:name=
"rightIcon"
color=
"#c0c4cc"
:style=
"[rightIconStyle]"
size=
"26"
class=
"u-arror-right"
/>
<u-icon
v-if=
"rightIcon"
@
click=
"rightIconClick"
:name=
"rightIcon"
color=
"#c0c4cc"
:style=
"[rightIconStyle]"
size=
"26"
class=
"u-arror-right"
/>
</view>
</view>
...
...
uview-ui/components/u-form-item/u-form-item.vue
View file @
98ff106a
...
@@ -372,6 +372,8 @@ export default {
...
@@ -372,6 +372,8 @@ export default {
&
__icon
{
&
__icon
{
margin-left
:
10rpx
;
margin-left
:
10rpx
;
color
:
$u-light-color
;
font-size
:
30rpx
;
}
}
}
}
}
}
...
...
uview-ui/components/u-form/u-form.vue
View file @
98ff106a
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
* @tutorial http://uviewui.com/components/form.html
* @tutorial http://uviewui.com/components/form.html
* @property {Object} model 表单数据对象
* @property {Object} model 表单数据对象
* @property {Object} rules 通过ref设置,见官网说明
* @property {Object} rules 通过ref设置,见官网说明
* @property {Array} error
T
ype 错误的提示方式,数组形式,见上方说明(默认['message'])
* @property {Array} error
-t
ype 错误的提示方式,数组形式,见上方说明(默认['message'])
* @example <u-form :model="form" ref="uForm"></u-form>
* @example <u-form :model="form" ref="uForm"></u-form>
*/
*/
...
...
uview-ui/components/u-icon/u-icon.vue
View file @
98ff106a
...
@@ -4,11 +4,11 @@
...
@@ -4,11 +4,11 @@
<text
v-else
class=
"u-icon__icon"
:class=
"customClass"
:style=
"[iconStyle]"
:hover-class=
"hoverClass"
@
touchstart=
"touchstart"
></text>
<text
v-else
class=
"u-icon__icon"
:class=
"customClass"
:style=
"[iconStyle]"
:hover-class=
"hoverClass"
@
touchstart=
"touchstart"
></text>
<text
v-if=
"label"
class=
"u-icon__label"
:style=
"
{
<text
v-if=
"label"
class=
"u-icon__label"
:style=
"
{
color: labelColor,
color: labelColor,
fontSize:
labelSize + 'rpx'
,
fontSize:
$u.addUnit(labelSize)
,
marginLeft: labelPos == 'right' ?
marginLeft + 'rpx'
: 0,
marginLeft: labelPos == 'right' ?
$u.addUnit(marginLeft)
: 0,
marginTop: labelPos == 'bottom' ?
marginTop + 'rpx'
: 0,
marginTop: labelPos == 'bottom' ?
$u.addUnit(marginTop)
: 0,
marginRight: labelPos == 'left' ?
marginRight + 'rpx'
: 0,
marginRight: labelPos == 'left' ?
$u.addUnit(marginRight)
: 0,
marginBottom: labelPos == 'top' ?
marginBottom + 'rpx'
: 0,
marginBottom: labelPos == 'top' ?
$u.addUnit(marginBottom)
: 0,
}">
{{
label
}}
</text>
}">
{{
label
}}
</text>
</view>
</view>
</
template
>
</
template
>
...
@@ -44,7 +44,7 @@ export default {
...
@@ -44,7 +44,7 @@ export default {
type
:
String
,
type
:
String
,
default
:
''
default
:
''
},
},
// 图标颜色,可接受主题色
(组件内部使用,不对外)
// 图标颜色,可接受主题色
color
:
{
color
:
{
type
:
String
,
type
:
String
,
default
:
''
default
:
''
...
@@ -146,7 +146,7 @@ export default {
...
@@ -146,7 +146,7 @@ export default {
iconStyle
()
{
iconStyle
()
{
let
style
=
{};
let
style
=
{};
style
=
{
style
=
{
fontSize
:
this
.
size
==
'
inherit
'
?
'
inherit
'
:
this
.
size
+
'
rpx
'
,
fontSize
:
this
.
size
==
'
inherit
'
?
'
inherit
'
:
this
.
$u
.
addUnit
(
this
.
size
)
,
fontWeight
:
this
.
bold
?
'
bold
'
:
'
normal
'
fontWeight
:
this
.
bold
?
'
bold
'
:
'
normal
'
};
};
// 非主题色值时,才当作颜色值
// 非主题色值时,才当作颜色值
...
@@ -159,7 +159,7 @@ export default {
...
@@ -159,7 +159,7 @@ export default {
},
},
imgStyle
()
{
imgStyle
()
{
let
style
=
{};
let
style
=
{};
style
.
width
=
this
.
size
+
'
rpx
'
;
style
.
width
=
this
.
$u
.
addUnit
(
this
.
size
)
;
return
style
;
return
style
;
}
}
},
},
...
@@ -183,12 +183,12 @@ export default {
...
@@ -183,12 +183,12 @@ export default {
align-items
:
center
;
align-items
:
center
;
&
--left
{
&
--left
{
flex-direction
:
row
;
flex-direction
:
row
-reverse
;
align-items
:
center
;
align-items
:
center
;
}
}
&
--right
{
&
--right
{
flex-direction
:
row
-reverse
;
flex-direction
:
row
;
align-items
:
center
;
align-items
:
center
;
}
}
...
...
uview-ui/components/u-input/u-input.vue
View file @
98ff106a
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
@
confirm=
"onConfirm"
@
confirm=
"onConfirm"
/>
/>
<view
class=
"u-input__right-icon u-flex"
>
<view
class=
"u-input__right-icon u-flex"
>
<view
class=
"u-input__right-icon__clear u-input__right-icon__item"
v-if=
"clearable && value && focused"
>
<view
class=
"u-input__right-icon__clear u-input__right-icon__item"
v-if=
"clearable && value
!= ''
&& focused"
>
<u-icon
size=
"32"
name=
"close-circle-fill"
color=
"#c0c4cc"
@
touchstart=
"onClear"
/>
<u-icon
size=
"32"
name=
"close-circle-fill"
color=
"#c0c4cc"
@
touchstart=
"onClear"
/>
</view>
</view>
<view
class=
"u-input__right-icon__clear u-input__right-icon__item"
v-if=
"passwordIcon && type == 'password'"
>
<view
class=
"u-input__right-icon__clear u-input__right-icon__item"
v-if=
"passwordIcon && type == 'password'"
>
...
@@ -96,7 +96,7 @@ export default {
...
@@ -96,7 +96,7 @@ export default {
mixins
:
[
Emitter
],
mixins
:
[
Emitter
],
props
:
{
props
:
{
value
:
{
value
:
{
type
:
String
,
type
:
[
String
,
Number
]
,
default
:
''
default
:
''
},
},
// 输入框的类型,textarea,text,number
// 输入框的类型,textarea,text,number
...
@@ -206,6 +206,8 @@ export default {
...
@@ -206,6 +206,8 @@ export default {
value
:
nVal
value
:
nVal
}
}
})
})
// 值变化,且是右对齐时,计算右侧的清除图标的位置尺寸,避免input-align=right时文字与清除图标重合
if
(
oVal
==
''
&&
this
.
inputAlign
==
'
right
'
)
this
.
getMarginRight
();
},
},
focused
(
nVal
)
{
focused
(
nVal
)
{
if
(
this
.
clearable
&&
this
.
value
)
{
if
(
this
.
clearable
&&
this
.
value
)
{
...
@@ -244,8 +246,7 @@ export default {
...
@@ -244,8 +246,7 @@ export default {
getMarginRight
()
{
getMarginRight
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$uGetRect
(
'
.u-input__right-icon
'
).
then
(
res
=>
{
this
.
$uGetRect
(
'
.u-input__right-icon
'
).
then
(
res
=>
{
// 此处20rpx为图标绝对定位右侧的“right”
this
.
marginRight
=
res
.
width
;
this
.
marginRight
=
res
.
width
+
uni
.
upx2px
(
20
);
})
})
})
})
},
},
...
...
uview-ui/components/u-radio/u-radio.vue
View file @
98ff106a
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
// 形状,square为方形,circle为原型
// 形状,square为方形,circle为原型
shape
:
{
shape
:
{
type
:
String
,
type
:
String
,
default
:
'
squar
e
'
default
:
'
circl
e
'
},
},
// 是否禁用
// 是否禁用
disabled
:
{
disabled
:
{
...
...
uview-ui/components/u-tabbar/u-tabbar.vue
View file @
98ff106a
<
template
>
<
template
>
<view
class=
"u-tabbar"
>
<view
v-if=
"show"
class=
"u-tabbar"
@
touchmove
.
stop
.
prevent
>
<view
class=
"u-tabbar__content safe-area-inset-bottom"
:style=
"
{
height: $u.addUnit(height),
backgroundColor: bgColor,
}" :class="{
'u-border-top': borderTop
}">
<view
class=
"u-tabbar__content__item"
v-for=
"(item, index) in list"
:key=
"index"
:class=
"
{
'u-tabbar__content__circle': midButton
&&
item.midButton
}" @tap.stop="clickHandler(index)" :style="{
backgroundColor: bgColor
}">
<view
:class=
"[
midButton && item.midButton ? 'u-tabbar__content__circle__button' : 'u-tabbar__content__item__button'
]"
>
<u-icon
:size=
"midButton && item.midButton ? midButtonSize : iconSize"
:name=
"index == value ? item.selectedIconPath : item.iconPath"
:color=
"index == value ? activeColor : inactiveColor"
:custom-prefix=
"item.customIcon ? 'custom-icon' : 'uicon'"
></u-icon>
<u-badge
:count=
"item.count"
:is-dot=
"item.isDot"
v-if=
"item.count > 0"
:offset=
"[-2, getOffsetRight(item.count, item.isDot)]"
></u-badge>
</view>
<view
class=
"u-tabbar__content__item__text"
:style=
"
{
color: index == value ? activeColor : inactiveColor
}">
<text
class=
"u-line-1"
>
{{
item
.
text
}}
</text>
</view>
</view>
<view
v-if=
"midButton"
class=
"u-tabbar__content__circle__border"
:class=
"
{
'u-border': borderTop,
}" :style="{
backgroundColor: bgColor
}">
</view>
</view>
<!-- 这里加上一个48rpx的高度,是为了增高有凸起按钮时的防塌陷高度(也即按钮凸出来部分的高度) -->
<view
class=
"u-fixed-placeholder safe-area-inset-bottom"
:style=
"
{
height: `calc(${$u.addUnit(height)} + ${midButton ? 48 : 0}rpx)`,
}">
</view>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
// 显示与否
show
:
{
type
:
Boolean
,
default
:
true
},
// 通过v-model绑定current值
value
:
{
type
:
[
String
,
Number
],
default
:
0
},
// 整个tabbar的背景颜色
bgColor
:
{
type
:
String
,
default
:
'
#ffffff
'
},
// tabbar的高度,默认50px,单位任意,如果为数值,则为rpx单位
height
:
{
type
:
[
String
,
Number
],
default
:
'
50px
'
},
// 非凸起图标的大小,单位任意,数值默认rpx
iconSize
:
{
type
:
[
String
,
Number
],
default
:
40
},
// 凸起的图标的大小,单位任意,数值默认rpx
midButtonSize
:
{
type
:
[
String
,
Number
],
default
:
90
},
// 激活时的演示,包括字体图标,提示文字等的演示
activeColor
:
{
type
:
String
,
default
:
'
#303133
'
},
// 未激活时的颜色
inactiveColor
:
{
type
:
String
,
default
:
'
#606266
'
},
// 是否显示中部的凸起按钮
midButton
:
{
type
:
Boolean
,
default
:
false
},
// 配置参数
list
:
{
type
:
Array
,
default
()
{
return
[]
}
},
// 切换前的回调
beforeSwitch
:
{
type
:
Function
,
default
:
null
},
// 是否显示顶部的横线
borderTop
:
{
type
:
Boolean
,
default
:
true
},
},
data
()
{
data
()
{
return
{
return
{
}
}
},
},
methods
:
{
methods
:
{
async
clickHandler
(
index
)
{
if
(
this
.
beforeSwitch
&&
typeof
(
this
.
beforeSwitch
)
===
'
function
'
)
{
// 执行回调,同时传入索引当作参数
let
beforeSwitch
=
this
.
beforeSwitch
(
index
);
// 判断是否返回了promise
if
(
!!
beforeSwitch
&&
typeof
beforeSwitch
.
then
===
'
function
'
)
{
await
beforeSwitch
.
then
(
res
=>
{
// promise返回成功,
this
.
switchTab
(
index
);
}).
catch
(
err
=>
{
})
}
else
if
(
beforeSwitch
===
true
)
{
// 如果返回true
this
.
switchTab
(
index
);
}
}
else
{
this
.
switchTab
(
index
);
}
},
// 切换tab
switchTab
(
index
)
{
// 发出事件和修改v-model绑定的值
this
.
$emit
(
'
change
'
,
index
);
this
.
$emit
(
'
input
'
,
index
);
},
// 计算角标的right值
getOffsetRight
(
count
,
isDot
)
{
// 点类型,count大于9(两位数),分别设置不同的right值,避免位置太挤
if
(
isDot
)
{
return
-
20
;
}
else
if
(
count
>
9
)
{
return
-
40
;
}
else
{
return
-
30
;
}
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.u-fixed-placeholder
{
box-sizing
:
content-box
;
}
.u-tabbar
{
.u-tabbar
{
&
__content
{
display
:
flex
;
align-items
:
center
;
position
:
relative
;
position
:
fixed
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
z-index
:
998
;
box-sizing
:
content-box
;
&
__circle__border
{
border-radius
:
100%
;
width
:
110rpx
;
height
:
110rpx
;
top
:
-48rpx
;
left
:
50%
;
transform
:
translateX
(
-50%
);
position
:
absolute
;
z-index
:
4
;
background-color
:
#ffffff
;
&
:after
{
border-radius
:
100px
;
}
}
&
__item
{
flex
:
1
;
justify-content
:
center
;
height
:
100%
;
padding
:
12rpx
0
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
position
:
relative
;
&
__button
{
position
:
absolute
;
top
:
10rpx
;
}
&
__text
{
color
:
$u-content-color
;
font-size
:
26rpx
;
line-height
:
28rpx
;
position
:
absolute
;
bottom
:
12rpx
;
left
:
50%
;
transform
:
translateX
(
-50%
);
}
}
&
__circle
{
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
z-index
:
10
;
height
:
calc
(
100%
-
1px
);
&
__button
{
width
:
90rpx
;
height
:
90rpx
;
border-radius
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
position
:
absolute
;
background-color
:
#ffffff
;
top
:
-40rpx
;
left
:
50%
;
z-index
:
6
;
transform
:
translateX
(
-50%
);
}
}
}
}
}
</
style
>
</
style
>
uview-ui/components/u-upload/u-upload.vue
View file @
98ff106a
...
@@ -521,6 +521,7 @@ export default {
...
@@ -521,6 +521,7 @@ export default {
.u-add-tips
{
.u-add-tips
{
margin-top
:
20rpx
;
margin-top
:
20rpx
;
line-height
:
40rpx
;
}
}
.u-add-wrap__hover
{
.u-add-wrap__hover
{
...
...
uview-ui/iconfont.css
View file @
98ff106a
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
font-weight
:
normal
;
font-weight
:
normal
;
font-style
:
normal
;
font-style
:
normal
;
font-display
:
auto
;
font-display
:
auto
;
src
:
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAGH
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
')
format
(
'woff2'
);
src
:
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAGH
gAAsAAAAAvzwAAGGPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCcPAqCuGiB90UBNgIkA4ZQC4MqAAQgBYRtB5ZWGyWcNdPNnSDQHYCLpI2abFTUhTkLjkKSNtVm//85SUUOk5o0NRuc/xBEiUw5SIhqg3sFe7dRGLbE07APbHByUj83Fvmki9XubjjCz4UeaXU3z4emw9LCQnHpxc7f0OVF22pTXHIffqMLyiCRkWau7rjm8+N/O7Uc6LQ3GSs5A9xh09SVeGi/yurtOSTwyPp8GFC4+HVx9P6MT3TzQL/2+7O79+67iEukiyciQyaTyAyNUAnZPP751ZNa9QAY4uf29xbFomAbOTYqBiNSVsCAARuMGkopAxRwgjLCGKGARXwDMEDFAAy0P6CCBSoo8O0PfNSvYCH29xvr8xCrmPPmtN6Km4tkJ533mmR3PzENWHJhIeFFzsW+yleBY7cdMgRmOEkHCAzv/RPT/8fB776zP2g81ADjNKPE0kCbCCLNL3W9s2MZVnqrExvO/oDQ/QBXmTRlYsA3Z/nFS5AB2guWn7T/4Ir8HKu1IkdWNpMdmGfIafRNRqfXQxDjqD1h+jU0cDqh0uh/h3p48cTQ90edftIq/dskPcMdG4rTES2LkxQoySdO75MXe7XXAJa+zWl7lAIeAMAA4LTRvAz4+N+vQVWpHKolkngzeZ9MSktdSYlUxe7MoFL5v9yq8GZOya4nKRhRbMXt1LZichxLrnBNglhLgEqCWeNDjwnQVb/27UnsutvUMBd3XGqWkXWQjbDJY+QT4stPuvlkJStBROoJUBF9d4dLzfMFVjr/ZRbXCAJsjlFyw28aAfOfqnolRMuRM8msrZeqa7+77a7rOvbUYw+3PwCKH5+gCECSBUKyRcp2BTKDICVXoOyGVFSHZJbkLNtdK2MMgvQgPFKCthtS7qAypWy5a+9zT72tY6+XtKdSkSdSbEHo5gmjMaGKYiFcE/EVdkY+zNsSwsOTC+VkeabEhKuw03oEbY5TcH5rkIaIRxqe2NNpkhia50kAJkuzpjvtZ6z5PejYXS6JDNHMUJ6KSsbSteP+5zW2Gr/L+4sUo8EiltbtUzBWv1nZyqtMCUYLYkMFZfcjKx2MvsnCZtkiyZTJFkMtz26ElD/W8Hhmff7Lr20tiSGxEDt08lrwEnA4YLCl6v7v3dW6YQ/UKRhmVKxH7/BtpIG6BF9k/aLV2adrr5iJiw4boTNb0pAd2ZV96cqp9KQvf7389+XrGcTM88wLW674FDM13cOZf2aezypm42fzZzWzBbNls+X99f3q/sb+8f612f8Hn6/iXmW9Wvmq9NWmwZbWBKQu29KStrSnOxdKnfD52zTGNZbOXfvYJa8KX5X848XtKbZLwRVd6a2+tbf56m/bdO6Yf1NjS+Puufce3X6HLhcnWh8SEPMnXE9v38VLC7Zcliw/czZftnRRPwn2m3Yv2TPA0BVO925urc+9yu52B4hjY2HwNYazYBb/UWdxnXNmB7kk2E0KbrHX1rT1NhOh7H1I0pBh7rjnrOAuUxsvZFuGhQcEjfLEM3mihr9oa84JTEfL2JaapuKl7I+Mij4gV0TExCoFcfEJLAwTY/rKVViGf+bneAbwCIq0RCRkGpWyoriktGz1mrXrdOVGKBWVjKr1G6prFnJadvn41po6Obu4JrcfPJR4+EhHZ9fRY8dPdJ88ddrP38zNne/h6eXNtbK2sQUBI9sbDUDEf+4LyAkxQAF8BgoPQYDwBSiGr0AJfANK4TtQBj+AcsgGKmAFqISfQBUUAtUwA9TAMVALJ0AdTAP1UAk0wDjQCF1AE/wCzZAAtEAi0ApLQBu8AtphEOiA10An/AZdMAR0wx/QA6dAL7wB+mAZ6Ie3wACsA4MwCQzBXzAMu8AI7ACjkASMQQBgHJKBCdgEJmEBmIIiYBr+gRkYBmZhBJiDQMA8DAALsAUswhqwBLHAMvwHK3AOVmEWWIMLsA6XYAOCAZtwBbagANiGa7ADe8AuvAP2YB/Yh1XgAG7AIUwAR1ACHEMccALvgVMIAZw5lAJjtzlwC87DHbgA9+AinAGXYB64DA/gCkwBV2ERuAafgOswCtyAeOAmlAG3oBy4DZnAHcgB7sIjuAdP4D48gweQBzyEfOARbACP4QU8iaqdggPgGYwBzyELeBF9lyAM8Cre7RpsA2/ii90KuwPtwHvIAD5AN/ARPgCfoAr4DNXAF6gBvsJH4BvUAt+hDvgBFcBPqAd+QQPwGxqBP5AL/IUm4B80A/+hBQiNMswhqzGarME8shZzyTpMJzrcSMpxE6nAGFKJGaQKY8l6LCQbMI5UYzypwQRSi5vJRtxCNmEi2YxJZAsmkzpMI/WYShowhWzDdWQ7biU7cBtpwe1kF+4gbbiT7MNdpB13k4O4hxzCveQw7iNHMJN0YCTpxP2kCw+QbswiJ/EgOYWHyAU8TP7EI6QHj5I+XCV/YSn5F6+T13iDDo7ddAjsocPiMTpDzKezwXo6W2ygc8VGOn6ebCjoCmroQzykj/APfYznBhfpKwaf0I/Tp4inz5BPn0NDX6CAvkQpfYUy+hrl9A3W07eopu9QS99jI/2A47QX12gf/jdYwEA62MIgTluxhLYhk7ZDTTuQRTtRSLuwkpahhJajlFZgE63EFv9YBYYByvEMfZnNfwGHHgbxGnm/756kVC2+sxXIHVXgqFq59x4UouwTVCWGOBFB5emr8IKsgjzz299SlnSEjtNOaYHTIbkSXpfTE1lmsCklwo5SjshdxTLNSIVIC8SQV9XNpCECupJzZTAbmqZWLXKkX6VBHRt3xRLuoOLtIJVbQXXaZMZ2cEicffoSnlkxGzyn/SB17zv0E3pV1vEx5KaA+ayDmzsiuZSUp2XJGOmE2p1okwKO8Xh01RVI/lPlLpZbbrYgEVJlBJ1sUhZdxhnGJFnNcJKVgqgUxZDMfCvP+gzJrgwhelibAjHcZnTEIlPGLffcuTkMvYYNo2EpdtP17FTlJTie3AAwKwnAZiI7vd4Myq9thpwbKzslxbB7kPYeFD+w3lQEbPkMvThajkB+FRtIOUo/vsDizWl95ERr546ntSvDXmhSJIzJwYoUHqjgx1YITtGmUhn3Jk2Cg6q6129Vm1XJjlgdHOz7vbL39eiMkFS9DBHHvkZdwerwwpShCRUINgQC0G8xwyZw63mo7NDsDDuwfldxDT+ElCWrAi5V0BkYxjjZojaTtciS6I3yT4xb7IXaHl5fFww9mDVjIxYxy/+2JiYc/tzgnhl9Q/P2zF7rn/7EvLXaLS+tKTKJh0Xs3+92zBb7FD/W5gdJ1tu1WJPs3wJP3oTdJllZso03prxgE2DA1bcKdR4JVYd4yF3QCsaCTQBMPpeU7icHnIQTBzfvTyDmf1i927TYAIyx78Bu2+AgxBUsH9ACQXa2phSnceVc4RlcltKeblHvFpQJaUu7zxXng80MVpsO2+64uGkhXtkdjdB5hK7kapXP9SlGYICNUmCrRc/Ry7ElKZbl5xhsDkmJ9p9dGAwSbtdIBcK+DBl2Uoocx80sSIVJ1ZRq5jGDiJsQxwbLHAIT8+RNiT6A87n5KdulBRgh7uJkVnZNkWCvuHs7rDtCBWCFa0wYcxYHBqm6NqSG28KN6E69pAk36NzubAJkxnlIKhCGgExjgMf2+utLQL3XsmKhH/fcbuQF7ZopjajODBdr9X+Wj2/Kh0DFtE4D4ibfeGvjMttwIm5TNKmtgNbW1Vi+HbtsIK4wKGQbmVCogLjEVuILXGAyh9Oh6vUQSOe4mg6U1LDVzTkHt8/N5Z1wOjUubMxY/aRQ7cI2bANq46LtmOhnrWe87RcotBAs4htW+d47Wm5wyNNHxzW8n83NfFzinoFyXzf0solGNadREI552PaS0A6JtAhjEAumwJpZYGAbXh0BS38ODiyFmZLcooB3szmpd+osOWcGFOWh5BUsjF6LX5UpAVN59RzI8ljeWDpLRWF4mb1PiSBuVLBZexxJilHYpcmiaNqz5211hpun336/vXtzXpw/aIBOCaGETD3gOmiYs8Z+zjPHI9vN/dRJLJgerQWpIUQcF+0EyAjVFSsl8yyvIOVHGRBNmGNuki+wFB/4QqRH/ucwFIuN4Re4kniCDImy0D6LeI2yKC5baRJxJ3J80HTMrLKcmIqmLDDE6kQUXDvHDBNhX7Jdq8IPFTSrUY2tTzsTszCItqaDkcaWLQ5ErNv05a1tC7B/Poy8Y2FSIvZ06xv0iln0PlLW+6+V5sPnAYpH7pkBwe7Rm+gz/sh0JPS9b0wuRhtoNnhOgV5/89QCc2izMLDjKVSEEZjRFhlQuE7LTgQ3oYLwoRCoNEvLMIAUQ50UhVxT2OrzRjR9+/JHdSL4KpuZX20QYdrhpqzE3PYgElVQWtAdq9NmS1rUVapFv2zW3iANO4IGIkqEFhXfE4FbKA7xnF+F2gBsB7QdeDfHdNwMij1oy6lNynvXsO6hM4ql+y0A1yNJszjq7qzn+4fbqKmv9eiLWdWsIRWTw6DBAoxgDu1V0r6l0MjpZZNageOMUj3beL1avVTUrYeuZ+2uZmYPFJLlpQvzSw/owGb13LPVPgTjSdDGESIFHF8Wx0XfMfXQkhdKkX1nmiuwiHb4V/u+iPlPopCZqBAxBUwpkqqAADmRJvlDWz56FFOqYRKSyJSyoGHoJ4FnEuZLU4zS6ea0luO6THQtjR0Dm9xBnDIQFJxtHfCwuRSX3R3jJR5jbzMz68J7Mr9wr0Bji/ogz4NMi1XkLEFzDsrksJa1IxZNQwB5VbsdGjUeler2dK/K83l3xfw+JQAuOfzQ/RDzaAOoQIBHpV+AqkbPvahIC0jRaMnnLQ8xdEVDCMEqgV3X47Dvqv+s9VLUkNpM4Z2Rz3F6XbG65qdnv/1Hx5zCd7Tf9VoHfXll2U3pXIhv60n1/oHTpxNvUbkpSgNZ+ObKs5lJsaKs3my0gLAHtlhSovC8OsUhyQdZvCwdvJPcnyak42YECo1ZkaODxclCjpSQ5UI+FM0CfFC6ZnuxgVoLe8h0G1YUcbsCgl9M0GSXMBkL/pSIXAYWT0AWdRrcVGBda3du9+RZV8JtKquwyVSj5auy9XmZxNHQgcOGlCYIHEo8RYGpbu4KtgVrNlN2tqmiDTkupxgwQFbKDI+nFUq7pu5YBTYO1gI632q3SwIRYxTzQYmUa8GXr8d2e6cn8g5+S/Z0HpPeZudGV0V6UrZLjNNZ+rY42g56IantHHl+GJp4cbwV3jY7uUdz3R4TO95gApVZ3CZj7WC2RC/4u2MI9CYX6RpCPAUvmU5qrRw7uDjJIqXA/R4crYg7sEySoukv19j4FjG4d6BhvGNpBCrs6ngMoGL9/wxRA6t6YRXuZkOkhuOH0MxnVoyT1LSSuK1ZhNGmWFIGRX/3NLWZHrG2dCrw7EKhkcshZWD5uQrIDUNvzEpVYkqDGbc66MNEaBzfwKrvg5x4RQLXT1ebLEdD99w/dU6W9xA4M9XSAMuopO5nY3n0fm1ifEEJGhjrYi9TbOYmtENHzlIeTvt05DMcUOSMXihuDqu7kNi9w1rPZ82e1u6OQyeO3Gm7yqlv9jqj8Lmr9EUr6fOLtaf7VuGQxig/XRGNZMDvTrnwMktyeoLbs0BBhFgdBlgqyDSkcQriv8+OLxD60+cg8zm45HtnaBhwbixyQdBjh52lZA8Zxo8FGZeyr5RAJZBm1aA7YitA1hSs2vEoYAZ+aYv/wMqqpwVaF7ZmNdTW97ghZXNfVrJ2+7bD4ekRp1tMjg+Hx1dI1hhwhbKPaECA+pDoJAqd3aNgMZQUs9q0layvGZWBKL5C8rUq2iXUl1IoqT3CvQulXEWljqTjgMVDGidwxP5HW5xOFTsjMtvEd0Pyhr2zrfM+KZSkLZ3Mc8zD4bAwX+Fc2SJFleltIzZ+nrI0T6wycng9i3zlTVzc9rJdPh6lg+EBoUObUpL0Rq8sUp49WsrrLuPMu4qOG3Ci9ei7UABQgQghhBFoOOy/bDnvqtLfHdvGfibGlVUqlU4pYZ8lnc3tbcS6IB2L2uXdY1tYbRrBHGy1mSZ+LNKqqdF5zRxrMtVPZ35y4CzrMIGBeznyxMgpsPRUbVnR/c10IBlM559b81eQCtfQAu4dqr7UkxH+I36hqO7MFJwlLjOTaHeZvxw4SzqHonj3WmRzfJIa2wV9DWi0m1WoqDTE55fdRVhA/V9QLvGnPx+SfQ7/2U+h/h6/+Fn/y9cjS64TBAVVeQSzGIE99U5rPfLyHVAqkgcjB33lS1xAiVAaknv1Hus7zUkdAxsoTOCZEX0jSPfYb3r27Xj96fn3X32j6sbJN9+y5xDHrqQ6js21VIwlfpbxAvqyAqRSkTgsVGRPtAqC0iHUE+bWYp2n4v4IoHRnjsW3scSz8AUZEcdcQBqz2b4wsike5QdplOfhI9K4LHLSWCrW2R3uElC8ZTuwG8NlZLKf0VdlVSyKtgZ9xHaJIwUGKai6CbcbUlS7zi8tAiiUOqPqww73FKDKTZBGBP+L+ahnwkBsDyuISRCH9iEtQpB2zLBq1ya64ghAsvywVEwpqHBdPMJ2IEaSdgD3kRSJz4sQoBOCUX1R0fALIfcLBcbJEL97JnTH/SIyDRK5gK5YXlaxZkktT2Xyy2ALuznVJUdDlQgZQK8rhsIdCSo6mq218Q7PUuDkoTfZsNtdEQezlKRcOj3m0RLxrkRc1SVtJKmiSQmJuh47blaDzVSDyZmNzXFNamPA75H4IlPGGH7dsdAEJKVbxJwQwySFXUUZDGpeZKSCa26zOeCpvxdHUq6Kjym8kQPtlIZSnSyzuLFjZ9585A5ZfwBMx0ZlL52BYyGwCZyIks8zfmRhmxKjsnGSPTBWMVNrG4XAIC9RR83cwhfis4EJ695iFrA52dYMMIzKzNv4k9sBNlrFNdguS5AzkGWo4D445xV9/oiiCAq8Qr9Nti7BaKgA2+bIsEz4NH9lC8ruXHJUTlh9mH5YhzXtBzF1jpgoxAzesOpljkd8ZQ3ItI+SuglC5N+SHo5WUMNC1AQT+I6yCgcAoV3kBESEiEQeqzZic3CzBrc48/xK+QRJwtkTyT9QSuPkghg0PbjMpG0CGWYKtyhS/o9FwLJAonAAbEUV2LYCIDr4ehjplyhmBS6XhkEVttVBEaq8x8DnPVSRo6NkGN92mnUdgsjQbVSJd+spEjxAoyNfLjiZA9RatF01IFHc3O5rTERGM0rv7utcApggsaSl6gBu0BsHa0DnI+fMmRF8qgHhPCgL/mWr0JSbvgf+BGmt0BWqw7iiDF4JGAQI+bENGyewNSWM4mhO0YZWlx2azRQ7nWjgiWadHWmzULYOPS0TDXQMlroU38FsmRQHN6ed+pglZ3HZcbD80tU5Qt23JOWKXTqYbGOceTI/IMkhU/hRilBekekXx2CvQrz1UKqJZBfnlYxfgZaV+nmOQctnN7tzJ+PphVc1bCMSL/lFLFEqZInosirSUN/Z+W6+YYw7+OEzt5NvSH9Q/key33OLAHBfFi5hKhq0L1AVFG69larq2ehaJmodDCN9FUWdC85t5kSdMAB+SVbG2HGqmXjzJi2TrA1NvTHkqRyV8oWQI5njkWJDOjVaFBoQZJMiQITOPT18TvWTRNEa9MFTE0uatjV0mkZ5SxHn47H28FxmofeKIsDX+M42nGbRkydNC+vjyPTzTrEPgTfaqTbqJUlhA9qCVT39sTOXu/i6jov7YBuQY0bPBmgQ6EvYdz4qRc287HLBxRXIjWa0qhqx9sCCdnMMzqCAQHN8JkQ4ZMLOlrJCWnLvI7WBU9ePiLcOdGYUYjX66MZIcAKdGKxiVbu02mx10qQf9BFMdE9BhIaSBUYJs9E91asVrAHNtih6w9Vip3+KRNpLqteXiGS5hKdCaqVzNgtxawsIvzaTVBcnfR9R/7wN5wrnPNNNuYq4z7W/O+IltlmMN59Ts1U4AIUSpjokBWMpwdwDye7Kr2rEUwVj3bjNxI8ynf5Aoh7WNqYLm1Jd+eLH9t69HuzGgdudju97Jn6FysRguagLJhHxXg4tU+b9kOMGz3bazFjhXfi95UiYeLeZJNpFDNdr4JHbMGWiueMGi8FF7AQ4QUypED1tj4vRI7EodbJDOVon3mGQiUKC3pWB+SWj2VWZXTVUdLIkmtx2njkmzLwbBjPzIPfmpbIJs1cwJssPQApLygOr4ewo2lQlvm2y3y9ZlvsCIPyD7M7QnTxcn7u9JFECwMy4+onb6R7RhbCpz2iosvRBSXTxZX4Wuo3MWCPWwE/GMDa+id2GK/FvsEHaJjaMSFILjgU0VnaqRImXKekIzoff5+3cFWPACessle6DGBe5MB2GdcUjF7PmIpKUt5hTxlry7nlCTOXdOzCmmPrnMivpIhZtCEl9cuLhWANOP/YK98mMBmKI05MTjxfhe83EftnnWZRMz+3BDKmCfinh21ZVIvwabSRDhHCK6eis1M5H0iaWMRQ2PKMxQxRlBP5Brn9jCkyzieC1CHXxhyi0lLluNy9DKgzi+DlFX8E9ONThDVTl1phO81vzbEv8opaumNvC+zQWmp2iuYuSWgDngram0qgOqVA3TL9lVa3jaBOzlE2VFJhJq10hV5yAxsALsh2Od5JTPij2ZAAvtSMg/nD9obiGFjc4NVPoJITl8Wc/Qb35TgnyX8UNHoZWIRJh3Db0yn9+E8XU5GR56MEDNzPfSoUOJyD24dDDY+gepzQEiiT0opEnXGy8X0zPMb9AEr26rUIGDxi3yQTYE640HZuoTeAAdYMsm/V1Kl6F2K4Q5y0qELflS3QnljSbjw6zaBBltOD1Sh0rdtatZOYvel0CaEd63l3dPsRPtLe7ZTG9Hvi64SUZocDR+QtcqwA1Vt7pKUBr8uzY40U6N9vopcnozdlg/AXO7Z42BELYz8EgPEI6/jG5HEoz70MOW5MT/E/8FImQeQ9WhXGrP6YjAD1eNCQ31ki3YhVYzykigtUBPYdT2+BvucLixokRlYph0Rl6O+6uJepvAu1p4mRgOikfAbU4I3RkdsG+b1vzlclth9nEQXqrWqQl1au/OSsyTpJ59B4MXIFZp28hPmhCYdMemPNbrA3clLRo/mpkiZsT4zqNC8AZ4weIihGUSsOZLDKcktw5OC8JkX7h+EUGAbSyIwGwd6JAMn1WSkxZf8fznCnQKyCALFiAKgQI2Ix2jtSoE6+cDO3bohGiKyp/dHr74z/d3m/+4a/a4HfvgDLur7qYeULq8QELAnSZtH4/fzGzRjKUiql/b/ZAGo2Qq5IZQNrYDGCCbop22FYenMcd2WFB40n64hxJlG/EhiH4DFU6G0pM/GEynFY/+CGucEmxtEiInlhZJACYZJYysMxDzTR9QUoVrtcaGH+up88sCG/h0shTMfxlIgXHV1HEMokXJZoEajjiDX9RuOzdNcQWDW9JyONdVdPi4qIlxlN/FfAlHKwwcehdIuEKctc2oVwxB3s5p/umnYXg5czY7CQ/pJGjQnpp8IRrqZDRzZHRK60kJD1k7oD1ILdQU+e1qCsg62jzrmI7MN7HTCE2VL8MwP5ieyHli0kr4EV5Y610hLh4b3LvG0EHNeuI7Qb0t11217g/MdqEGPoOTdy1zV3Alnu1FeOAu6cSjI+EAcfvHO8NN2H3+sQ5Ag/aHmbfvw9KiVEwJBdKaV7yNDBddsEW9c0YAYuFMYDjAOMLzmMDgMymHXZr6q+vXCN4hC7cTP95xW3sKRZWo8GHTGs2W61GowqEif5Zxb3uJBBRziMgwW8tKUAB22zscXw8JbEInGa6wR6m83DgQxyWBH5JY0ZXd4HnYHa6AmBm1M2z/eynk7h6NdRBgm0vJXns+wCBA4Sb1/6XxbvvjD4mcXxEepj4xBOGezs5/9RXpJODn84M0t84uEFgvXLyjTMp38FhOz5adLdqTyQBvsewpFvwJgILxrdZ5x9hNmhla8rm4Rpi0XanEdLfgbFQG2TiF7/4c1mGb0jETOZiZsmfj/wT1n14Py4QpP08oui6OQ7acR4+/gPYpLms6/by2G/By3PaSUAA6Bl8TmwiZlh41i1YRLKAb5O//6YB5mvlxOpPfM/ZEMCGyu0fZUhCMtOh+I8fDwjOrAH5KFkWc5ujB1UOxaUvT8pq4B0G/3yeUXiJuXOpOOVvrE+2DLQ7Bi4BBp7M+ACno9H5o0qqmWDQe49O8Qy5le5KARoH7ps678PsTWkEW7st5gtf+OoPnD7mBC4AidXO2e/PEb3gFnH8B3HF78XhR2Ji9hKUDa5Q0wkt/nzhB22l9YQVatT/fcM8BYYjUfB312F52Eef+nvg5VTSGPvWRC5jp/wvrDlSqbayYpjhadpBm648OGzJDov6k9vuMfqk+KwHk/spnOQBpY3+T/gOu+QcnnogUh7SM89K2C8ff//xYVP/3ucm5fUeaBiF37xtCMCt/5kirLhulwQ5RaKk/Dzkmgt7qSa86Ilv+0okC+Cy6708gpeOCJB0Id3RWMy/MxmqRGwawlF6hMEcIMF/y2u5kPsF8koE7j9sIrkuNMkMgkAy+U2Wj393IJyOwWAVGfSJ9gABpr+5xfp9ZsFy43nyw+OH1xYQNlHxaWh8G6rotX8gFRbQs5RdXLbpw/R9BQ+SjLhJye183oTzddXfUKGdACT3Eejieh0+4u/f3eZuEhk0YghnIScmY/jXj6eorqFtlryGxSxua54d4z6AyyhObeFZnUflOL5Saqlb8+yQPoqk8Iq7/YxS9WwDzsFi+s7x/mgfajKD/Y4imlEViKqL8QpvmiyklsNUxhtkYCnA/QF/8iDxGqyxdySqXvfzURJxOxp921VpsUGCTOGYR6B2mF0pCxLXDY4GUR2D/D9c+zcQYbClKfgPfGa7NNGKSCbepROEExoztZOGTQTeQGtJxKqc/ICtdcQ3Bko2GR6Ba3idrIrBkoNDipRUJA0ByOmtr624/TemQwWg5q7JfmAzucWwqUDZuGVHIlho2aPnQJLHehPGOtT3UOvtYcc7mjgHb0y7HW17KXdQ7zD8kyLtIRFF34iyzkUrNHIcrrd9hvBel5SIsInaLq1wDULMgzc4cUZbLb8NBw3p8U5uWWiuUjfLvCSJk70aiQ2YY+ZILM8N2HHyqufoDXckUVSr6/m80+s2MRykXJCe8zZB6yyVZUnCgK5+LvTeGcU62jHWMJoa9kHCyXbaCY8IY9+56ww9UR6HHdSE721GAPSZqctCSbbv9h2zZlQyoMIOdFw/tXvBM83I89iSSn13I3LrcaoFf5snZcd6N0rFkWB/x8jvOfA0SLk+1Z5aIxvE78g6vC5qohtFQUT41r59p4JJtyuK8q4dWuZbuXOXVOPkSIzXTFqqzJpYOEXkBsvuneVefM1skTNYfMbysTdTWzwnJbRPI7yg5tPlZ5sX543i8hQWDWaBKH4OqPyLpB8oeU/ECsBCJ7VWs8tLSubnTs5pwW6acUtfSuy3g/4NJ3g2znvdLAqSdqcjsHKUXW58GjdsQ9crK2kauuBUz09Ws59JrOKiAQvYb4Q0TptmuIlQTkd76aFaZP3nj9OGTePsxj3888mG/CvUcHt+x6nPXXfMCm84XQp0oRM8lNl5DZIpnMZi1M3S0VMd1MhAx8zMhfMv+lGh5n4pPXQDC+FCUDDO/quAm6CU/yzEpSNk/kb91VvuO6a+epwt3W68cnOBe/7KPDSbjGDTNmxIRI5o1GSGN91RgN6gptEL0nBBreNll9blmTpGXKqr23CWCKTikCL3rU/5Y0aQEBOFHHqJRxTKPQefGUOVMJ/jYfiCZCSvLs8cd9lfRv9iNe6qQofZHG5Pp+9kyPDear2OL9r2DBM16/xSpHPpNLatswFyUBF4CX3vKwXkdiRlJHscYzAWnk8EA+dl3CIvQWgs82LPyIfhxuxquz3vTKtJW2ub+Z2+quySCVHN9qsix4xzrxJhPB58uMS0phvzh5hs6UFlMb7DVeTtLMor6V6FZ8E8+wpWkKRZWIh9pWDeXsI8D7XHVU3GVwqUeA1QKJE7h4fKpvrCY5+zZD4iuprUlh5tbD0OsY/sZlRmyN7hcsgZ/kjHhchJOveYBJNPXN4P56m1u5ppcDVmXZlkEe0l81klzGRnJIHiDPktfklZwm88cTn6KfEOiWnGqrLKZCTs1VPBcpq1/Gl79QIK+oDMxMnGMVi95WlKAAmb7u9goTAhQGL9uAunl0bUs/u2zMRe2Mc018Vcb7wgGcup9WGbQmBUdQPz/PUr/D0LGtpsFpIZ8OyiD2BS0loqghKUwRl3YrybBY6zsRPEmwflslmr0kGKn68Pbc5zicgp8B/4UrMR4diA7zqHRo1zvDETkuWu36Di0OnDEKABpyNF6u+O18+/93V6k9MvV8fawXf01q6nqr1J+3AgtVd4qs274n98PAyT/x4zH82u7L6CVQhie5JAF7902tCUn+FZvWbhjpuOV34eK0SAgzdObkZYXuHHJGz11NQKaxwZM5T9EefPPf2SuTAsSeQiUziTUBIFB8UZhRhLjfNlw00d7qu9PqZIVQzNAt0xT8UgKeMSNEiwvZZmFI03Vohi1BgO9E4lDNR6ccbabj5eV3tdb+P8W19noOQgmna7bFt7eObVxmQvDuud0drY8B3eBHOBA5Gi+qbfXRPdauSVbMyThcjGz3qZ3WPaCpc+dKJFviyrLxwJP2sbpE419owpWcJSnNDjSTKkX6ormfsG8flS9V7AyWgCtLu2nu+PthEu2UUOjh/OFfL9xN6bWb8ySc5mrWlnLv2PP2J8c7wUlfccyUwSLg1nGycbMVh2cz4A51OjVbN4wSqeHlLd6Z3vYjUtoeLhCwJ4zfGK5nOcpXIfAnluFvup/F75PM6gWQj2L1K+PU9xH9QEpBLKNlGkQfElX5DfXKQn6CE8niUX6IvPvglm8pFrV8qHPoe0SzS2jFfeuV300F0PKt+xSz7Nsd0q649Ky5piI9VIXhUeZxH30mTS8PPMa2oOjRDhvmUBaBJrAHr9Fvm4PNhDCoC8psczgy1H7rtXFFx8Bfa2lXvObgfTAb90dNixHp29hrXRcsm623ccZjlEFMPvmPy787vWaUGwFdgZ8BT+STiGjfIMCEQ6Uq2jZ1ZV1Kr++rVoq2WXJuE1RuV8zrP08wsI8kC51C71E304pS455mlKdqweeHhRpb+Lm93PXcE+sKaKnJekOzsue1LkkuUycWSdBHecFw7hVWEmS9dUUMV8tHYDulojFGGOekbmi/PdfG/FlZWpRXSQV8KAvRZte+BJQjTVJbrPC1YZeVM5s+c8JWH+ZGt9D85uwIvf0X/7r+F/revNsG7WDcYnjcVjXOeB/ifH3GDv+H973h675d+tkP//r7N/t/j/PvxJoxwS3Uy/hOCQWdwKRmRUp0WcRWfUAq87I6NiMMBw/wPeWPzQ0v4uPN6UFyCfYBQzJo0+krMo9Czyx+5efDG+tzvQGD8KjY//Asem5y/u2cUzNUNNGi0l2pwymDOaM2DBdXsCJ0pbYBsMuRsIhS9eEgEFQAAKN4+oOSgYr+9v79fjgcE8oZ0wb2DS67cKuOFJr06Yn3hlMUtqmw3mObxk7eW/YjnMSN4qhrkOJHrR1sWODimwaw3b3uOGxePhvZEzMcbsJwA3TBuufwJR1vPQQ1YxqU3GpFetGGW2zlKOBMZ51tPro+qxcFpQnHs9rT5862CHNwXGe06Wj67HAThtQZxbUl7EtYqkNZHoGkINuqBj0RCSm7xauj6miNVpy9JqcMC7HFWB8tCkvuwg9ZM6XqZqPFDRaL6mt9lTBtRZkMyRK+16AihqSjQlE0R838Ht5+74HgEyKUtuWUZCajUUiX2Ldfy1/7OdMyv9DBsVJk0nX5rp/f3HE4HdOi/8lNEU3qvtRFxDyMmogDHHOwyIVBPKKBilmFBL4I1xasCacFtkvEyukww/12MBRvs5A2MACDfcC0AKnDLcW8pfW7VWSIjlGFiL505YE+riQcfsDyGVn/B40tCjdndGCP4K2BBJ3DTI7nFeDkpd8nvSEv9Lb88KgNJX6d5Bi1Liz+i1MQF1Zo1q/kl9BBxFNzjAnymKWsWLdLKKpEaL/VWkRDZfhDVOkIn+Nv+Rum9b8eL/cFA50MfLPY+uLqdb4hq1EZzqNf5dPVwNNLjhrP/K4bsbYbSoa3bk+GqRHdi7IbjYKeb4AvEMv4e3xgt6HHpfQ88TEMwAAfh9agbz/I3Lxh4RvDVfh9TvSOXP1BR76wrWqu8Mn35q83fxB6zpSfL9bBVN5z90/Ll+1U2ZikfkXuuK4p/uND/WSxcUfA1j2mbDajfC1LCsjRuz6ILV1tq1Z4blXbWNhLKzQBSIzM6OhKKgrGxoZTsrCyRXlhVtYHFNmsoKak1qDzU0Y5r27aCP5LKCJhMua0PeIlgXjmJKISCPEKjEk4JXnTBYV/A6doVv7jYDMv4XDg7C5uHGvwwo2wwKfCsbsD5dEjj8DYzCfs0D8JfwP60KfavqQwyAwWu8Hn8T8zbMMzXff95ige/oNPYU/De7nTcHP4Wd7xB2zGNb4XM8m4Gyk6OYcsTECdNxCu+EOfs3vBXL7iV1EE9VpjgLY52E+Rr8PL4dD/CafCfZXWmgB1UD8oXSTEkAxoCgtCcAFiDYx+EBC8LHmfH8xgDPD5UWMyGWdmFKGKqZFGZNqJS/c2Z8SCmpBOM+bCTujX2Hwh2S3ChojwPuYhvdAh/MVQJUvsAEebX2FpdAtns+IOfqFtihb2GeV2hCJXlQYyMsD5bf2JC3AlfZUD6U19iYt8Az0d0jOctDlcj3jIHy8iB6FXi6wsB+SwJIzzA3tSRUkO1cygiUfsmoXRViBSEe6i/XEUPyaMVOWVIOzuDSALmUFxaUIfaLst9h8Jvx26Dr4CXDLQlZwAZDci9sye+m8gIGoXg62YGduJaVE3aYhCGeH2WvYR24Ok0upnpzzONGIb+MuPD/Fjk4QI70/rer8M2ARs3jLb2hbHLhBxo3FC3yLMg6XOOcl1eTdli7whMjCl1muBcszQ6KyVqQyNkC9wJ8aoDrZrREc1/jga5He2gyeKlDaP4FqB7ezLvPa4ZfRph4iRZSXBGuM2/Y3IQaKfNUhHzGFOLq23ARGzvYQqS6IaLNqC2IE4RetgwdZBlE+yOQ8cjCKn8r1tskxjTGRgOVM0kF2P31DlgRQ2JD8mJpjMjeoBFLKmDm1Gpxk/RJ3HCMBDDaUXjCcKJe239jEF+krZ/YWh/C4A3gqPnu8B0Yc+w5xuB/BxwwsXTg4PhNPea7Yzp7n613PYpHma4Px4glEgxMFK2VUb5B50929HGe7D0Ak0upCA/BVBbZeyso83Rb6R4vh3pI8aM9IDI0w97NcxVTAI0tXS+2cXMMsToIekbjiV+zhRG6xLZAgS/oJIWwm4BJsbsQ8dA6IsR4BdQzlmDWCdJEZsD9k41KyNplXtQZTzCbE8JpxVQ+pCopTYYcHmLdqoRjwmNVhsmwkhIoeQoAugSkgpJLSpID7SW2dqHRCWas/Yc4pQUkYO8dxPtEnV7w5ovZ1WlaxCXby7hweD25bSJo15zdV7un/uvU3+zG/ANPP6WF37W5i42Am5DrJ1x2A+/0A+jwsWsBsrE3Kjs1HUl4S6+H0SLu2O5QPbu2UDY+Z/fNdiyA+IOnS7gD7wL4Zzg7I+jkqEEaJlMj0MVh0vDT+5KDwkrEvv6+wQQKQUCwJNrALbab/UO0NKEQpwmW/YKjvXeaSDFBWdPouNnAfooJheAREdZkzNE1y6RubGK5Y2rDwvjEm8WjAraAwzF8OADgfUsJ2MCNLOKwxWJq4jJtQAYSqXva2fPOieRJw6/TiYZ8vT78UKI7PPGTFxJaM+ipVSti0cltDw3/blMBQWr9e/h4d6oF0cwUwrFT2sYYv8kJ4KAONMaIlQG++wefbm9WQLeFbhKTjJnUWdcf45PAct63m7WzLaTBUwqVeFzWJfn2+JW4+0gHo69QyuzKyANsZpl2lSSZ/0MgEQv+IEtAJzGkzkssYDw4f23D86nYypW3bjXP5Rg3AY911QJtUAar+datlaNgbvE9lMCZW6uQB6ndHVOTldVs3MwpqwEv748fHvesws9VC/7jWsigc28WNLmyOhhsePqYtyJUo1u8BEGv/ciRj+Puox1fIRDwMfwPZllImZRnzCu3K+eB6gt4p+2h2vn5Hraa3TV7O6cpnVd/F7vIogdVaUPXB7zAdZj7eKIDIoDYF7vARmreoZGGoRQoq03odppr4IEKgDQd8ttGCmSvvEP3EQiEVHQzqcMb0uxwqw/x/w8E3Bd//HAjvv/w9v3m20MwgPrp3RT8bUKVRydA+HZH9BF0SIEBRKDjKfgCWUErBBoh+F3kjq1BR9RE9C0e6fUWFzoIg/mCnyIi54mnUOIkqfQVD+fB9CwoWFn0IwN4ciDme8wUepo3z5xi6fuYetYUc543jZ7CvBeCndQasnsZRu+qx5QllLH0vPeYMndyDbSzasxZ5HU+2FUC8/J5ZvmCz3s5i0qCVdKPUhYyisLrGXrme8b7W2vkGcCXZd0Sb4nPcgb9WgPzzIqMrCE50J/IkRknjbKC094Gh7DFRniP4JL/uUACJSdDEtSU6xTK2y5dFplu5+2X7VQcwkkBRjQykj0Fuwub4iK5c3z1OXMQCXDvallggVKumHcCTiSFXCAgO0FO80IvJPjgBJxJAqFCDmJ1AW5Pf4zwH/Ivs1dZ1tqfX0SQ/+MVcRr1+I1oDXeidEEZFAIFd8Gyv60u3TUi3wzxiW7tOwDev1k7DzEP2dx8zquB+8Bq6c+5Q+eItGbaI8IZ2YFXreeJ1yevE8/P7AWnByeteq0mHz4atum0njz6VijwCIdOeIaVZBW6bPAuJsCX7XHG2GcmBgk8vapBOKSKbg3xKTi+bEFp7MKZvXrK36ZSqem1MB94De85d/A8kd1El6lU4PFj7uQmwrVk3aH7jQIh0G8id4q7JF3iTstsTieEgjoldMqAEzEpPtl9mTqM3IRJNljD9nZgx/McvC3wa5FxFbU74gNsrB2btaacKDsucKN0DyZDkepMGRQAQ6HIZFhhc0shBAC7sMLkNA4q11oi58gl1rkozkQAvYm90BCSXG+ycImyjnrvHO/0voZccmDmKx2Xy8kl36A0DXcV9jkIBvJZ54XOzskubGsuyc5gQUyJXbUGo6m2C+XaIsPpmgWeAd/5ehg3iSteliJj4zadTJBrg5XZzJxNp2lRPEINwQAf0TWMXY1dCHC8HNs8g0mjnIcWxczsjadzGNmhSq1Wue1SttEkjoAJ7mAU1u/UX2K8jSxqABtOWgStXg1J/6LVZYtgARqLvKsXWfdC/61GLFq+crmBlQ/UfM/6rjJQJT9OBoD++dnk3GSKqiZE3RhcK2fkm4NkarWapj9bm1x776pJrrnhFJWV0IRvLIRnyKM3W+2aR8g/tPIQwTorZfNVKjtBB78pTwncH5gyJC//zGibZzGBUABBVT1gsubbgF/3Gx3QkbXULqr2kzeZrJyPjXhzVcTrp3DDqKKkVgZFRBHvpF3gHBXUX94CM9SNul3ePxMW8iwj0oZiJlyfg8iaKLZWUejsrUUimx2M3NiRIdOvueZx/voBym3FvCDzbfme4rn/Yzdp98vSfU43Zfeew52z8+rmxvltP2U/Z7G+OzXIOc9Io1RqjPKdg1IDIEVu3qoZQScCXnf5ch1cQAPWB9EpAJnvJZvxt46Z11oKrQVVvGCWxES4hiTl0SfV6kk6jyQ9bEtMgllVPGuBpdC89titzXgJ5+NHD6VZ2PE3QSJObexQghKVCmgCk/8JweFczakDwo/X4xayaSLYSkEPqRUMk7gwM6XHuXNdOi3P05DtSd2pBhsclehRe2GImw5WowSh/MrF6nLvUGB6oK3Cd5XtoI5DO4ArGYcFX/GrtI3MiJTFIpsIXVQEdgLLwA5joqHU1LZ5mBFuBCuRssQ+tpV+i1NtPf2CMVNjNWFsl5CPi8Or+IkvowL/qkD5rLJbt8wefSvXe96LId25+j6DsPSUNepu34WdfgjvWESMMndFLDwKWpqJisSeRKswkadYJEUkR8UXS5mYCwwlHE4E/oqIEvpt+hV6L90AO1n/sX4SayBKXTHsgpeYKSXh4e/Yfux3s2yJEqA7AgNG4NJGrmEPz4rXY8htlMJH3h1W6Tt1ZiXwLsOPmeIZBm2dbQYMCerldGwOuFF9axi6YYwLZhgrx3ILHaOGvbNym3ZbUeVOdm0FQ1hnzMgOZQTjLIYyai0OF2wr3qbFtz3V4ZrcGpU9geGS64L41b5eU/yydebo2txaDEP79/aq9koCA/kcZBB62Mu3uc7J5SxTDW9/m7Qc5pDV3Cwqh6LlFvknhZ3wy4bDPh7U5GgOPoPDs/2k3Z1bbRpmLk5SAGXyWOOs0R7gu+LG5qdbnlpZGoZ1084LcuTnadJuQ4rMO+xEr3g6Z1rcm2HnEmgcahZXTeaAIq4WNFwjiS0kJCuSxEJM4g6sqFW0y6WBxMfvxISHl/eXf9aYTpIHmaeX6nlkj/nuElLJkliMKGZRLYbL6mdxMbWLHrkKLt9G4AV7heHnlbfahxdWZqxGHLAyMD/wsTyJEHmXcWq2+OzIQA1n50OIIqcwkfSQEKGwStAjcW6CMrFTirpX47JWJ7M3zjlFUuYmwEWiNpsrut4e2V5vUJXEFM13CjvnRdSpo/tG/bY/EWW4lfHSNczUyBnDNxoUw0g6W51+QhYqA3xQ0prYV9hNNs20K7TmhOPj3CmbJvYZFgV7htZk00Qbh4nFbpZF7CbaGSyFdWavo8fZYjHM0OR6+oyOgjmjzDdfBUWW47uKfDelNdPOYCi6M3pC45Zi0Z7VNwPPNL3RSzp5Ru70lXJbl/aD8tVC/tDqgRFbx5bfp1PWHf3fED7tYEzE7rvMv+AnVh0r30K5++uz0UvrF3K2DlwvNCDjq32W9QMCAm+BX1aFf4VQXdWybjIeQQD9uV41/SQCnAAIjTlLSzAUTZNC7mXdtivvy8r6ox/gB/dcgv/6hbiMuNTeSyQIAeC9jF7gRpb4L4CzXpet/9BaJ/o3FZptFzf5mRWKtjvnOz1bsibHe8hI/SMrq5bFYTVFyRWKnRoKuiQrq6Eb4OEGAF9TwSbQzxAeD1+1lEAyeEJy/1Kvajz5AxIiAg+34FoSn5RN5E/XTvOJ2SR+UckvdAvKEtWM/hXnhu5E/5T8RHegPcWnxlc6o+JOP41DO21fHVQLFtRsXh8Qh356GhXnXDV+eppPqiPxp8d4lb9rAEQFoWqz/eN+JGUBtMaF4EXyG99vVuQNfEoPK6hg/7+W6GZUGKo5zbJEpb2XnctOayPgDwSWkfjEdFPksmleyq4A3YzhYprRCzBNGq5GJiHQ8VMb+YYZKvb0aCzacf3mwOoF1ZvXO8aiR0+jYwk3yG2fatO0hSRfnYa74/8dAIKAdBVh/xVfojIDlDr/cAYZSqL9lUbCKinw0i4eQJeXYuB+xICJRYTc64Qh18vPxp9ddh0iXM81PkRtgbUcAp4xuZXltznNUN/6yn00rVUx7U+2SEzpgbRWWmiExU5TRSK2ms0PemoWRSRmT1OLrbTU6WkOMYvIJalJXCLY8+Od7bDtFJncSMqVy3NJDmTylN2w3eQhlnkzARERge7Yg7jebeAsfR0iUUT6pC9jLcv88PUBAS+HIsxkstIOrPb798cYaYbX70bc6Ma7SP+XimMifdOTMUCvlFDNP1p9NKeaqf3Uj92PDo8T2YcmS9hEM5UqRCKTeiSrmEkxz14OEQwioBATX/+1a8dGxVBSEhATTVvbIqWeC5OYqtjXb26j00qZOizt2L1nwqrHejIzK0rmZd6/P2zTYQPYcNN+OACIAUQ/AP2IgMLVjxjIh6e5tsCHR+DN8JaGbUZgxKQlzKtSnVXlGcR+Uu6gxNo20Sm0Zuv8MkCj0Jtsa+AUWK22Ovj6kgb3FxrxGYWhLynmsYeaM4Myh7verSsC+tdnEPPziDMhzs/7rULGWncRBWysXh/qB69HtflxVuj+mUo+3FUnMiXft003ZBuma3b8fpYtDgBGz3FX7IrRVzBq3ZX6eMwVTPwbyyve8YJzVaD+ik6NuYIufsVJEAaAaFJyYdUYLNWg8K8TygR+hdZE3gl0BeYEb38iVlYlyKgKqCwLgZxi/F21wg50F5pQ5OCuDKiyliVi9/NOYCrQJ3jEHUP5vIXn4fCAswtsQAy6UF0Gxp2BuTjXy2QsjqlATTfhmNDVAlMOSyZLTnJ23mc/Z6ozcV7terBza8/Bmj1Wc9hNcMpaCrzp8RkXgzMRzIgzrNMypux0E/scu8m2mXaO1mzbBPz3tTJn2gXoya45szrkw/Zv73bfMR0zG9ldamz3H/JRndlcVzAR5izextHafR/9LG7i+MOz2AngJ9oxKUC3Ix/uRlCcOUOwdrTBM2f/szMuRRIegTZmNoehPF8KPvzzDLt/AZ8z399kTulc5uQQgy0gJSNUiIWkdxwP3TKnDop5TUAN4Tax2vOqV4IZcD/1T3os1mGZUwuVoA3UEoZHP+CoLcucdB6cd65lSBWyLPNoolkiA1xr0QQQouS8s1ALWqyIQdIUGh+NIv9Jdf+qesGhXxXh307nUlMO+PYDn4+6dwLUNuSjevxk17uv7axZvKGTIZ7VDq5JfH3TrL3lrnf4cfw74D9Qy5rdJkC9k2EiCgptmjIdN53aVGpsP6tBercL2OtHGvAfm3FwuM2+feVqDEO8znHZ39S+iQkEQoIKwHRhn6dJEIiJv3vJtDvuAoedmKirV7rY+JOT0jxcI7HraO5O4EmF/rh8eXYW/Eww2DZTHFWfLU+pNnXS95ytSShmD8CtVrxKXmi8MLlwFmY9EJSdUPO1XCfgtDMN/4/Bti4V+5I3qK66ZKLcFteJQPviGxwmwNuir1N1APxM0uYtMYDdUh2u81gfwstKqGX01QM2nFEDH2m1rjTihmCAUJoogIh84if8+CmbRfvyM2EA/ZFiu+jKOP4TkU9qa0/khLX6DVTGCxCCOzHQihOhiNZ+oJgKxh862/R1s71thudXS4kRhhtixK26sx947+OyoAT3Ou4HEWt5/ILp6YQFqWLWB67bVpBgMTKzLK7Py4nJWrp3XQFUCMmuwlzGnlaMNuYbZweZ+kYUhckwd7vZ9Sb1bOpaP+TJV3PaBJO42vQ0AK2Bdu6GykmmITHZHtjI0KHsW4uHos3uAQjw5xlrTx+JvfZU+hN3vQrZR/mobm7aBEmaV6/eKYLONTfFB1Ev0t9PvFhdVqZKLCnx99X/elL6+1cNPqMG9EYu8GdTxPZBbul011nO/jVp3cmb2LZ02wTv3Zb6/JKznZ7Hgp1Bu6YQNwXDU6vcK4vc70zQCPlNfs1dOwVLeAMn5/PpLnKbKU8ONXUm3rbuggM9GGKILeYwQWJc3PL85qa3cD42pg4fDgnu7Byx6bSZcEYkxT9LXpOdzg4Lq7XEharTh613wfndoWGki5wWyt+uSUYvhtmjizrCaru2C2IBeulSKWt1+I+EScQtwUg1g35o0qrLakKegtxVUGA9CdZtA1StVTEVPLqqlDhdqEG3LX9/mNEPkx2Nlr9DGemMUO+WG42Of6v6yfqWleviRq0IjdxR3QRGh5nQzW5wF0g4m7djJoDHflzfvRFanHz5HMowT5HXlHs9OrLWSktmYym/CzWYdYzBSRtaOx9xh2abNHd3N5uYtKjWctcxy0CCH0yTTjg6zzHboMPRDJOLdQLfAaSPjuxO1rHRnaNiz/xfD+vvh9FbrxCwKCJxX52Wttrdfx0wBdPvAPDaV+TljRx2GkZ6exlNOE0aSW+ASacJbDku7mwIJi4jXRqdtnEeowaNUmHUuF8p/+PRtSb0OKHJkIkwjm4ien1VFg9DTLF09Vhan/zHBfMLVPpozcrMkYPjBaaDc+JpTbT4vIOmgni6scr29kHmQUwreLHUCL1iBdoIis3Pj4XIX/7NDvHVB8/T7MUWwTk5wWzr/W4kpd43c1VUNBkWszzX/Nf0HBH5QST6gFz/KEu87nRu4k7zMtvWvda5h3+NLHW6jrbSO+Aw9TqdztvVErlrXh/gr1g8eqTQ6i8Rmj8OHzIdacEZxkt9EqEIT5byDec1UxnmlZgaS/k/jv24nIRMciysmR7MekRHnvXzlblDX4bOVhNeNm/jh3WkENvuZEQbz6Hi5BOo1QuurmIC5qqra2LXyJuaWHdYTZvIoVZQNeYOZoM1zksd6NUIB/DGUQhXeovUP4Oi5ixIzHZ7NUjsSe1A0FaRZ7sEhfI4PmJ+h82+Y3rijgcatbIngcAx5RBfEYmOYLlY0OvoleEwDPw0hPb2AvsSIbz97yftcBGfPPHF9iciTlRsZ9fe/tx6CK9hH6ys/UCpemEDAhQApBSmAMTvtuNQ0EqXFOh+umyFUY0DJfeS9RJr8QpRF2ObJfCWM8xsj7ZxXWGn4e/fI84gTjc5PQE4GH4afsZOy4RPW0bm3JLUD/cCYws0P4N/8paP+J19cD+UqR3HGSsu225+ChrIxSqBdxjBA3CWPF/SU3VY5CyMJxW/kvinfzNZ7pzKxAqF7peIFngBmLcX0MhLQwL9hP0q9iKjEq/Fh05a+zi1WJM9sj2Q60Ky0/mheSmnpdH/LRCWu0BmoHQPT4oNjkxIYYc9Egvz09yFwqQtTKRe4l/9MH0hLo6lWGQfAyLRJYxYPLSzm+QabR7vkRjYURFzHcU94s4vY0dGetwxKRdjKa0eFQ6RwGO3x90+lFPEgf2caJYtJ1wKQtH0LPDv2xq507/W6TtoOyvW71lf2VSpSVuanSgDbDj9IuLH5y+Oi9BPFXUpvBSGz8SLF4q9mf8Iwxe6sE5BRCU2GQSe7G80MeEpNIhTp2oGKXjGJvvXPuh7I/IzWjP6bSvO4GvDswLOn5RwdoVBMhQrhoXCKbdtZzxCkWkw4acaTBwUCS8is6lXPGgrwmEVEM8RZ/Lmft9WYMajCE0F9kuKi4P3J4PVRYOL/QkF5oEpeyWTipigf82L7etfntoNo5UweYU5HokQcEAcDPU0PVHKE8DikK34ii3oCjYcfF+WF4EpptQabl9MW45EojFId8NVhRWR2xPOCsl0Btxkd0GWpedPNEzc1tZICdLdRbM9Pa3sKUBYuZ9WBfQvTyLevkWY99QInIQHFK5TiJMzLeLcRHtTR9aPvLK1CJBdVjtAsnz0+dRUWFhM7ERlUmmz9sTD1Wt52avAHfPdBCJnbdSJSWlYbNylhPVHmrVv1pStoeeA4rctFqNEy5l/T08la8q3lYkb83gf4L7mqUHRJYbAiNH9Thoeo7zkZkbigC3esQH0JagaTtTketJonE/yEgv5z8CA2CX0GmQUZ/3UKMknbkmy3CLwpwqDnO8Ug5o9qQf6F6cQ797VxXuqod8qHsmO3MLo7srZLxwcbIY3/1cKLuqved43mIHll9nKE6kZh9zuHtGdRtG3wHCeCGFUvBhIoEglXOiFhe2how7UN/Vbgs2/S5CJDjeSHX/n/WlBt4hxmNZFczZRd6EOmulYBxKddDPvt3/EDQdkYonjTW8c7D8EORdRWLuzGKaF2a6CLMwlI/6D4bxvgqeRDTX+asXapSDYlLzYdZ8nKDwkSIjXB+v8kZrpNY3gT+STViiJKvSP8SnA7lNiwxERWwtW4Asw+2LJjNxSkBQ6qrUaBuMvF+aPX1CygkLI8bdA4IULmwOBI6N0g0XCvvunriY6XQHjQ6ELA4F/uzbcb0uv9q/cTKe6NJvEjPpc50qxc0JeY3eua7li4YLy8K86iwGrf4tqVeDQNDjT9DJ0Y9M39UGw/0CV8A+rMNvP3YjXrxH0dg8IreIj4flOsKQlHi6zc03s7SlwOtJjpTX+CD6FgS8vX3hnpp8fopptz8sSAOWYRDfE27xCsnq0ONZ25suaYjNgj7bWsHb3Xm643/Cd39rQpGAGisnKR6tQIBKTHsXNyPeNQkZh0m7H4v8fcO0AHm5RJjvKFgWbR9B+gKZ7jV8rMqkdIAyK9s3YZh054V8qVYC+uU2+4e1pdqyF3h5tqSWeLkCHUfh8HV93RYiIoRKEhPSQY7ykLzK+03yiQRk9gjXJjHlqyN+TuceT7bUhnot5pRebxNOEo+s6nroVrzq1EO1pA1tzkKzLPuN5JnPBu4thfrPDmhOKE3nXNr7o/0cPu3GMmfzKJQxm+3q5mZ1PY3hyrFE5JR0Kpqxe8wW4xqB+3bp7bOGB35THMRfM/ox5bFk32U2zoZg/yQAcpVO38rrRE7snzrfsbomMS6xsYqPdxLEK16NT8Ouwb+eCIehgolFmJ3S4WerX53HHfzFpMZfLOFJ+0FkVu6CRSkV7fEj32zbt8HZXpXkwCEFickIZoWSLfQwdgKBMjZHGmUq+OPkGmtqPQtPjTYvsMxBhtDDf+nv8ZckbyQZrQQAnwbCof1tr6ttdEjPNl6ImDYpC8gtRV5ZIlLV8nmN00pgSBokVGb8yWVSYbXLwwIuVdkIjxYOtvfIXgh5rIAL9zHigz6zZzPLCv1XiyB5Q8oqhMBdEUcumWKgDcAkldqK9K8Oi0QpECgcGs4beURDng/QnQT/7PuLaWjBO8ZO71EFgN0ifwS9gBTLfseZqPfHsKmC5sJzp/HLqjiPQaSHh1nTBaiepMxRVrFZBclAUSxK14SKhzDRIysis50V8qf8+HwUyEyFRANWiQBjIFpbWe+WdmmHKbU33G8pbHdCNp0rX/TdlAnTNkj8wlpxdUwbVQBd2wYuASJz3hJ2xwvd+jhl5up4Ly2up904mK23ibK7b3BuT01S8ZjOf9E4EfHHreg1MC2tZD1sMW9JSpYVpMBsSeQw5fUFqXiqBy+L0k2NYsfvwfJZ7NzuYGSCwz/KubNQ8thsG4dhbj222wHQejXb/PmKb+gaZ87EIAUxLREdMj3iizn7EO0uOmR4T1UKQ7+5iC8E+/v6gfJpV9EJ4747sAeCGn4L/X3MKkQtOp/vGbtrgccifH248Nk3xj1z8BvNtu9g0UwK3BZvnXJNt18Mfx8K4sLKistfc17GD3O0IGp/IjuL+HX3S9G6lJv9q+m6L+2mS+A3lQk5D8H5Z94qbQf9TCypH4ScXEys+51v0OofY1IMc8lkLGLTHyRSm2g6PP42G02J/82WmjHB6VN5B5oGQxPsKqACSYg6bj8EuJ9IS3vj6qaKFbFzBvgjrs29Ngs/uPku5VbOyYjVO+FhdKDIOLwivLxS7RCwMzGO8egAWb+bYs1ay8AmSE4hXX+B/BuhxJxDiA04+CiCncvmC8NB0oMxaMqP5vX4AQT77+ZBmn002rKxJRcACoXP+jTNjiPd/Hn1SZ1l+ArY13RUWAy+Jgyph4y1RT15zsy+BcI0L0cUV4Qrk06TbBekCWS9CpqDM3Y1wI5eVe8P4OnRd5+k/CdfzWHnXjQEDSqLG6csNGLnIXFxQLpR+mhBnEJ1RiJiw0Y9QkL90viJR+B0nS9+XWGgk3GSIzucGX+Dki7ZaimRFP5Rv5mk4bFZDXtrtyX8N8dS5v0WvrQ3vWWdwtogslx62DM6vsOndLtnblm4g+x4n/JmYiTwR0kaWTx/f04bgY3p7ZKHtqAfY6AwJXqKSuDfQ9qRJuPJ8hGhCueWcBJHY2PNEqkGEkawkr0ARbs3OMfzD7d/kCPw32gO2EEVAaZG5qCwUzs5S/FDJlONXs2NonHyjsJiIQ9NKJZFY/DQn5u+sRM3utfG9vPoAr/7zMtllsLxmXz714UpuisJtOWFIJpsq/mZjWEdCSNISJEBA/xkLISHVGdp8K7YqCvoGQd+CSJ05SmoNbMiJGyn0U7DORhLSCkB0P6yYo+/jCVTl1Wc5Fq9ySIflWS9OiFJ0hZik2YdbDHfBdufJFaDB7S+ID6UZevk8+pTlusfLu4ThPmqQJVcMwJW/Y2Am0dEbmSJYmJngSFewWRpnqCg6ZsK60+pOtEKyyAb4U33PVDNDWeroFZTk9yRr8V09Hl1ObiFEqrY5bDN96qAKJ7uY4iT4eD81LRaPNZXQzD9YfTC3oSmZDw8qJy98oTXjQeNXWanKOOoNAzVA1erD2EVcq04L2w76pOKI7Xwvl1ssKpHJNrgtJ5ODBJWQwR68EQx7R55as/oDd8GICdxd3WqubnNLwSi8jVXWybGO6VT/MIikbt2RtzMnL2dnLtipbiOxZLL6em3CYq18h4gpHeH89pYXRHiN/9JQ/jD+wZaXRFitP5mY3yzMdvgybHQvNW0dJEQ2hVKrSv4lQMXMv92gYqti6NV3iGzC93YXBUeteVfjSzkuLObQgSThzWbf1NeserHSPL4jzvytEaWGitMY8uabkF/c42Lq6Cb3VWVXK4J9/nLEn/I38j/FOO1n5Hca6N9UgrHN/GJeCe+/5EWLkv9zWwnF/M3jUOXtE/6oh/dfhjWol+vh81B9sHsZLOKLO7VAppx2WFkMvf+KGZKVbviP7C5zbfeCk47Rrrsdz6q8a3/3ij7bpsosQ4qjdx26zb2dlfVhUSKnr6ioj1sjwRWGlW/XbL3NEhzSqFroQV0hGwKSlBFQZiZEWZb5kwCgAUg28mZmRiRnfkvCJalGVQbW8cPbiwOK74cCvTIeVlgAxYdYWEi90MDCpCA+u5ClxmeqPUg+lhoolZA0JTUECmAlIGk6OZZkvZDiBVSU4FU6lRRL3jYF3k9Pvwc4FNfHPRNafaDQlLR9XWlQ6DMridaLyF6QCuxDVJatjwxZa5na4NLoXeXnXuZikx+AOAKm++EBWkYcEX1yjZ5HlNtAR4gb6fkHaIKS4CQ729L/dbaJbyt89Ax8gwFrb4XTqlJ8Ixl23cIiC6caxwqfAj/XQgOuGoPYOz92Bq5AJcReMvxJeMehc/xlSyVQut3Yi/Rwj+mWhyTUpPPklJHnJ7rFdM9D8/gQoHfZBb9zB07vLoOQIk5F0EE8p56swz01S4+EPg1j0sUTLxn5xHnZMcBY1xU4tP2z5+Y/u//cesFnkLaKfJqykj34rFODpCIpSA3/7VTIgUsh7ZPa+MC6Q/n4cfJotaO6yEqtneMoUjkxc7QCvJ457y3U43IC19Jn3RhkAxV4SagnIJyeOQ4ugOMzz6sfknZpSMx4Jkmzi/RwB7HPRbPWZUVvdRpg1HhYJ2dnXo8aI4hRvlwskR6/JmAOrWYAhnY4qOUoxGGtsAA+48vL/MI64jLBKfibF8fsc6fyaqGxHS6lqJjKdJuUPSkpj//f/P/N1Lv3xOYTeya5KVX1+P27/kvuLMFxB54SAc4gK4F3gaLBMs3XwECaVftapjUI9IiXcL1gTqCHv0ToTfzQmDkM+iVaM2hfhBfDoAa9zk8KpR67GhSamial4ApAoag6NVVKbGvGGTS1tTUZ4JqBf0aYMDJC7eArl9h9//vv76hK7qu2j5Q5Zvp6JppDHlFJMTLJKmVM60r6ytaYVZ1MkhTjEQWZJ3r6DsOKIxiMI1Dsinwl1LbIt7W1utqU0HEtg2IZRyIYeq8TeMNmp4kUIhl28TAqTZOG4jGY5nzxlATK6PQohRBoatIuXhpqQpUAGg1gHFQP/ChTTEanec+5c0LDIK2dzy1y38jI588eSD9MC+Y0WrKtRu70kKgXf9puxUjPn+80t7Uz44A2adte8BnI5V3/tizbmm1QKxtTpYfVuNrE2oRlHqC/4TgSP5wwHN/33cQ1Py+/q2qBHYwVgoXUiIoI431cYhT2dgM5HB+GZ5ffZhGjqY0ykwp6PAXLDIHZ8YruhXmF3dsfPGtiQfH0CplxA4cQzRquJwdHBJPrh1mEKO6+COMrF4Rl5bEV1joEQwsXguAAvSgYChHlAj/hwV0db0qcRDZHEkA8VJ5hEjWYcINglRcPpQcLVq+uavRPAOXQcLlXrnPigwQT7I+EcigBNHilPxbtB4tdgX+j/2dmsgNY9sD9UmwbCty0P3x/jUZgFhVS1cVf+MqjBUiQG8cNqiT3FmPZ9eDpH24bXqvW0MWE7WtbWVs9KXbGEYtLxXYbw5tShceQisIl0UAOetdHKJyWvQ9j8UZ3Ei3I0q78fDXgDWSCgqVB/soizL4s+4IGldVAMmjcBN8Ua5ZoJFp9MQoVE2pBgYLZDVGYlSfoonRPq4qCxZX4GMuMSNs9d01lDo1h1iB1HSROShJDH/JDv1X814zPxBI8BfB9TtL7UhGsyux5y6I8wd3Uk4tCbSuksDNT4KhpybtYwlbZaF01/e+FS56vK7boX3opSaJs+Mc0qlYJ2HDFLQQBj7gF23t8fos7zQ0bk4X0iLFk7Cj9zycuT4iI3965nL6kFMTIHceIIV5A5hAXWR15JMxmwIso6Q+QKzNLlhtaKsyK0eFtde4n52FtiJsEAhgo4K1hpgyKUqtJ2N9P3uA7CCBAQ79VzBgxJhWt2GnlJik3CStTRPdnbpRaF6JgEUgTpcUpaco5niRwNyN5c14CLNt5lYmB0XilByHqS5XTN6cppxmjRx7aWI8I+zgvcQNORQp6fZh7fyWwPWWgNJItaNe1s4WlMhnwTOBahIdv8OdF+v3Wemh/T/vZwGdXwxb11zDTALt0oDdnujRExXj4S9KH2ymylGeGJ6U3iJ1AfYipoUnaqP2odTr0b2rUJ5T/L79jwrkBoH9dB798EVFHOY9z7b5lfqsf67oDiLp33rq3L8+/wZTBcuvqcumFDYB8mNLzbxcQnypjiaQiT/lAknlcR7zZvedvQDXgU6Bw+bR/jm1tIr3Wtobn7Px1C8nZ5WltfdDPfJL8HbLoOVHROfQsB/8kNBSpVi8a4tXC4BtOna6GbYCdPs2yaM1s4LOijMvt+XDEVjFpaHvEousxUa2kWiYrET1hzmnT5A6K5dp3Hl4ewMdtS93g+2f+kT/ziOXSYWIfQ18N0Li6Y3Bj2g9i4OjgfF3anOscWG1WNzj/VGWgLcfX0AceOn2yn8SAscH3VXmn455eNZ8frGPoXfSMuvlBlwN/+ZMiaLNeXrM92cRAkCQzMuPxPzHlRPlnUbkS6Vo85jTmV7yxF/iyS5kuascstnyJY7y8Qezi2gXlCEOQ3qBt/T8Hfj3tVSNHnEaQ6pWPUHnS55cX7JGNzSOt+KcfmNYKOg3RN5Cz0+lGYzC55p9vRqjBl5V36TlaE9h9FocnHPx3LXIlOhs+hkCEopEr7q47CAIoCbGvX9/G9JEfP5pUMVXfqOnvIz95NHJU3Pf+D+SF9lmz4y01uEbEnwdnnY+1NGrF4Es2PDj1MoGow1NDoy/aSW1quqGZGvhQCeQp62GbSRL5nU2fzRSZfMem1w6xgN7JF/xac/AOXEpXF5aR0riRnCgOiJBYL5vJ8A3f6IiBpa1blwYFaBmW9tWOtz98w+nTxweLvkyku0xitewaYp0ApenWpWr32ToQQHGY+H6o4/luXfd5x9D7H/NtyvG+sbPHM+NO42cezsb3HeO/QF6GIi9gddgLyNBOpQO1mtxJrqbeB4ANd3wmFCklRO6UvnY5nghpmR3PeiHLC/SHHR2pWqtqqiP4cVVbaWMd5VIpEiDZKQeBMm3fn7eI5craewRqtRh0mYRZMO93/GdsI+cnZL2jq0oICrqif33wAzCr8rjbddqx4MS2ezmhGabrrXP2X5Vg4jUAfGHQSkf5hSUyWkH0ISBspKzTze3UY+T6/+l7DLF87v7zUxMbO66L/nym+SOkXg7KTHlHeG6Ax/Q84JbOS3ebwAmMksMhSCFAWjPnA2looMYgLl1tcLCwvcxAqYv7OdBwk5Qm6ERUITod2GB4L9AHCXDvJ9h8jhT8PXEZfYI0fKsnySgp6N6jPrxBt+ToXGVn6/sQdQZbvYD1kHl0wsvnKcGTZ15Q1Bw1xfPi0UKmnLESdfAQml0y0VTWuW5dD1vL7p3b1MXJsnxPlitpP/XrhnZS82ozqZ26AcqpasomK+WhdWSCeZDJUQP95WcXWfefaiTe5+4hPZZ1WigGUmm1KliAliFVZKuwFZv3L6cmqqbjiDhi3DSOB1SJX8DX0bX62Fq5e0kOys/7oZdQDPSdAoOeFtRZWmDVb/Njw7KPODwT4gvizcYDrwrekNiu0L7YvtBOPFSzJLsLTBPKSWb9N1nphabOiCER8jC2GHsYKW4D5z/EXYTq+7rGK512H4QnllsTOMqnkt3OywNBuKDy0p/jPqa3/nLPnApyx9XbC1Yd1LTys8gSMmyp9b1v39HNt0Ghs+wxV5t3JSR0sCXsFvBmEOk2htKGsumVxgbUiyPbEKe1BFgsK/i8w0VK7t95SVAJwku4Yj/X2Nt/ONSnMx4kIIG74PwbGEzbQe4paDfNX8q3vXUxNif3ek+wNzS8VuCetrjf/k9bXsanrTPZ0lYH0Wj1Pq60snTiaT+b4WkVHXKzw3dZ0cMhTlydYZOmbiIizrpj7i8ZOjdE/9ZDEXcldFRNxyiPc2OEcABYPH09SDstG/0jr3q90ST1S83c7GdN08KPOYiRqnMFg9BlM9bNKrQ60mzsK7Lqtq/M5qIvzRM7ZR42Y0WxU9UpTbwwUR4ziM5e9iQvAH8dcw895IGReYV4kgDcD3rTiDPqxhfMz6jNXVSqfu4fQlPKUO3O2tjDe0RBJmQHmXJe3qc+E6I1KfMVqBoPmtKsdAXzvKTNHGQPOUZtE1NnpWqnLDMa0AUyUZ1l0GQ6ZLMe0ZAJLO9R62oaC6rNWVXCYVAr4gwNilpIAvVr7dDwDeahpaZHFbR9BGcyCTQ1sxor+nOzOu6cbhbcZM54KLZrASgGg15r0iKdPV2ZaULJg/qu5MFUVYs3mWj5s84N9dVdXP39lTXpwlxae9pUD2leDnWMmdIjRDiWln1MhXFlPqHNx6uNRgGVA95U5zlVocNVVL1a14iaetmnLlX70bt8vwnG9M6pGrVobwbTPSE5anCol65FGzGal7c6q1rta8J5XwPVq5CFCZnHZQ+PnB80UrbsIAY5nnL0uouo7T3vqs+ktS+jPrSE9zWVU00FeOHKPqgKLV2tFvW7koeoGW2qpJj3lL7alpD01L6zffRzpUtUbem961Cl66pqSkLioN2dNoDndE4tG7IhaarQi0117lKrRoYekuNzf1J79acYaYP5y2l+R8Fo8zT6pCy1Ln1X0qMuHGV8s8Hl9HVU05wy4tGwSYqhdLUpKRBH/XDfypJ7ZCuPi6oeZ7uO2Ah90GW0pywy4/SRK9D1Q0/xeA/ZQn2fvKvUvJ4NjUIiqE9ah+U85cGManU1dy74TLs40nx0/ZY9nLOZQv1yD7a5sB5TPWuZTdScZlVyOXYV2wQStdmKY9O+e/qDtzWZ8JMoKLz7J3ZrKingf4xBD/xp/+WwhQaoORvGaDnK7H+ScqIRcUPv78yzaB9GXI9yKezw07KpMlpAJZ8s+f49JqfnIzg1mZyW9B92XRcsp2AY/Px/lugMYaw3hv9qZtFUX09BYYayRpEkdtoypKKvpUpGmV7jbMsINeZaRkrmW8aasb71cVrsqbIwBmsdjloyja5acvUetxQavWRC45eWqN2fllJjKVqqbRVamTXGy7cUJWZQIKfpSMK2lOyM03rZb8xbIw97+NH/4UOWptv5Gj3+Awscw2I85ntEScVN0/tox9Cape72A45zjeivl0tJquHMpi8nsYMCOU0He1ZhW8ra4xT73H9j3hp5yog3z/ofPuSKp9v5qsB80EVpRFOM4zHfg2gllaliGgjvtBhas9STi/2A41xzaP314uUqqvRcvqCPAdTRd5KLzQ+3iUgVKaqpoZY64t8yjv7evKWlFTmD0WS2fKZC/nTQrup0uT1enz8QDIUj0Vg8kUylM9lcvlAslSvVWr3RbLU73V5/YnJq+r1x+Ma9tPA7xdDP6s1X19Y3Nrf+0lUSJrH4H3OIT6Uzb/l8FOULxVK5Uq3VG83tnd29/YPDo+OT07Pzi0v+2vUbN1sIiuEESdEMy/GCKMnkCqVK/c8eNJ3+Nzx/0pvMFqvN7nC63B6vzx8IhsKRaCyeSKbSmWwuXyiWypVqTZIVVdMNk9litdkdTpfb4/X5Qz7Q0Ed+utOJm8dkEmgWM3E7HmBukPvZYMqGMcYZUQozzuoGDQAfV4bjCr2Jtw5iSw+Fq2erEoX4N8V18O3iacqVvmTBJ26O2MU60jLEzORMH6wLVnS2tHtcYktdzmvyGSmH0Z2OF8pIEnQR74smmKrnRv8dBKGUwZZ6rni8dvpqJX712uSt7+0bpb5snzATm0kTiWibxZUWw+SMZuHDY4q/i6NQTfW6YRRHoeiUIhbcKGLzMJ9u1C2oYPut2FwWSwWciadmx0tbx4AItIkg0pAnqF5J6IoW1wM74oNSqNv6ZpWQou6gx5i1TL1FhEr1Msao6d5rlaFkX7/hGu+v5+teOjhS0BkeRdN2ZbxJWyScyA+7IE21O5HPg82t1RKfHmLUlby9amvibU09SZ/tGDwZvL+WfKW7+NoVa6CtX9ik4Te4fDCEzHUfl2kHIEPJcfksVhofJ0b6yejVvawVijxrgmBhxNEBK2rbxLuAlUy7Q8ahHNf2Bj+RNW/1WLg1BUNCPrszKgE7JW0229VgpWbyGAxw5/i4YNKE9hbdrncZv+7RxfgDfEGHKDruMG0bkFj3TCmDBVQwa1KqTgxZc4GsBQr3LV6PC/kI4MbH2wa0A/xG0aiSlUKN7EQfLs8aQ1y+i3W1/860FdsU8agDXxkC1vYD1Rh1NokWRyrtmKerkKPyre9p57SU1KM5lSQWUHBesdZTQg2ogI3w7GSDMiauuW4rVjtxcOHsON7iK3uuy50ncibpx7FIXehA5/Fv6/T0hPVJAWeWljRwVbsxSHX3QC9U8TWGdd2PVGGsJ2GH22lmabBcGUQ70LJKz7VC7E4EeeVpyZe37HBfF6KNLZpfoe1ZnU1Y/noLKdbqlWaW7tqRJlFqHx3KQtWAiAtnPmFwhIQ11ZRC4Lj6Uel5doU0Ezt2msRq2lDQGYtRgXEbLtMKyjVuod0gyYXo1HPjBzSXgodYDpa2sthGLek16/7rjSibQcKNVSc6KcnWSxquUC0U0PaY5YpKFWwN2T7c167Y6DY5PIEpmW5kKCqARbG0HvplxpqAUyNC94BkO4rFYLdyVmbL2PBsdHr8K1DUn0P9crgy3Xi5yyxypeFxLcPXWypGSYMM9ajHbYo1WMmUnk7Jeuwwg7qN1ZeicN4PsBnPyUjOGLDQVWa7y1+fbf3dGqX66546kuFAVR77qCNURV9eEQ7xmt2A7WE8vSuGnP+ODbb909wDwwLF59i2Zn++NnSwJzA1jgeZQeXQVmzGMye3Yt2nR+k5j6Jq4U3GeIZnLdR67uf6VX/tbukP
')
format
(
'woff2'
);
}
}
/* #endif */
/* #endif */
...
@@ -14,12 +14,12 @@
...
@@ -14,12 +14,12 @@
/* #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || H5 || MP-QQ */
/* #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || H5 || MP-QQ */
@font-face
{
@font-face
{
font-family
:
"uicon-iconfont"
;
font-family
:
"uicon-iconfont"
;
src
:
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.eot')
;
src
:
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.eot')
;
src
:
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.eot?#iefix')
format
(
'embedded-opentype'
),
src
:
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.eot?#iefix')
format
(
'embedded-opentype'
),
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.woff2')
format
(
'woff2'
),
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.woff2')
format
(
'woff2'
),
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.woff')
format
(
'woff'
),
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.woff')
format
(
'woff'
),
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.ttf')
format
(
'truetype'
),
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.ttf')
format
(
'truetype'
),
url('//at.alicdn.com/t/font_1529455_
o1xvu5wfioj
.svg#iconfont')
format
(
'svg'
);
url('//at.alicdn.com/t/font_1529455_
cuj7cnyazoa
.svg#iconfont')
format
(
'svg'
);
}
}
/* #endif */
/* #endif */
...
...
uview-ui/index.js
View file @
98ff106a
...
@@ -58,6 +58,8 @@ import trim from './libs/function/trim.js'
...
@@ -58,6 +58,8 @@ import trim from './libs/function/trim.js'
import
toast
from
'
./libs/function/toast.js
'
import
toast
from
'
./libs/function/toast.js
'
// 获取父组件参数
// 获取父组件参数
import
getParent
from
'
./libs/function/getParent.js
'
import
getParent
from
'
./libs/function/getParent.js
'
// 获取整个父组件
import
$parent
from
'
./libs/function/$parent.js
'
// 配置信息
// 配置信息
...
@@ -88,6 +90,7 @@ const $u = {
...
@@ -88,6 +90,7 @@ const $u = {
deepClone
,
deepClone
,
deepMerge
,
deepMerge
,
getParent
,
getParent
,
$parent
,
addUnit
,
addUnit
,
trim
,
trim
,
type
:
[
'
primary
'
,
'
success
'
,
'
error
'
,
'
warning
'
,
'
info
'
],
type
:
[
'
primary
'
,
'
success
'
,
'
error
'
,
'
warning
'
,
'
info
'
],
...
...
uview-ui/libs/config/config.js
View file @
98ff106a
// 此版本发布于2020-07-0
4
// 此版本发布于2020-07-0
8
let
version
=
'
1.4.
5
'
;
let
version
=
'
1.4.
8
'
;
export
default
{
export
default
{
v
:
version
,
v
:
version
,
...
...
uview-ui/libs/css/common.scss
View file @
98ff106a
...
@@ -8,6 +8,21 @@
...
@@ -8,6 +8,21 @@
position
:
absolute
;
position
:
absolute
;
}
}
// nvue不能用标签命名样式,不能放在微信组件中,否则微信开发工具会报警告,无法使用标签名当做选择器
/* #ifndef APP-NVUE */
image
{
display
:
inline-block
;
// 解决图片加载时可能会瞬间变形的问题
will-change
:
transform
;
}
// 在weex,也即nvue中,所有元素默认为border-box
view
,
text
{
box-sizing
:
border-box
;
}
/* #endif */
.u-font-xs
{
.u-font-xs
{
font-size
:
22rpx
;
font-size
:
22rpx
;
}
}
...
...
uview-ui/libs/css/style.components.scss
View file @
98ff106a
// nvue不能用标签命名样式
.demo
{
/* #ifndef APP-NVUE */
image
{
}
display
:
inline-block
;
\ No newline at end of file
// 解决图片加载时可能会瞬间变形的问题
will-change
:
transform
;
}
// 在weex,也即nvue中,所有元素默认为border-box
view
,
text
{
box-sizing
:
border-box
;
}
/* #endif */
\ No newline at end of file
uview-ui/libs/function/$parent.js
0 → 100644
View file @
98ff106a
// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法
// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx
export
default
function
$parent
(
name
,
keys
)
{
let
parent
=
this
.
$parent
;
// 通过while历遍,这里主要是为了H5需要多层解析的问题
while
(
parent
)
{
// 父组件
if
(
parent
.
$options
.
name
!==
name
)
{
// 如果组件的name不相等,继续上一级寻找
parent
=
parent
.
$parent
;
}
else
{
return
parent
;
}
}
return
false
;
}
\ No newline at end of file
uview-ui/libs/function/test.js
View file @
98ff106a
...
@@ -78,7 +78,7 @@ function carNo(value) {
...
@@ -78,7 +78,7 @@ function carNo(value) {
*/
*/
function
amount
(
value
)
{
function
amount
(
value
)
{
//金额,只允许保留两位小数
//金额,只允许保留两位小数
return
/^
[
1-9
]\d
*
(
,
\d{3})
*
(\.\d{1,2})?
$|^0.
\d{1,2}
$/
.
test
(
value
);
return
/^
[
1-9
]\d
*
(
,
\d{3})
*
(\.\d{1,2})?
$|^0
\
.\d{1,2}
$/
.
test
(
value
);
}
}
/**
/**
...
...
uview-ui/package.json
View file @
98ff106a
{
{
"name"
:
"uview-ui"
,
"name"
:
"uview-ui"
,
"version"
:
"1.4.
5
"
,
"version"
:
"1.4.
8
"
,
"description"
:
"uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水"
,
"description"
:
"uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水"
,
"main"
:
"index.js"
,
"main"
:
"index.js"
,
"keywords"
:
[
"uview"
,
"uView"
,
"uni-app"
,
"uni-app ui"
,
"uniapp"
,
"uviewui"
,
"uview ui"
,
"uviewUI"
,
"uViewui"
,
"uViewUI"
,
"uView UI"
,
"uni ui"
,
"uni UI"
,
"uniapp ui"
,
"ui"
,
"UI框架"
,
"uniapp ui框架"
,
"uniapp UI"
],
"keywords"
:
[
"uview"
,
"uView"
,
"uni-app"
,
"uni-app ui"
,
"uniapp"
,
"uviewui"
,
"uview ui"
,
"uviewUI"
,
"uViewui"
,
"uViewUI"
,
"uView UI"
,
"uni ui"
,
"uni UI"
,
"uniapp ui"
,
"ui"
,
"UI框架"
,
"uniapp ui框架"
,
"uniapp UI"
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment