不妨先来看两张《华尔街之狼》的电影截图,你觉得哪张的“画质”更好?
; h1 X& t" H0 }) ]) V% ?& y! ?/ I' L% |$ P% Z( u- A& f
6 A0 @6 n5 Z7 ~, L0 ?, e
3 `; d' M3 ~# Z8 j( n3 N《华尔街之狼》丨爱奇艺
3 _% h) c: N" }. f5 O! N
+ m1 Q0 X; w2 U3 G, i$ j1 _/ |+ [: N4 ^9 y
B W( a. r! u3 |7 M' e4K REMUX版丨作者供图 * | i- [- x) v) z
* t6 k# W3 w4 z* }" }+ y+ C3 G. ]3 y" X- ?& u" d
第一张截图来自爱奇艺“帧绮映画 4K”,第二张来自是 4K REMUX 版,REMUX 版在画质上等于官方原盘。也许你会说,第一张色彩更加艳丽,画质更好。那如果放大看一下呢?
4 q' a) K# |( K* c
6 V& \0 I+ J$ S6 r2 P7 g9 ^* M: |: j
5 X. u( n+ K, s* I" d- c) c; }
第一张图局部放大丨爱奇艺 - a q" h* f) K. X) O, y
: h. q: R* a8 |$ `
7 n, G& B |' H第二张局部放大丨作者供图
9 U* N/ b& o4 O1 K3 _3 s; y' P$ v, z/ y
; t' v2 A8 T2 G
这下能明显看出,第二张在清晰度和细节呈现上远好于第一张。唉?这怎么跟刚猜的不一样?修过图的人知道,调高“亮度”,再“调高饱和度”,可以让一张“暗淡无光”的原片瞬间鲜活起来。但“滤镜技巧”代替不了高质量的片源,一到暗光场景,“差片”的瑕疵就暴露无疑。
s2 A8 q7 Q( r1 l# B' M
- h7 ~1 H9 H' h2 f; J U0 |9 _. N1 W1 S8 F
《华尔街之狼》丨爱奇艺 , z' x. W: t0 N+ L
4 F& i9 t" `+ W# M) r* E
. Y& k- C$ j& j! w
+ K) o! M6 M2 v$ R6 T《华尔街之狼》丨作者供图
6 x' M1 \7 i5 [* ?- A
' l+ p. p g6 ~3 b2 j b4 p
7 O z [0 |( Q Z0 x Z上面的“帧绮版”明显比下面这张原盘版细节更模糊,强制提亮让噪点增多,调高饱和度也让人物肤色发红不真实。* j- z9 ?3 C+ T" G+ z
+ j/ Q; T2 O- `9 b& G$ F/ W
+ z; m) _" E1 z3 W
我知道你想说什么。拿流媒体片源和原盘片源比,是不是欺负人了?那我们看看同为流媒体平台的对比。 C* v: S- W3 J& X
& R+ ^0 A' j$ W t3 x) V8 a
4 c: o5 @- K& T1 z/ C+ C+ @1 x7 G( q. Q5 n
爱奇艺“蓝光 1080P”的片源(局部放大)丨爱奇艺 7 J4 m/ z- u$ v8 n
+ p4 X3 u+ T8 J3 H9 Y$ U2 t- u! l
. Z; O* E( t+ Q) O6 `
Netflix 1080P 的片源(局部放大)丨Netflix
3 W2 L1 t) W' l) i' y- [, X( d% Q4 _/ Z
! \$ v' Z* S3 C' ~' y7 ]& G
怎么 Netflix 的 1080P 就能让我看清游戏机上印的什么字,爱奇艺就糊了呢?
( N7 T: u; Y* A) w% g6 i
5 D' k- ` R3 o9 M: @7 d* o4 R& U! `; g) X0 @( x
怎么我的视频会员,好像开得“亏”了?我是不是被忽悠了?, ?% Y: e0 h0 T
- v/ P+ C1 L6 h
) i4 T* N6 R6 @$ W7 C; U1 U: G
你的 4K,我的 4K,好像不一样? / x. v9 T9 _5 m2 r% W
2 f6 g' b+ A3 }3 L& `) m% X- B
' y# V9 Q% J, h+ N# R! s首先,先说明流媒体平台没有骗我们。他们标注的 4K、1080P 是真实的分辨率。1 `6 S/ ^* U$ ?( @3 U
3 E) B" f" e8 J6 q Z
- x* }$ k2 ^ c4 K, t: e8 D: d
一个1080P的视频,即是这视频采用逐行扫描技术,水平方向有 1920 个像素,竖直方向有 1080 个像素。主流的 4K 标准是 3840×2160 的分辨率,而电影放映行业的 4K 要达到 4096×2160。
+ x* _6 C: r6 K: r, W6 Q8 Y! a' o% O$ G5 Y; X
$ N) [7 j1 @' H- y- a& O! w4 Z
“分辨率”和画面的清晰度相关,但它往往被当成衡量视频清晰度第一,甚至唯一的影响要素,这不完全正确。
- I! e4 T# d4 Y8 H2 J, | V7 v! c8 n0 D+ ^) G
0 U" Y. W4 l& j) E
举个例子,下面这两张小图,在不“点开放大”的情况下,我们肉眼觉得差别不大。4 T* P* r) ]4 A/ j2 r) f1 O
4 [) {0 k ~- m* j1 I2 ?
/ O8 ~& d3 x* I/ P! M
8 Q8 _* m: F, {9 V& X一些视觉“戏法”丨作者供图 7 l5 l6 |8 R t$ |
/ y$ ~4 h/ A ^3 @3 d
- h# K' Q4 i9 p# X但是将它们放大来看,第二张图已经模糊成像素块堆积。; ~5 y* Y0 o1 Q& o& K. ~0 W
9 H% V) O2 v* C, `3 ? [# |
1 w- {3 U) h+ p, q6 ^ K0 A8 ^
2 k! C+ p7 I9 p" O) ^1 U4 R& {# t# m- R+ k点开放大丨技术门户网站eyewated / }# n0 L, M) ^$ F3 m7 G' d/ C
3 G; f; M. x* _" G' Y, \' |
" J; m( e) G$ ?
% F( N! I q) K ~! S F! b
影响清晰度的不完全是分辨率丨技术门户网站eyewated
8 B" f0 [" F0 ]* X- d0 ]" {
7 d. y; A; D7 l; J) z5 e+ V2 e0 H6 |% N' R
影响清晰度的并不是分辨率,因为它们分辨率是近似的,分别为 1432x956,1430x950。, g z1 _$ `6 m8 _( I3 B& r3 Q* r4 X9 q
9 I# H( m7 W/ V6 v# M8 K4 Z
( t) y( S4 x' b G问题出在像素对色彩的还原程度上。比如桥身的颜色,都属于红棕色系,只有色彩的差异性足够大,才越清晰,否则只是同色像素堆积,“糊成一团”。+ s ?& j+ A% f# y9 U
4 u# n/ T$ [9 q: Q( [# @& A& _# ^: w* @( q
尺寸越小,可能觉察不出什么,但等你放大,放大,再放大。
8 g% J8 W8 q0 X9 m4 O0 q' U0 D+ J8 L5 m: q. X- \7 Q; [* j: p, t
( r8 B5 N* r+ b. ^
* z9 {1 T/ P1 Q8 O3 j7 U图一的桥头丨作者供图
/ A* Z- J0 E* k+ X# c
8 ~: D& P& |! `) M7 D2 j# ~% c
' Z9 M$ [6 c, q. A图二的桥头丨作者供图 0 `* I( j( ~0 t4 u f; v) P
1 v! G8 u3 Y- F% l! Y8 z$ \
8 X, t/ x6 S. X$ t% c差的片源在越大屏幕上体现得越明显。可以简单理解为,压缩造成了信息丢失,而最能直观反应视频压缩程度的单位是码率。
1 M( O7 I4 `0 ~+ n8 K! E/ S7 ^ x$ \" K/ d
/ f- W0 N/ G; y/ u4 ], B- q
这个词一定出现过,但你忽略了。B 站在视频清晰度选项中,有“1080P 高清”和“1080P 高码率”,后者必须开大会员才能解锁。" X( s- {( v' W7 F4 T7 H$ _
0 F+ m+ M7 Z, F7 G
2 N- F) ?; G' E& `3 ^8 N最能直观反应视频压缩程度的单位是码率丨B站
. n' H7 V6 f" s" B2 B4 j) t' W
( P8 b" W) X- H2 D2 ?2 p, t: h3 S4 m, H, S Z5 F( e
那么码率到底是什么?
6 V+ P3 G B; k4 a( k1 {! R' Y& a
' x7 h! L8 s8 Z& u0 f4 W8 O. O2 u4 B: v( W7 {+ V7 \
视频码率是数据传输时单位时间传送的数据位数,单位是 kbps 或 Mbps。单位时间内码率越大,传送的数据越多,画面的细节越丰富。
f3 e# ~6 }% H* M, B4 X! O
) ]0 y8 f t( U6 h$ W' x3 Z2 M3 l. b. C% [ [( C0 n- w4 }- q
这是在 Netflix 平台 1080P 分辨率下,1.37 Mbps 和 3.21Mbps 码率所呈现的画面区别。, U$ `# i% g l/ x
5 o9 V: Q* o$ c3 ~% ]( d( o+ j
2 K4 L: o' I' j
8 u/ w+ G( H5 A7 m
在不同码率下呈现的画面丨Netflix
# Y( }2 R* H( _) ]6 n/ E2 N5 J4 A4 y+ P3 v0 N
: Y; R7 d5 h6 ?% ^8 b2 s5 g(今天你是遇到我这么较真的人了!)同样是 1080P 的分辨率,6.17 Mbps 码率下呈现的画面细节更加丰富;当视频达到 4K 分辨率 11.93Mbps 码率时,创口贴上纹路清晰可见。* H: {( N5 {& N& }2 T8 Q P
8 F" t% a- o2 U& M9 K& p3 y
/ |$ |6 }/ s/ |, ]4 Y0 ]码率越高,画面细节越丰富丨作者供图
8 B: Q' K, R4 q" {6 k. n* Q: z+ m
0 K( z. d0 U9 @4 l1 L! @. @
" E2 ]: G) S y* A \$ D; \这解释了,为什么同是 1080P 分辨率下,游戏机上印的字锐化程度不同。爱奇艺比 Netflix 片源码率更低,每一帧图像的压缩比就更大,放大了看像素之间的色差很低,甚至没有。我们在 65 寸电视上看视频,就比在手机上更容易被“细节差距”影响到观影体验。4 w! ?7 u' \7 j* f3 A
# O8 E% K, x8 }! J# o" W
# Z% ?( P# f& j6 d, N7 {% J3 u 不够清晰?那我就开会员呗
/ b9 n( N* K: y1 t) z5 j4 C, H6 l! Y9 g, @+ `4 T. }& X2 K" b
/ M( }/ T( j% h& f7 \但视频平台几乎不用码率来表示画面清晰度。它们用“蓝光”、“超清”、“高清”、“准高清”、“标清”来给视频分辨率“划档”。如果靠这些来分辨,那可容易被“忽悠”。首先别说,各家平台的标准不一致。分辨率 720P 在爱奇艺叫“超清”,在优酷叫“准高清”。
4 y$ A$ v0 F- N* h, a3 b& Z4 {7 j# S
1 d3 }( }1 j+ K, I7 ?6 Y: Z" J其次流媒体也并没有“定义”清晰度。其实包括 ITU(国际电信联盟)在内的很多国际组织,对于物理分辨率有公认的共识,High Definition(HD,高清分辨率)最低支持 1280 x 720,即 720P;Full High Definition(Full HD,全高清)是 1920x1080,也就是 1080P。UHD(Ultra HD,超高清)则需要达到 4K 分辨率。* w$ ]: T* M9 l6 C; G" J$ z( c2 W
6 b' r0 T+ f+ `& K
' S$ u) s4 X: x5 G
即便平台标注了“超清”、“蓝光”又如何?, {( U0 c- `7 ~/ H5 A( ?
- l( C( W. ^9 E6 d. R8 B6 Z8 \% ]5 E! J! [6 x+ ?) \
此前就有网友对国内流媒体平台(播放同样标注 4K 的电影)实测出码率差距。爱奇艺在 2975kb/s,腾讯视频在 3829kb/s。B 站开会员解锁的 1080P 高码率在 2500-5000kbps 之间,4K、8K 视频码率在 10000 - 20000 kbps 之间。6 q" e2 ?0 h4 N
* `3 B7 M. |% d8 V' d) z" i$ ~
, K' W4 p& H2 N& Z0 q" |% M3 o- o; z$ K& A1 X3 _3 G F
码率差距丨图片来源狗空蓝 & A( Y& v( k3 G# K% q# u
2 o) F! H3 X6 t# E1 ^& P
2 y3 l$ s7 j' b, h, j+ F; d反观海外流媒体,Netflix 的 4K 视频根据画面不同,码率在 8000 kbps 到 20000 kbps 甚至更高;Apple TV+的 4K 普遍在 20000 kbps 及以上;HBO Max 1080P 都能达到 8000 kbps 以上,4K 也在 20000 kbps 之上。- M' q* G6 q: i; N5 D( [. K* G+ I# L# L
# x: B" u" y5 |8 p) u/ f E. |; W0 L1 L P) y& T4 n
# y. q4 L* }1 z3 U- F$ GHBO 1080P 的平均码率和最高码率丨图片来源 ZhaiiKer 1 G) a, z; O+ u: O
& F* r5 C! B" E: g1 Z- e
: A2 a; }6 f, M
! Y& m5 G2 M2 v" F/ [
HBO 4K HDR 码率丨作者供图 # M' t. {1 L( R# ^
! t6 Q0 }0 e" v& r4 Z
) {- q$ W; Q3 L/ f- O/ ]
国内的流媒体平台只是以此给自己的视频画质分了几档,让你在一提到“蓝光”时就联想到画面清晰,有质感(还有 VIP 会员)。“蓝光”本指用蓝光技术读写操作制成的光盘,并不是界定清晰度的概念,蓝光光盘的码率在 20Mbps - 36Mbps 之间,国内流媒体平台的视频也没一家能达到这个码率,硬用“蓝光”就是在“蹭”,加“偷换概念”,就像我们不会看到音乐软件上标注着“黑胶”的音源一样。$ \9 Z$ n, K2 O. ~) I2 M1 X" O) e
( }; E; i( l/ V" @" j& \
# {% J' V0 j* ~1 d% s6 N8 H还有一种很会“蹭”的是 HDR,HDR 本意是代表高动态范围,与现有 SDR(标准动态范围)相比,可显示更大的亮度范围(动态范围),换言之,电影中暗部可以更暗,亮部可以更亮,色彩信息保留的也更多。
4 f5 m( ? ?: ~0 P0 }) |
0 G! S3 |" T A: C/ u' G
8 g$ B6 P3 a7 U有的视频网站会标注 HDR,有的会套上一个听起来“酷炫”的词儿,比如帧绮映画。在它的介绍里,写着,“4K MAX+HDR+全景声等高品质视听体验”。2 @, y3 @) c$ f& Y" P6 G s. r
- T5 E6 T! k& n7 j
; v# n) D& [8 {" q: R" `, y/ a3 v但“真·HDR”的使用条件极其苛刻,要求从制作时就采用 HDR 技术拍摄,平台上传的片源是 HDR 片源,用户的显示设备也支持 HDR 显示。
0 P+ }6 k( i: l, b* T2 d6 e8 d9 x6 j/ {8 y% w5 r6 x8 @4 `. c
HDR 制作流程丨图片来源艺卓显像技术(苏州)有限公司
$ n, b% K$ Y; ~: z2 }" x0 u w! c( |5 K( x. i: b' l6 I& |
+ c, N, T/ j; u
如果不是 HDR 片源,靠算法“套个滤镜”转制实现“假 HDR”,强制拉高对比度只会出现文章开头那种不自然的颜色。
2 [9 Y% \7 e: w% J9 n L! @- v
3 {" u5 Z+ K* @" W
# N8 {4 K2 X4 R/ E8 F" U) L7 J$ \ 那为啥视频网站不把码率都提高呢? 0 ]1 r4 }7 R. | ~& V
3 T$ o0 d4 P$ u& O. F4 t6 U8 c5 @- P$ S$ P
排除掉用户因为播放设备,和网速差异,带来观影体验上的差距。答案是“钱”。$ G/ p8 Q1 I! t9 c1 @8 a8 o
+ c3 z" ?3 Y" R
# h; P/ I) h$ F! J1 ?码率(单位时间内传输的数据越多)和文件体积成正比。文章开头提到的 4K REMUX 版《华尔街之狼》,它的码率是 62.77Mbps,片源大小约 85 GB。对于视频质量的判断,可以简单套用“bigger is better”(乔布斯说的)。
3 E: c+ b) f! P* ?, l5 k
+ @4 |! ]. z. k
& L8 D9 _2 _' G! y$ [& M4 A对这些流媒体平台来说,高码率的视频等同于占用更多的服务器,导致更高的带宽成本。看 B 站 2022 年第三季度财报,B 站的营业成本中,16% 是内容成本,8% 是带宽成本,5% 是人员成本。服务器可比人烧钱多了。爱奇艺也一样,带宽服务器成本直到去年才略有下降,但占比也一直不下 10%。
' C: r5 y, o: ~# t
# K1 b: g! r- E: B8 _7 q: q& ?' ?& O: w0 U i A G
像迪士尼、HBO 一样的海外流媒体,在内容和版权积累了几十年,完成“用好内容吸引用户付费”的正循环。而像 YouTube,Google 虽然从未披露其运营成本,但有分析师分析过,通过背靠 Google,YouTube 不仅有 Google 在云端和服务器领域的技术,还对全球各国众多宽带运营商议价能力极强,可以把带宽成本控制到很低。& t, z. P0 U4 v" X
% i* _% k5 B) X# n) p7 F
0 f0 L2 v; G$ g国内流媒体平台近年来被“诟病”很多,除了看点啥都要收费(会员专属内容越来越多),广告越来越长,可登录的设备数量越来越少,手机电视分别收费,甚至禁掉用 HDMI 直连电视。要是换个讲究点儿的观影者,还专门为电视端开了“白金会员”(以解锁更高分辨率),反而会察觉到一些在手机屏幕上体现不出的瑕疵。
7 Y, K8 k+ T- L+ t; F% Y
9 q6 _1 J0 W0 S, Q% A* `
/ r0 S3 O! z7 |( U那么有没有一种折中的方法,能让平台既提供好画质,又不用让视频体积过大,占用过多服务器带宽呢?
) g8 Z( ^% U1 y* A9 U) R
7 i0 m, J! D6 k5 _* M& U' M8 }; y3 E* ~/ T1 e }; M
有,研究更好的编码协议。
. u2 ^8 y$ d9 _- x
9 t% j. y$ U' C7 P' G; c
2 t+ Z) ?5 v) w' T: o 冤枉他们了吗?
( Q% ^, n) d! I
1 J$ T1 Z' ]3 w/ E0 [1 C, P6 G3 a, X o" ^9 N. c
一条九十分钟 1080P,24 帧的视频,理论上最大可以达到:! P& b& X. i/ D8 k
; K) `+ a2 F4 M
9 \1 K$ O. o2 \7 ?+ [1920×1280=2,073,600(像素)
6 c z, R' E) ]) U, C h1 M* V+ @2073600 像素 ×24 位色=49766400 bit ≈ 5.9 MB
* p" J( H+ p( J& D L# b! j+ `7 G5.9 MB × 24(帧)× 60(秒)× 90(分钟)≈ 765 GB
$ z) m6 @$ a: d" G& ^3 l: H$ c$ U! n9 z1 l7 L" r0 g; o, v/ ?5 T
! Q/ j$ |, B" c: F3 I# p如果一条视频没有经过编码,理论上体积是非常庞大的。
" Q+ k# |6 T* ~$ V, l; N/ [4 T( I L, o& U+ `# R7 V: M+ p& y X
( h U4 L. y+ [0 E
假设一处电影片段中,一段几秒的视频是“静态”的,画面内容没有发生变化,后期就应该对这段视频进行压缩,将体积压缩成一张图片大小。这就是编码想要做到的:识别出视频中的冗余信息,包括且不限于时间、空间、图像、视觉,最后通过技术把这冗余信息精简压缩。3 W/ _" @# e5 ~9 \
7 A4 D3 A' ^7 f, Q! i! ?
, c5 F6 O/ I$ V; I- ~/ }好的编码协议可以极大提高编码效率,比如 H.265 比起上一代 H.264 就能在相同画质下,码率能减少大约 39%-44%,这也就可以让文件体积和带宽减少接近一倍。在更好的编码协议面前,码率越大画质越好就不完全成立了。3 V. M* S, S& F6 y4 H+ t5 T
. Q! v" X. H4 e
$ K4 T, ~% a, Y0 F
但 H.265 对平台会收取比 H.264 更高昂的专利费,同时,H.265 对剪辑设备和播放设备都有更高的配置要求,换言之,兼容性没有 H.264 那么好。( t8 Q! Y+ t4 K$ @" V
4 g x; Q5 a' ` F2 O/ g2 B5 n' k! v( S- e7 q o' Z% L
在此前提下,Amazon、Apple、Netflix 等几大巨头公司在 2015 年成立了开放媒体联盟,目标就是开发免费、免专利的影像编码格式 AV1,对攻收取高昂专利费的 H.264\H.265。但能让一套编码格式推行,需要从影像编辑设备、浏览端、播放端等等都全面支持,所以目前各平台也只是在局部推行或测试 AV1 编码格式。如今主流的编码格式还是 H.264。
4 w+ m; t6 e4 L* j+ q0 j8 \$ z- O0 G: L6 p& p& o
. e J1 N4 w3 L; i& A
$ c! y! ]9 j9 M7 y2 k图说丨图片来源 Kotlin Multiplatform
) Q$ Y9 g7 |$ O# j1 |. o
& C4 o+ Y+ y* T$ a) {5 }( u; H/ Z* M2 Z4 G+ B
国内也是如此。爱奇艺基于 AV1 协议自研的 QAV1 编码器在 MSU 世界视频编码器大赛中速度与压缩率同时超过了大多数 H.265 编码器,但你打开一个爱奇艺的视频下载下来看编码数据,还是采用 2003 年的 H.264 协议,最主要的原因就是用户端设备还不够兼容。
5 s6 V& @. A+ k' J* ~8 T9 ^3 J& F8 { ] n* L
/ s% P H4 Y9 V/ ^; @# A& r2 }! I
B站可以根据你播放的设备,自主选择编码格式丨B站
; \1 ], Q% k+ W3 k _' ]" d$ I. k% c/ W" W; n. S8 ?. m" |
/ p) C) {3 Y6 F, L5 ~
平台考虑到用户的设备兼容度,所以哪怕有更先进的技术,也只敢用最适配的协议,又想要节省带宽,只能牺牲画质。
, B1 _/ h, r8 b- c1 v% h7 D3 {0 q4 z6 C; Q* M3 u# f8 A/ D w3 h
3 ]" S8 y; S8 ]5 j' G& m
去年底世界杯期间,央视等转播方第一次采用了 4K 50 帧高码率直播球赛,配合着杜比环绕声,球员们踢球时的流畅感,和球迷的助威呐喊,让多年球迷的我,第一次有了在家看球却身临其境的感觉。! ^4 ?( l' b/ n8 s4 k
+ [0 w8 G: [1 M) ^* c! e
) J: _& L( `3 w r( w4 r7 f世界杯结束,我又转向流媒体看转播的英超联赛,一年 200 多的会员费带给我何种落差呢?场上的球员在电视上仿佛移动的色块,奔跑起来还有运动残影。; ^5 Q3 {7 j ] L; K% V; s
+ i8 R* N% p. a5 d. B z* K. J3 a: f# H5 y4 a8 l6 n6 d
这么看,不是我们网络和设备的问题,而是平台提供给我们什么的问题。
1 w3 {+ K4 ~; R2 n9 \' E9 }: Z
1 B% s1 n/ S# s) H& u, R. b, ^- d1 M: G6 l5 x& b; R% a
参考文献. N- r) P F8 I- p" B+ R/ w
- U2 U( j! F5 I' d- W. O+ b
[1] https://cloud.tencent.com/developer/article/1977858 2 K2 p$ v7 ^) X% Z$ W
[2] https://new.qq.com/rain/a/20201211A0FPKM00
8 r& B8 n8 P2 K* I, x. U[3] http://tech.sina.com.cn/i/2009-10-17/10583515309.shtml* M1 l8 |) r+ `9 Z: T
9 p0 U1 e5 \! b6 I, Y# W m
[4] https://www.bilibili.com/read/cv16013797?from=search&spm_id_from=333.337.0.0
0 m" T3 D( V8 f3 b; ~/ d \" C% X: i' m' R# k
1 A3 `) m# P" P) b
作者:糕级冻雾 2 l8 n% r. M c* d2 \8 Z6 O N* `
编辑:沈知涵 4 k1 R9 X+ ?+ ?) y+ W- o2 j
8 w$ I# f1 g' ]: }
! U/ P( y0 g2 ?; \
6 u9 r5 l1 L& A6 u' v+ f9 N* Y
0 x( Q% \& W* f9 Y: _/ h- g; z. T% r" \( S8 g0 K# j% V
& \9 n( C0 m! l3 c3 L |