本帖最后由 1五湖四海1 于 2016-8-25 22:44 編輯 % n# D/ N9 W$ w/ p
+ |, y; C2 N A% B0 G1 z
這個defaults.h文件作為一個中央默認設置配置不同的機器類型,從DIY米爾斯數控CNC轉換的現成的機器。這里的設置所列出的文件是由用戶提供的,
% ~ K7 z2 ?% b5 t! L6 K* ?/ [4 y所以您的你的需求可能不同。所以應該你了解你的機器和調整設置根據你的個性的需求,制造機器。" G- f: G' }$ v# O
defaults_h文件是選擇是否將一些參數設置為默認值
; V; i, }( s- E6 r5 [" ]定義各種參數
2 ]$ N& w# D* F, g7 V. p6 }2 X1.defaults/defaults_generic.h //Grbl通過通用默認設置就可以在不同的機器上工作。
) f3 k. k% c% [% U1 O2.defaults/defaults_sherline.h //描述:Sherline 5400制造廠三個NEMA 23客戶KL23H256-21-8B 185扭力步進電機
. M7 g7 l4 _% ?3.defaults/defaults_shapeoko.h // 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的' J0 l- x2 ?6 ?. U$ z
4.defaults/defaults_shapeoko3 //描述:Shapeoko數控機有三個NEMA 23步進電機,由CarbideMotion驅動的
5 V: I3 h7 d* G3 _5.defaults/defaults_x_carve_500mm //描述:X-Carve 3 d卡佛數控機有三個200步/汽車由Synthetos牧師grblShield 24 v。
9 C* n' q5 i6 M# T# e6.defaults/defaults_zen_toolworks_7x7 //描述:禪宗Toolworks 7 x7機有三個Shinano SST43D2121 65扭力NEMA 17步進電機。導螺桿不同于一些ZTW包,大多數是1.25毫米/牧師而不是8.0毫米/牧師。由30 v 6電源和TI DRV8811步進電機驅動程序
/ ?" G8 u& U; d7.defaults/defaults_oxcnc // Grbl設置OpenBuilds牛數控機床
- [. [& h& E; `2 H1 @5 @/ n1 j8.defaults/defaults_simulator% `/ R% M- E1 f9 \" J4 \% r
; s: v! B1 v% h0 r8 c% U3 V/*" H& g/ {" B* b+ g- h: d
defaults.h - defaults settings configuration file
* n1 Y* ~; Z- s+ D6 _3 U- q Part of Grbl" h# p( [, O( X9 z
$ k, w1 o& D, c, _! E* d Copyright (c) 2012-2015 Sungeun K. Jeon6 q" F3 I& z4 W9 V }' Q
" H& p& ?2 F/ o, |7 L Grbl is free software: you can redistribute it and/or modify
3 B" y: g5 | m" U it under the terms of the GNU General Public License as published by
3 O: I% @% M! k! q, a& J& c; Z the Free Software Foundation, either version 3 of the License, or
1 U7 @) U: @. I9 m% u9 U (at your option) any later version.
# W- j$ E! f1 s! P
: a; ^1 f7 E! q, @2 `) | Grbl is distributed in the hope that it will be useful,4 d$ \& a0 m: f& X" ~) B4 I( d
but WITHOUT ANY WARRANTY; without even the implied warranty of1 j5 N4 N8 W4 m! @+ U% G2 H4 C/ E2 f5 f
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) `, Z0 S' u8 M- s
GNU General Public License for more details.
( Z3 l0 v4 g, M+ n+ a( B7 f9 N3 ^+ F# c) Y* U
You should have received a copy of the GNU General Public License4 ^2 E, Y6 Z) @( e
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
& M8 N7 U' J$ Z*/; t$ X$ b' V5 k0 u
" M& v1 [1 `2 a3 T/ X/* The defaults.h file serves as a central default settings selector for different machine: F5 ]: m9 U3 S5 Y% t
types, from DIY CNC mills to CNC conversions of off-the-shelf machines. The settings * B6 `- w4 \3 ~$ I. W+ w( V& D
files listed here are supplied by users, so your results may vary. However, this should
( n8 b' k6 X* Y& x give you a good starting point as you get to know your machine and tweak the settings for* o) `& i$ g3 m( s8 R7 q# X
your nefarious needs.+ U" V2 y3 ]7 Z- E& h
Ensure one and only one of these DEFAULTS_XXX values is defined in config.h . W% n, ~9 L; _3 ?
* ?+ z2 |8 U8 m The defaults.h文件作為一個中央默認設置選擇不同的機器) ]; C r i }8 l* o5 c
類型,從DIY米爾斯數控CNC轉換的現成的機器。的設置. i8 G( T$ Z" _6 L4 W
這里列出的文件是由用戶提供的,所以您的結果可能不同。然而,這應該' B& Y0 P$ U6 |% `) }/ K7 p
給你一個很好的起點,你了解你的機器和調整設置
4 s9 |' x( i3 g! @2 r3 M" U9 f3 N 你的個性的需求。3 P# C; A: {3 p3 ?% p, y* t8 S$ e
確保一個且只有一個這些DEFAULTS_XXX config.h中定義的值9 o7 x; p5 k7 y6 S$ L
*/
5 P1 O/ _5 {$ ^) J/ |: G* k) J! U" V# `: h) n% e
#ifndef defaults_h
% w( w; X" _' S6 W7 \
# L0 k% U* \7 ?) S% B3 `// Only define the DEFAULT_XXX with where to find the corresponding default_XXX.h file.
- N& ]" n8 ?, ~- H% I- u9 E0 u// Don't #define defaults_h here, let the selected file do it. Prevents including more than one.0 w* H8 ]: P, Y0 w/ [- d. x5 J
//只有定義DEFAULT_XXX在哪里可以找到相應的DEFAULT_XXX。h文件。! W* D- G, c* u, q
//別在這里# define defaults_h,讓選中的文件。防止包括不止一個。
1 K/ K/ t& g3 v$ S: w
* Z, o. A V8 d1 R8 Q. g" f#ifdef DEFAULTS_GENERIC
( M6 J5 n1 B& s! W // Grbl generic default settings. Should work across different machines.5 l( k8 b2 k4 E7 K) e4 E" v+ T
// Grbl通過通用默認設置就可以在不同的機器上工作。
" T) S9 B. Q9 c) e: _ #include "defaults/defaults_generic.h"3 Z% K' B2 I8 e6 i% A3 D5 q
#endif
" g- j: V- \0 O# M
2 t% r4 C6 o# Y1 [) B#ifdef DEFAULTS_SHERLINE_5400; c# D9 I- g% `" z7 y/ V! D
// Description: Sherline 5400 mill with three NEMA 23 Keling KL23H256-21-8B 185 oz-in stepper motors,
7 h6 k) R& Q% h; S* c8 { // driven by three Pololu A4988 stepper drivers with a 30V, 6A power supply at 1.5A per winding.
6 a) b) C6 F9 y/ f- x! n //描述:Sherline 5400制造廠三個NEMA 23客戶KL23H256-21-8B 185扭力步進電機,2 h* |) {/ e7 w
//由三個Pololu A4988步進驅動30 v,6在每1.5繞組供電。
7 O( |& r3 ^5 X! ]$ ^$ m" K
* u% o/ a! _; }* N L% P+ |0 N- K #include "defaults/defaults_sherline.h"/ N0 h6 }# Q' r2 B
#endif
) k1 Q- O# d" J3 z2 {9 T, M9 I) J5 s4 N2 b2 a
#ifdef DEFAULTS_SHAPEOKO T& J$ ^ q! h1 ~' }. m7 T: X
// Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos; ], R! P B2 v" X( w5 _! e" w
// grblShield with a 24V, 4.2A power supply.
+ w$ W& s9 O1 E- `3 g6 K // 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的$ I3 C" u& r( B/ v+ e% O0 _
// grblShield 24 v,4.2電源。
7 a7 g( c/ y# |1 I& r7 W/ R
( _1 z: _: \3 ? #include "defaults/defaults_shapeoko.h"
" \ ?; a0 M: L+ y5 q' k* q#endif
- x0 A6 r; A1 _, z% L7 q. _( H# r3 R/ A3 s8 q; w5 U( k% G$ W
#ifdef DEFAULTS_SHAPEOKO_2% o) C8 _7 l+ B4 K0 r3 }
// Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos
- w3 K& @& n; K // grblShield at 28V.0 C' ]& @ x: I8 W1 Z& O) i
// 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的9 Z6 F+ h9 v% y! S, m' }5 P; q
// grblShield 28 v。
$ J" G+ v( p( R% D. J
' G# ]! L) p+ O2 c/ R8 \ #include "defaults/defaults_shapeoko2.h"& h& P6 e) v5 E9 H! {
#endif
# u5 z% v& |/ s+ U5 u8 W
* M9 W6 Z6 s# |+ U#ifdef DEFAULTS_SHAPEOKO_3" R5 _: \1 w. z; v0 j3 Q6 Z$ [: F8 b
// Description: Shapeoko CNC mill with three NEMA 23 stepper motors, driven by CarbideMotion. ?+ D3 N( x' I( M& N0 B/ y
// 描述:Shapeoko數控機有三個NEMA 23步進電機,由CarbideMotion驅動的& t, W8 @- @% U; v9 j- D O
; N; h+ S `7 k* G8 C, z# H5 T Y8 | #include "defaults/defaults_shapeoko3.h"
6 ]# q% G1 t) k# g#endif( G/ [& m/ M/ u
9 S" A- j: N( B#ifdef DEFAULTS_X_CARVE_500MM
1 D. W4 c; g( N // Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos
# |- {# J+ O1 ^( v/ w( l* |' _ // grblShield at 24V.5 r& \% N( j8 I1 M/ o! }
// 描述:X-Carve 3 d卡佛數控機有三個200步/汽車由Synthetos牧師grblShield 24 v。
2 A8 ^9 ]# _. _) @" o3 m2 _- }9 {: J #include "defaults/defaults_x_carve_500mm.h"/ T$ ]9 X+ L! k
#endif/ B X6 V& k5 E J4 y
- Y* H( O/ u7 W7 [4 ]#ifdef DEFAULTS_X_CARVE_1000MM, q( l k% ^/ _ A
// Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos5 _# I) i# N" M# N& W% Y& v
// grblShield at 24V.+ a R% y1 e& `0 }/ Q$ j1 f
#include "defaults/defaults_x_carve_1000mm.h"
0 Q; U: g' r4 u$ m#endif
( `( P7 D6 _' I' N) X- v( A0 U: ?& P; I: Z
#ifdef DEFAULTS_ZEN_TOOLWORKS_7x78 n- B# ^$ h! b4 Q4 I7 F
// Description: Zen Toolworks 7x7 mill with three Shinano SST43D2121 65oz-in NEMA 17 stepper motors.
+ r- `2 s! z2 N( |0 I6 l // Leadscrew is different from some ZTW kits, where most are 1.25mm/rev rather than 8.0mm/rev here.3 ~7 i/ y$ [3 i
// Driven by 30V, 6A power supply and TI DRV8811 stepper motor drivers.
9 Z8 T( N0 Q; g //描述:禪宗Toolworks 7 x7機有三個Shinano SST43D2121 65扭力NEMA 17步進電機。
7 l, e2 f9 }% R- N; v //導螺桿不同于一些ZTW包,大多數是1.25毫米/牧師而不是8.0毫米/牧師。
# C9 Y6 T' `( k" H* ^8 Y5 Y) O //由30 v 6電源和TI DRV8811步進電機驅動程序。
) \/ x7 {# ]/ ]" j, O- Z$ f d2 [; g6 f7 G0 o& b- G# K
#include "defaults/defaults_zen_toolworks_7x7.h"" E- g; B) P$ J& H$ E( Q
#endif+ @2 r @: p! O- O, Y
! W1 I4 ?; |/ e: u9 G% `) t: V5 j# N#ifdef DEFAULTS_OXCNC
( i2 r4 n* o8 | {! S2 y, y // Grbl settings for OpenBuilds OX CNC Machine* l9 w/ w: J. T0 W8 w
// http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/
9 r3 z+ W9 S/ X0 A/ z
- l4 E) `5 O% \, J' \) V1 T // http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/ ( N* G# X j% B% P( l% b$ B
#include "defaults/defaults_oxcnc.h" // Grbl設置OpenBuilds牛數控機床/ e/ k1 [: ]! e9 Q* z0 i
#endif
& f2 Z0 g$ t6 N! C( z/ v5 G* S& T& g) T1 {% b
#ifdef DEFAULTS_SIMULATOR
% C0 p% I, _. t // Settings only for Grbl Simulator (www.github.com/grbl/grbl-sim)
- v/ W: O4 }/ h: J8 ^, @ #include "defaults/defaults_simulator.h" //設置只對Grbl模擬器(www.github.com/grbl/grbl-sim)
1 p8 l$ R/ k4 D#endif
/ s+ D" f9 M& d5 ? r! U9 \: X+ i
5 }% Q3 ]. M2 Z+ @5 _. R; U#endif) L) a- C& D. }; u: s
7 }! m, I7 H" s& C" c, K1 r
__________________________________________________________________________________________________________________* e# d/ Y+ i+ F* R9 v( Q) a
/*
9 N- J1 B# W$ h' O- X) qdefaults_generic.h -默認設置配置文件Grbl的一部分
4 g' O* X( q8 b版權(c)2012 - 2015 Sungeun k全
" F' d7 v) n. h: u: v7 j4 R: YGrbl是免費軟件:可以重新分配和/或修改
! p. |0 w' K2 K) i2 mGNU通用公共許可證的條款下發布的5 | W% j% j5 L2 n( G
自由軟件基金會,版本3的許可,或" B" k! k, N- l
(任您選)其后的版本。
3 ]' {2 y, j4 m( j
. W4 \: {$ ]$ {5 E* _8 L2 UGrbl分布,希望這將是有用的,
+ O/ s! C* T! c/ ^但是沒有任何保證;沒有即使的默示保證4 I- W- @9 X( I3 f
適銷性或健身為特定目的。看到
" a \ k: e: w5 x3 T" YGNU通用公共許可證的更多細節。6 V" Z. a& K+ w9 |6 z
# Y9 c; s8 V1 F s, O你應該收到了GNU通用公共許可證的副本
8 A5 t9 T& }* w/ U/ A2 B連同Grbl。如果沒有,看< http://www.gnu.org/licenses/ >。2 g! h" R8 ?# W% `6 E
* /
, R+ S- R* v9 ^- w- C' |! Z( R2 _0 i) W" q" i: r
/ *默認值。h文件作為一個中央默認設置文件不同的機器
) I) i+ \& Z6 Z& y' ~5 B3 u, L類型,從DIY米爾斯數控CNC轉換的現成的機器。的設置! n( \' e, C% B# z& `- |
這是由用戶提供,所以您的結果可能不同。然而,這應該給你
7 v# X6 J, m* S一個好的起點,你了解你的機器和調整的設置6 U) y) b" @ R& C$ c6 C7 y8 ? V
邪惡的需求。*/
% R" ]0 [; I; n R
1 c6 Y% D1 T2 p4 @( m
* X9 `# }& P! R8 X#ifndef defaults_h
9 N& }3 S+ ^' ?% Q5 x, j; M3 U- s% D#define defaults_h
2 B$ r5 v) B) A" m7 z
+ Y8 |# H6 O3 f l- e // Grbl generic default settings. Should work across different machines.* \+ }9 S% P6 P, N
#define DEFAULT_X_STEPS_PER_MM 250.0 //X軸每mm脈沖當量
. H1 N q( c) f C #define DEFAULT_Y_STEPS_PER_MM 250.0
6 ^1 ^& F7 j; i #define DEFAULT_Z_STEPS_PER_MM 250.0
4 L" s1 c' Y p: { #define DEFAULT_X_MAX_RATE 500.0 // mm/min 最大速度( w! M6 P8 f: y% x$ W" J
#define DEFAULT_Y_MAX_RATE 500.0 // mm/min
3 R0 ?/ ?5 J1 x+ l3 K( \& C$ s #define DEFAULT_Z_MAX_RATE 500.0 // mm/min7 p+ L0 S, v3 \
/*這是毫米/秒/秒的加速度。. }8 N5 z. j( q. n( k# s, ?, |
你不需要理解這是什么意思,我只想說,一個較低的值給smooooother加速度而價值更高的收益率更嚴格的措施,達到所需的進料速度更快。- X& j; o( S4 z6 G# y
從技術角度講,這是您的機器的點對點的加速度,獨立于軸。設置加速度值高達你最限制軸可以讓你在不丟失任何步驟。
5 H( K5 t7 c# T2 b通常你想給自己一些緩沖,因為如果你失去了步驟,Grbl不知道這發生了(開環控制步進),并將繼續。*/
# M: t2 p) Q W! l: m" z #define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2 加速度3 H' g5 w5 P' k O O1 T2 P: {5 V
#define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^27 |; j9 [6 _( u& [9 N
#define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
1 i% y& ^" U" Z0 Q1 T #define DEFAULT_X_MAX_TRAVEL 200.0 // mm 最大步行: s: `6 f4 l, n w9 R
#define DEFAULT_Y_MAX_TRAVEL 200.0 // mm
/ L( k, t1 B2 v3 w4 P3 f: | #define DEFAULT_Z_MAX_TRAVEL 200.0 // mm
0 c5 H0 G/ \) w #define DEFAULT_STEP_PULSE_MICROSECONDS 10 //步進驅動脈沖長度
! G% G0 u3 }4 B6 r #define DEFAULT_STEPPING_INVERT_MASK 0 //步進是否反轉5 b8 u9 x/ `) {- K- R3 r& J5 t* j$ C
#define DEFAULT_DIRECTION_INVERT_MASK 0 //方向是否反轉
! r, s* k; W8 A5 D8 \# j /*; [- u D% t# Y& l
每次你完成步進運動和停止,Grbl將禁用默認步進。6 ?* g! J) |1 `' z% i
鎖步進空閑時間時間長度Grbl將步進鎖之前禁用。% D c8 w8 Y; B2 Y! V" q/ b
根據系統中,您可以將這個參數設置為零,禁用它。對他人,你可能需要25 - 50毫秒來確保你的斧子來完成禁用前停止。(我的機器往往漂移稍微如果我沒有啟用。)' H' A: m6 J8 D6 j, C) m1 j
或者,你可以讓你的軸在任何時候啟用通過將這個值設置為最大255毫秒。再次重復,你總是可以保持所有軸通過設置啟用7美元= 255。*/
* E' j7 O; u" R K7 T #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)步進閑著時間
, }( t7 N( O% m8 v+ M& u #define DEFAULT_STATUS_REPORT_MASK ((BITFLAG_RT_STATUS_MACHINE_POSITION)|(BITFLAG_RT_STATUS_WORK_POSITION)) //是否打印狀態報告
( v) m# |: X$ L1 r5 B' n, ~- ~/*一些高低cnc-stepper控制器需要輸入反方向和步驟。% J6 m6 c) C4 v" l. M ?
信號線路通常是高或低信號方向或高,低了幾微秒一步事件信號。為了達到這個目標,Grbl可以反轉輸出比特來滿足特定的需求。
1 \% F: ?# Q2 m7 W反掩碼值是一個字節,xor的步驟和方向步進港數據之前發送。這樣你可以使用這兩個轉化步驟脈沖或轉化的一個或多個方向的軸。0 R# ?$ F: T0 o0 c7 m8 ]# D
這個字節對應的比特分配給介入config.h別針。請注意,不用于反演位0和1。默認比特分配是這樣的:*/5 A- t G! \$ \1 `! A) y7 V9 ^5 e4 b
( e7 \; m [1 C9 n* l/* 轉彎路口偏差使用加速度經理決定它如何快速穿過一條路徑。
% s6 A, k; p9 Q9 e* V1 Q 數學有點復雜,但總的來說,更高的價值給一般快,可能的波動運動。低價值使得加速度經理更加謹慎,將導致小心和慢轉彎。
' ?+ P4 X! W, I" h- | 如果你遇到問題,你的機器試圖把一個角落太快,降低此值使它慢下來。) H6 [5 h( y) ~7 w0 W9 C
如果你想讓你的機器通過連接移動得更快,增加這個值速度。3 \3 ]; o4 y( B5 @4 Y
為技術人員,點擊這個鏈接閱讀關于Grbl轉彎算法,速度和結角占一個很簡單,高效和可靠的方法。*/ N1 }) N, c8 n7 [6 U
7 Y, Q! \8 F$ y$ n7 D0 Z8 Q #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm //偏差
* \: }1 ^6 Z. \: P+ `+ P #define DEFAULT_ARC_TOLERANCE 0.002 // mm //圓弧公差' m3 ^ T: n* a0 O
#define DEFAULT_REPORT_INCHES 0 // false //打印英寸. d1 m# {2 J/ K, D
/*默認情況下,步進使銷是啟用禁用高和低。如果您的設置需要相反的,只是反步進使銷通過輸入15美元= 1。禁用與15美元= 0。(可能需要一個動力循環加載的變化。)*/
! @) b6 N9 R) ? #define DEFAULT_INVERT_ST_ENABLE 0 // false _: Q( j" y+ W& }6 `6 e
#define DEFAULT_INVERT_LIMIT_PINS 0 // false //反轉限位引腳6 f& `) b0 P# [6 u
#define DEFAULT_SOFT_LIMIT_ENABLE 0 // false //軟件限位
8 d2 R w1 b1 a& X #define DEFAULT_HARD_LIMIT_ENABLE 0 // false //硬件限位
; f3 U9 q! S' z3 _- B #define DEFAULT_HOMING_ENABLE 0 // false //回原點使能0 u2 k( Q- @ z
#define DEFAULT_HOMING_DIR_MASK 0 // move positive dir$ h7 X3 @9 Y. s; V9 e7 ~
#define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min. u' h! C$ A8 n7 }" k# I
#define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
+ |- y6 h6 Y4 ]7 n7 ~ #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)防抖動延時
* i! G' c- C1 X9 g #define DEFAULT_HOMING_PULLOFF 1.0 // mm$ x4 E# Z1 P0 p3 b
0 W* d2 z$ |; A" o' ^: z" K3 T
#endif
! c9 L$ k$ n/ D% l6 J: c6 H. o/ p% f
5 ^: E; M4 D! B/ ^9 v+ {& ?
' I9 N+ r" M+ T z
& r/ y4 Z5 w/ F7 j4 Y$ J, ?3 S
& N: N5 G$ r" {# U) D
0 v" L s& F& h( ]: X7 \' c' n$ M$ o( L% h+ A2 p1 g. z% L
1 ~! f: H3 L1 l. P, e/ }; `" P" o
4 }1 `' M0 R0 l& O' T
, X- M- @5 v, e; p* ?8 V
* S* f$ E+ G5 w
+ c5 G6 \; J6 j! s- K2 ^' r1 ` P* ?& J/ c( Z
& J/ Y2 S9 w6 p* v( h( l
& Z$ ]" ]* F8 l
2 H0 A& n+ e9 Q% Q/ E" ~' _9 f
: u9 Y; e8 D- C1 ]
1 K+ A! b8 v' w/ W/ b% e( s$ v
2 O) V0 o6 j# r, k
+ p& b% R t, h; @: }& G9 I
: h' |+ ` U/ G. F: y; y( U: e
, R! G. G5 Y" ^* O- o' `) ~+ s6 |2 d3 H, a; {; w' G
- o" Y8 F% x, ^1 C1 E# E4 |( ^9 @6 U9 y
# A# v7 _% x$ n$ e: {) A+ B7 B. W |