libstorage-ng-ruby-4.2.78-lp152.2.15.1<>,ar/=„40͢= i|k`.!\ vDy'# Y7^ݘTsz]^e}.CmAj(`O/=gWLJXQFMA-&h9r-iHԫqJƅ77c~{I 2dK5vܺM/:LyĘ(PzňgϰJ2kz6e͒M ",`L+4bj=9*,%7/:ٰNLQ҇(qגqA>AoT?oDd ) I  $ & ( , m pty~4(89:~VBkFlGlHl Il$Xl(Yl0ZlX[l\\l`]ld^loblcmLdmemfmlmunvnwnxnynznnnno@Clibstorage-ng-ruby4.2.78lp152.2.15.1Ruby bindings for libstorage-ngThis package contains Ruby bindings for libstorage-ng.arcloud106N@openSUSE Leap 15.2openSUSEGPL-2.0-onlyhttp://bugs.opensuse.orgSystem/Librarieshttp://github.com/openSUSE/libstorage-nglinuxx86_64N@a590f7ae21066df3649731e6a9bfe20f9bb35d80a2566ee8a106f33f3aaa3f738rootrootlibstorage-ng-4.2.78-lp152.2.15.1.src.rpmlibstorage-ng-rubylibstorage-ng-ruby(x86-64)@@@@@@@@@@@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libruby2.5.so.2.5()(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.1)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libstorage-ng.so.1()(64bit)libstorage-ng1rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.2.783.0.4-14.6.0-14.0-15.2-14.14.1ac`^^@^^@^@^{G^{G^{G^ku^ku^`^Nt^M#@^M#@^J@^I.^B@^;^:@^:@^8 @^%@^!^ P@^^@^@^@^@^@^[^[^[^^^^@^r^,]f@]] @]+]+]]@]@]N@]]]@]߶]e@]]]@]]ƪ@]X]@]µ]µ]d@]]@]@]@]n]@]@]@]w@]v>]rJ@]p]o@]o@]o@]o@]o@]o@]o@]m@]bx@]_@]_@]W@]J@]@1@]>]:@]%@]#0@]@]]@]R]]^@] ] ] ] \@\@\]@\ \@\\@\9\@\@\\8\\\@\@\@\f\f\@\\r@\,@\C@\\\\\\\\\\\\\\\\\|\@\\\@\@\~d\w@\v{\s\s\mA@\mA@\j@\b@\ac\ac\\\Yz\U@\T4\R@\R@\Q\J@\HW@\E@\A\/J\2\U@\ @\\\@\@\&@[@[@[[=@[=@[=@[[[[[[[[H[H[_[_[@[[@[@[@[@[v[%@[@[ݍ[<@[ٙ@[ٙ@[ٙ@[ٙ@[ٙ@[ٙ@[@[@[^[ @[@[u[[[@[R@[R@[R@[][][@[t[#@[[@[@[E[Q@[Q@[@[@[\[\[[@[[9@[@[~[}P@[}P@[{[r@[qr[qr[qr[m~@[l,[l,[l,[j@[j@[j@[j@[j@[j@[j@[i[i[i[i[i[i[i[f[`O@[`O@[U@[L[H@[D[CN@[CN@[2*[*A['[[[@[@[@[@[@[)[)[)[)[)[)[)[)[)[)[)[5@[[@[W[@[c@[c@Z@Z@Z@ZnZnZnZnZnZnZnZnZZZZz@Zz@Zz@ZZ4@ZZZ@ZZK@ZZZ@Z@Z@Z@Zb@Zb@ZZZZZZ@ZmZ@Z@ZZZZZZZZZZy@Z'Z'Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z؄Z؄Z؄Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@ZZZԐ@ZԐ@ZԐ@ZJ@Z̧@Z̧@Za@ZZľ@ZlZlZZZ@ZI@ZZZ@ZZZZ`@ZZ@ZkZw@Z@Z@ZZ1@Z1@ZZZZH@ZH@ZH@Z@Z@ZSZ@Z@ZZZZ_@Z_@Z Z Z@ZZZv@Zv@Zv@Z$Z$Z@ZZ}@Z}@Z}@Z}@Z}@Z|;Z|;Z|;Zz@Zz@ZyZyZxG@ZxG@Zu@ZtRZtRZtRZtRZtRZs@Zs@ZqZqZqZp^@Zp^@Zp^@Zp^@Zp^@Zp^@Zp^@Zo Zm@Zk@Zk@Zk@Zk@Zk@ZiZiZiZiZiZiZiZiZiZiZiZiZiZhu@Zhu@Zhu@Zhu@Zhu@Zhu@Zg#Zg#Zg#Zg#Ze@Zc/@Zc/@ZaZ`@Z_:Z_:Z_:Z[F@ZTZTZOhZF.@Z@Y>@Y>@Y:Y:Y9<@Y6@Y6@Y6@Y5GY1S@Y0Y0Y.@Y-^Y%uY%uY"Y"Y@YY;@YR@YY]Y i@Y i@Y Y @Y @YtYtYtY.Y.Y@XXXX@X@XXQ@XX@X@X@X@XXX9@XDX@XۡXۡXP@XP@XXX @XӸXӸXXX@X@X@X@XXXX~@X~@X~@XCXXXf@XXXX@X@XX@XBXBX@X@XYX|@X@X|XwoX[@XOXF@XEVX<@X.@X-X&X@X=X=XXXI@X X @XX@X@Ww@W@W@WW@W@WW_@W_@W@Wv@WWW@W֘W^@Wu@WW@W@WQW@W@W@W@Wt@W9WE@W@W W@W@W~WW~D@W|Wv[@Wu Wu Ws@Wj}Wi,@Wi,@Wi,@WbWaC@W_W^@W^@WZWZWYZ@WYZ@WXWQq@WPWN@WM|WH6WDB@W#LW#LW!@W!@W!@W WW4W4W @VbVn@VV@V@V@VJVJV@V@V@VaV@V@V޾V޾V޾Vm@Vm@Vm@V'@VՄ@V2V2VVV͛@V͛@VIVVŲ@VŲ@VV<@V<@VVV@VVV@VzVy;@Vy;@VwVpVpVpVn@Vn@VhVf@VetVa@Va@V`.V\:@V\:@V\:@VV@VV@VUVTQ@VRVO @VMVMVLh@VKVKVI@VD@VD@VA@VA@VA@V@V@V@V(V'~@V V@V@V@V@V@V@VU/@UT@T@TTTTE@TE@TE@TTTTT@T@T@T@T!T@Tء@TԬTԬTԬTԬTԬTԬT[@T[@T[@T[@T[@T[@T[@T[@T T T T T T T T T T T T T T Tи@Tи@Tи@Tи@Tи@Tи@Tи@Tи@Tи@TfTfTfTfTfTfTfTr@Tr@Tr@Tr@Tr@Tr@T T T T T T T T@T@T@T@T@T@T@T}T}T}T}T}T}T,@T,@T,@T,@T,@T7T7T7T7T7T7T7T7T7T7T@T@T@T@T@T@T@TTTTT@T@T@T@T@T@TTTTTTTZ@TZ@TZ@TZ@TZ@TZ@TZ@TZ@TZ@TTTTTTTTTTT@T@T@T@T@T@T@T@T@T@TTTTTTTTq@Tq@Tq@Tq@Tq@TTTTTTTTTT|T|T@T@T@T@T@T@T@T@T@T@T@T@TMTMTMTMTMTMTMTMTMTMTMTY@TY@TTTTTTTTTp@Tp@Tp@Tp@TTT@T@T@TT@T@T@T@T@T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T@T@T@T@TTTTTT@T@T@T@T@T@T@T@T@TLTLTLTLTLTLTLT~@T~@T}T}T}T}T}T|X@T|X@T|X@TxcTxcTxcTw@Tw@TuTuTuTuTto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@TsTl@Tl@Tk4Tk4Tg@@TJ?@TJ?@TJ?@TJ?@TJ?@TJ?@TJ?@THTHTHTHTHTHTHTHTG@TG@TG@TG@aschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.comwfeldt@opensuse.orgwfeldt@opensuse.orgaschnell@suse.comwfeldt@opensuse.organcor@suse.dewfeldt@opensuse.orgwfeldt@opensuse.orgwfeldt@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comjlopez@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comaschnell@suse.comjlopez@suse.comjlopez@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comancor@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.organcor@suse.deopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgwfeldt@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgmedwin@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comjlopez@suse.comaschnell@suse.comweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.deaschnell@suse.delslezak@suse.czweblate-noreply@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgsbrabec@suse.czschubi@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgschubi@suse.deweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comVojtech.Zeisek@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgshundhammer@suse.deshundhammer@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.comshundhammer@suse.deaschnell@suse.comjreidinger@suse.czopensuse-packaging@opensuse.orgshundhammer@suse.defreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgjreidinger@suse.czfreek@opensuse.orglslezak@suse.czopensuse-packaging@opensuse.orglslezak@suse.czopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgwfeldt@opensuse.orgwfeldt@opensuse.orgjreidinger@suse.czschubi@suse.demvidner@suse.czopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.delslezak@suse.czopensuse-packaging@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgwfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organcor@suse.deopensuse-packaging@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deshundhammer@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deigonzalezsosa@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfisiu@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgwfeldt@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deancor@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgshundhammer@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgmvidner@suse.czopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgwfeldt@opensuse.orgaschnell@suse.deshundhammer@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgigonzalezsosa@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deigonzalezsosa@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deVojtech.Zeisek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.delslezak@suse.czaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgshundhammer@suse.deopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.dewfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.detchvatal@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comjlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comshundhammer@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.delslezak@suse.czaschnell@suse.deshundhammer@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejsrain@suse.czaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comancor@suse.deaschnell@suse.comaschnell@suse.comshundhammer@suse.deancor@suse.dewfeldt@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.detgoettlicher@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.degs@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.demvidner@suse.czmvidner@suse.czaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.de- prefer file system over empty MS-DOS partition table (bsc#1186823) - 4.2.78- remove double mount options (see bsc#1186298) - 4.2.77- merge gh#openSUSE/libstorage-ng#754 - added UsedFeature for NVMe disks (for bsc#1172866) - 4.2.76- merge gh#openSUSE/libstorage-ng#734 - merge gh#openSUSE/libstorage-ng#732 - merge gh#openSUSE/libstorage-ng#717 - merge gh#openSUSE/libstorage-ng#715 - track device block size when creating an Md RAID (bsc#1164295) - simplify combining disks with different block sizes into RAID (bsc#1164295) - add block_size check for Md::add_device() - update doc on RAID block size - ignore clusterd VGs also in vgchange command (bsc#1161775) - ignore umount/swapoff failure if it looks inactive already (bsc#1168615) - fixed typo - 4.2.75- merge gh#openSUSE/libstorage-ng#719 - document device block size handling (RAID, LVM, BTRFS) - document device block size handling (BCACHE) - clarify LV block size remark - 4.2.74- merge gh#openSUSE/libstorage-ng#720 - fix unit test - 4.2.73- merge gh#openSUSE/libstorage-ng#718 - allow control over environment variables - query number of partition slots from parted - respect number of partition slots reported by parted for GPT (bsc#1161783) - run travis with "--privileged" to avoid permissions error - 4.2.72- merge gh#openSUSE/libstorage-ng#714 - simplify combining disks with different block sizes into RAID (bsc#1164295) - Revert "add tests for adjust_block_size()" - Revert "add adjust_block_size() method to Region class (bsc#1164295)" - update doc - 4.2.71- merge gh#openSUSE/libstorage-ng#713 - Make BlkDevice::possible_mount_bys public (for bsc#1166096) - Increase minor so version - 4.2.70- merge gh#openSUSE/libstorage-ng#712 - update doc on RAID block size - 4.2.69- merge gh#openSUSE/libstorage-ng#711 - increase minor so version - 4.2.68- merge gh#openSUSE/libstorage-ng#709 - add adjust_block_size() method to Region class (bsc#1164295) - track device block size when creating an Md RAID (bsc#1164295) - add tests for adjust_block_size() - add block_size check for Md::add_device() - 4.2.67- merge gh#openSUSE/libstorage-ng#708 - merge gh#openSUSE/libstorage-ng#707 - Translated using Weblate (Finnish) (bsc#1149754) - Add option for ignoring clustered LVM - Update lib version - Ignore clustered LVM - Revert "Add option for ignoring clustered LVM" - Revert "Update lib version" - Revert "Translated using Weblate (Finnish)" (bsc#1149754) - Sync branches (SLE-15-SP1) - 4.2.66- Translated using Weblate (Spanish) (bsc#1149754) - 4.2.65- Translated using Weblate (Italian) (bsc#1149754) - 4.2.64- Translated using Weblate (French) (bsc#1149754)- Translated using Weblate (Chinese (Taiwan)) (bsc#1149754) - 4.2.63- Translated using Weblate (Chinese (China)) (bsc#1149754) - 4.2.62- merge gh#openSUSE/libstorage-ng#706 - added support for btrfs RAID1C{3,4} - increase minor so version - 4.2.61- merge gh#openSUSE/libstorage-ng#705 - fixed failure message - 4.2.60- merge gh#openSUSE/libstorage-ng#704 - added being and end function to ProbeCallbacks - extended documentation - 4.2.59- merge gh#openSUSE/libstorage-ng#703 - Remove OutputProcessor class- merge gh#openSUSE/libstorage-ng#702 - added callback for missing commands during probing - added unit tests - improved readability of defines for external commands - simplyfied code - fixed typo - added probing callback for missing commands - 4.2.58- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) - 4.2.57- merge gh#openSUSE/libstorage-ng#701 - check for existence of lvm vg before using it (bsc#1161191) - 4.2.56- Translated using Weblate (Finnish) (bsc#1149754) - 4.2.55- merge gh#openSUSE/libstorage-ng#700 - merge gh#openSUSE/libstorage-ng#699 - Unmount when mount point was active - Mount when mount point is active - Bump version - Add comments - Fix mount and unmount (forward port) - 4.2.54- Translated using Weblate (Slovak) (bsc#1149754) - 4.2.53- merge gh#openSUSE/libstorage-ng#698 - remove default option '-m crc=1' for mkfs.xfs - use udevadm from /usr/bin instead of /sbin (bsc#1160890) - 4.2.52- Translated using Weblate (German) (bsc#1149754) - 4.2.51- Translated using Weblate (Dutch) (bsc#1149754)- Translated using Weblate (Catalan) (bsc#1149754)- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) - 4.2.50- Translated using Weblate (Japanese) (bsc#1149754)- Translated using Weblate (Czech) (bsc#1149754)- merge gh#openSUSE/libstorage-ng#696 - updated pot and po files - 4.2.49- merge gh#openSUSE/libstorage-ng#697 - merge gh#openSUSE/libstorage-ng#693 - Translated using Weblate (Estonian) (bsc#1149754) - Translated using Weblate (Finnish) (bsc#1149754) - Add unit tests - Bump version - Ensure default to 0 for optional columns - Improve test - Revert "Translated using Weblate (Finnish)" (bsc#1149754) - Revert "Translated using Weblate (Estonian)" (bsc#1149754) - Allow optional fstab columns (merge SLE-15-SP1) - 4.2.48- merge gh#openSUSE/libstorage-ng#695 - added probing of BitLocker (bsc#1159318) - added unit test - fixed message - add minimal support for BitLocker - 4.2.47- merge gh#openSUSE/libstorage-ng#694 - Fix partition id when creating partition - Bump version - 4.2.46- merge gh#openSUSE/libstorage-ng#691 - Add method to get partition id name - Bump version - Add note - Partition Id names - 4.2.45- merge gh#openSUSE/libstorage-ng#692 - improved sort-key for block devices (for bsc#1140018) - extended documentation - 4.2.44- merge gh#openSUSE/libstorage-ng#690 - provide sort-key for device name (for bsc#1140018) - adapted utility programs to changes in networkx 2.4 - removed obsolete variable - 4.2.43- Translated using Weblate (Finnish) (bsc#1149754) - 4.2.42- Translated using Weblate (German) (bsc#1149754) - 4.2.41- merge gh#openSUSE/libstorage-ng#689 - use ranks in graphviz output to ease readability (bsc#1149154) - reduce test devicegraph to required information - 4.2.40- merge gh#openSUSE/libstorage-ng#688 - Add new callbacks for LUKS activation - Bump version - Add specialized Luks callbacks - 4.2.39- merge gh#openSUSE/libstorage-ng#687 - use correct size for btrfs resize command during shrink (bsc#1157762) - 4.2.38- merge gh#openSUSE/libstorage-ng#686 - extended some testcases to also check executed commands - merged testsuite/actions into testsuite/dependencies - added tests for shrinking btrfs - extended tests - extended and added testcases - 4.2.37- merge gh#openSUSE/libstorage-ng#685 - added testcases for growing btrfs - check that all command and file mockups are used - added testcases for growing and shrinking ext4 - added testcases for resizing filesystems - 4.2.36- merge gh#openSUSE/libstorage-ng#684 - list all devices in subvolume actions (bsc#1152523) - consistent list of block devices in compound actions - removed unneeded use of c_str - updated explanations for translators - show all block devices for action texts of btrfs subvolumes - 4.2.35- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.34- merge gh#openSUSE/libstorage-ng#683 - extended unit test (bsc#1135341) - updated documentation (bsc#1149148) - added internal check - fixed typo - 4.2.33- merge gh#openSUSE/libstorage-ng#682 - merge gh#openSUSE/libstorage-ng#681 - Translated using Weblate (Danish) (bsc#1149754) - Translated using Weblate (Estonian) (bsc#1149754) - fixed handling of btrfs subvolumes with special (regex control) characters in the path (bsc#1135341) - 4.2.32- merge gh#openSUSE/libstorage-ng#680 - fixed escaping of graphviz escString (bsc#1157916) - 4.2.31- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.30- merge gh#openSUSE/libstorage-ng#679 - use estimation from resize2fs for min size of ext4 (bsc#1149148) - use 64bit feature forr max size of ext4 - separated parser for ntfsresize output - added example programs - added unit tests - extended exception logging - cleanup - consistent naming of example programs - changed path of resize2fs to /usr/sbin - improved calculation of resize information - 4.2.29- merge gh#openSUSE/libstorage-ng#678 - Only join entries when path matches - Select the most reasonable mount point - Add unit tests - Update version - Bind mount workaround - 4.2.28- merge gh#openSUSE/libstorage-ng#677 - Make default mount_options public (needed for jsc#SLE-7687) - Bump version - Rename Mountable::Impl#get_default_mount_options - Split MountPoint#set_default_mount_options into pieces (needed for jsc#SLE-7687) - 4.2.27- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.26- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.25- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.24- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.23- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.22- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.21- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.20- merge gh#openSUSE/libstorage-ng#676 - handle is_permanent() in possible_mount_bys() (bsc#1155566) - simplified code - 4.2.19- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.18- merge gh#openSUSE/libstorage-ng#675 - Log messages about the mount_by fallback are just warnings (related to bsc#1151075) - 4.2.17- Translated using Weblate (Chinese (Taiwan)) (bsc#1149754) - 4.2.16- merge gh#openSUSE/libstorage-ng#674 - cache luks activation information (for bsc#1129496) - use password from LUKS activation for resize (bsc#1153871) - extended integration test - fixed typos - 4.2.15- merge gh#openSUSE/libstorage-ng#673 - parse cipher and key size in cryptsetup output - added cipher and key size to Encryption (for jsc#SLE-7376) - probe sector size for Encryption - extended documentation - added sanity check - coding style - added test case for paes cipher - handle cipher and key size for encryption - 4.2.14- merge gh#openSUSE/libstorage-ng#672 - Add open_options - Bump version - Extra options to open encryption - 4.2.13- Translated using Weblate (Danish) (bsc#1149754) - 4.2.12- Translated using Weblate (Catalan) (bsc#1149754) - 4.2.11- merge gh#openSUSE/libstorage-ng#671 - added integration test - 4.2.10- merge gh#openSUSE/libstorage-ng#670 - added notes - 4.2.9- merge gh#openSUSE/libstorage-ng#668 - removed unneeded code - cleanup integration tests - code cleanup - 4.2.8- Translated using Weblate (Japanese) - 4.2.7- Translated using Weblate (Slovak) - 4.2.6- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Dutch)- Translated using Weblate (Czech)- merge gh#openSUSE/libstorage-ng#667 - update pot and po files - 4.2.5- merge gh#openSUSE/libstorage-ng#666 - added note - use dev_t to save major and minor numbers - improved unit test - coding style - consistent function name - added support for plain encryption (bsc#1088641) - added unit test - added integration tests - 4.2.4- merge gh#openSUSE/libstorage-ng#665 - extended documentation - 4.2.3- Translated using Weblate (Chinese (China)) - 4.2.2- merge gh#openSUSE/libstorage-ng#663 - update packaging documentation - 4.2.1- merge gh#openSUSE/libstorage-ng#662 - merge gh#openSUSE/libstorage-ng#661 - Adapt Dockerfile for SLE-15-SP1 - Translated using Weblate (Slovak) - Translated using Weblate (Catalan) - Translated using Weblate (Czech) - Translated using Weblate (Japanese) - Translated using Weblate (Arabic) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Italian) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Russian) - Translated using Weblate (Spanish) - Translated using Weblate (Swedish) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (Finnish) - Fix dectection of surrounding region (bsc#1146686) - Bump lib version - Fix surrounding detection - Revert "Translated using Weblate (Catalan)" - Revert "Translated using Weblate (Finnish)" - Revert "Translated using Weblate (Dutch)" - Revert "Translated using Weblate (Portuguese (Brazil))" - Revert "Translated using Weblate (Swedish)" - Revert "Translated using Weblate (Spanish)" - Revert "Translated using Weblate (Russian)" - Revert "Translated using Weblate (Polish)" - Revert "Translated using Weblate (Korean)" - Revert "Translated using Weblate (Italian)" - Revert "Translated using Weblate (Hungarian)" - Revert "Translated using Weblate (German)" - Revert "Translated using Weblate (French)" - Revert "Translated using Weblate (Chinese (Taiwan))" - Revert "Translated using Weblate (Chinese (China))" - Revert "Translated using Weblate (Arabic)" - Revert "Translated using Weblate (Japanese)" - Revert "Translated using Weblate (Czech)" - Revert "Translated using Weblate (Slovak)" - Revert "Adapt Dockerfile for SLE-15-SP1" - Merge SLE-15-SP1 - 4.2.0- Translated using Weblate (Chinese (China)) - 4.1.145- Translated using Weblate (French) - 4.1.144- Translated using Weblate (Indonesian) - 4.1.143- merge gh#openSUSE/libstorage-ng#660 - added functions to query existance of holders - 4.1.142- merge gh#openSUSE/libstorage-ng#659 - added parser for 'cryptsetup luksDump' - added example - added support for LUKS2 - extended documentation - coding style - extended integration tests - fixed documentation - fixed typo - relaxed parser for whitespace changes - LUKS2 support - 4.1.141- merge gh#openSUSE/libstorage-ng#658 - probe zone model for disks - added unit test - avoid compiler warning - coding style - 4.1.140- merge gh#openSUSE/libstorage-ng#657 - extended documentation - 4.1.139- merge gh#openSUSE/libstorage-ng#656 - improve sorting of pmem devices - 4.1.138- Translated using Weblate (German) - 4.1.137- Translated using Weblate (Portuguese (Brazil)) - 4.1.136- Translated using Weblate (Chinese (China)) - 4.1.135- Translated using Weblate (Slovak) - 4.1.134- Translated using Weblate (Dutch) - 4.1.133- Translated using Weblate (Japanese) - 4.1.132- Translated using Weblate (Czech) - 4.1.131- Translated using Weblate (Catalan) - 4.1.130- merge gh#openSUSE/libstorage-ng#655 - allow to customize style of graphviz output - use new style api - added examples for style api usage - coding style - added unit test - 4.1.129- merge gh#openSUSE/libstorage-ng#654 - updated pot and po files - 4.1.128- merge gh#openSUSE/libstorage-ng#653 - improve filesystem related commit action messages - added unit test - added integration test - removed unneeded include statement- merge gh#openSUSE/libstorage-ng#652 - added unit test for LVM over MD - 4.1.127- merge gh#openSUSE/libstorage-ng#651 - extended fstab handling for multiple devices btrfs - added unit test - fixed documentation - 4.1.126- merge gh#openSUSE/libstorage-ng#650 - sort block devices when creating btrfs (needed in testsuite) - 4.1.125- merge gh#openSUSE/libstorage-ng#649 - use devid from devicegraph when resizing btrfs - extended integration test - added note - fix resizing btrfs on e.g. LVM - 4.1.124- merge gh#openSUSE/libstorage-ng#648 - allow to reuse commands and files in mockup files - read sub uuid in blkid output - updated devicegraphs - add id to FilesystemUser - removed obsolete setenv calls to enable multiple devices btrfs - work on btrfs multiple device support - 4.1.123- merge gh#openSUSE/libstorage-ng#647 - Enable multi-device Btrfs probing by default - Bump lib version - Enable multi-device Btrfs by default - 4.1.122- merge gh#openSUSE/libstorage-ng#646 - Initial changes - Rename auxiliary struct - Block shrink multi-device Btrfs - Adapt action text when growing multi-device Btrfs - Add integration test - Bump lib version - Resize multi-device Btrfs - 4.1.121- merge gh#openSUSE/libstorage-ng#645 - extended documentation - 4.1.120- Translated using Weblate (Dutch) - Translated using Weblate (Finnish) - 4.1.119- merge gh#openSUSE/libstorage-ng#644 - added unit test - added integration tests - removed unneeded virtual specifier - wait for block device - moved integration tests - added note - allow to add devices to existing btrfs (for jsd#SLE-3877) - 4.1.118- merge gh#openSUSE/libstorage-ng#643 - extended documentation - 4.1.117- merge gh#openSUSE/libstorage-ng#642 - added documentation about multiple devices btrfs - added example - 4.1.116- merge gh#openSUSE/libstorage-ng#641 - handle mixed mode in output of 'btrfs filesystem df' - 4.1.115- merge gh#openSUSE/libstorage-ng#640 - parse UUID in output of mkfs.btrfs - fixed exception message - 4.1.114- merge gh#openSUSE/libstorage-ng#639 - Use the Docker image from OBS - 4.1.113- Translated using Weblate (Indonesian) - 4.1.112- merge gh#openSUSE/libstorage-ng#638 - parse devid in output of 'btrfs filesystem show' - reuse predefined regex - 4.1.111- merge gh#openSUSE/libstorage-ng#637 - extended documentation - changed wording - 4.1.110- merge gh#openSUSE/libstorage-ng#636 - handle btrfs raid levels during create - added unit test - fixed typo - 4.1.109- merge gh#openSUSE/libstorage-ng#635 - handle multiple devices for btrfs subvolumes - 4.1.108- merge gh#openSUSE/libstorage-ng#634 - added parser for 'btrfs filesystem df' - probe btrfs with multiple devices - updated unit test - added unit test - added integration tests - extended documentation - added pre-check for btrfs - added checks for nullptr - renamed variable (that really ties the function together) - simplyfied interface - coding style and cleanup - work on btrfs with multiple devices - 4.1.107- merge gh#openSUSE/libstorage-ng#633 - make get_displayname available (to_s is overridden by use_ostream) - added unit tests - coding style - fixed class names - make get_displayname() available in ruby - 4.1.106- Translated using Weblate (Portuguese (Brazil)) - 4.1.105- Translated using Weblate (Swedish) - 4.1.104- Translated using Weblate (Spanish)- Translated using Weblate (Slovak)- Translated using Weblate (Russian)- Translated using Weblate (Polish)- Translated using Weblate (Korean)- Translated using Weblate (Italian)- Translated using Weblate (Hungarian)- Translated using Weblate (German)- Translated using Weblate (Dutch)- Translated using Weblate (Czech)- Translated using Weblate (Catalan)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic) - Translated using Weblate (Catalan) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Czech) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Italian) - Translated using Weblate (Japanese) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (Russian) - Translated using Weblate (Slovak) - Translated using Weblate (Spanish) - Translated using Weblate (Swedish) - 4.1.103- merge gh#openSUSE/libstorage-ng#630 - fix compilation with -O0 - 4.1.102- Translated using Weblate (Slovak) - 4.1.101- Translated using Weblate (Galician) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (German) - Translated using Weblate (Polish) - 4.1.100- Unifying name Bcache/bcache to bcache (#629) - 4.1.99- merge gh#openSUSE/libstorage-ng#628 - handle topology for Partition and Luks - added unit test for bsc#1121129 - improved calculation of usable size for LVM PVs (bsc#1121129) - 4.1.98- merge gh#openSUSE/libstorage-ng#625 - moved topology from PartitionableImpl to BlkDeviceImpl - added get_sysfs_file to BlkDeviceImpl - use new get_sysfs_file - added save_to_string to XmlFile (for debugging) - read pe_start from pvs command - coding style - enable logging - added pe_start to LvmPvImpl - added get_usable_size() to LvmPv - added unit test for LvmPv::get_usable_size() - updated hyper link - added documentation - preparations for bsc#1121129 - 4.1.97- merge gh#openSUSE/libstorage-ng#621 - handle entries in crypttab whose block device do not exist (bsc#1123342) - added unit test - added documentation - added explanation - renamed variable - 4.1.96- merge gh#openSUSE/libstorage-ng#620 - extended documentation - 4.1.95- merge gh#openSUSE/libstorage-ng#619 - disable parted-sector-bug workaround on virtio-blk DASDs (bsc#1112037) - avoid empty nodes in mockup files - extended testsuite helper TsCmpActiongraph - added unit tests - throw exception based on Exception class - enable verbose output of checks during build - 4.1.94- merge gh#openSUSE/libstorage-ng#618 - updated pot and po files - 4.1.93- merge gh#openSUSE/libstorage-ng#617 - extended parser for lvs command - added function to join Texts - added unit tests - use callback to report unsupported logical volumes (bsc#1099744) - coding style - allow to ignore errors during in probe utility - consistent message style - added function to join names of block devices - improved messages for creating volume groups and mds - consistent naming style - use new join function in message about deleting filesystems - fixed typo - 4.1.92- merge gh#openSUSE/libstorage-ng#615 - Workaround upgrade with multiple mout points per block device (bsc#1118865) - 4.1.91- merge gh#openSUSE/libstorage-ng#616 - added debugging code - extended unit test - 4.1.90- merge gh#openSUSE/libstorage-ng#613 - Rename method - Add method for removing a bcache cset - Add actions to modify an existing bcache - Increase minor version - Fix error messages - Small fixes - Allow to modify Bcache devices - 4.1.89- merge gh#openSUSE/libstorage-ng#614 - detect DASDs using virtio-blk (bsc#1112037) - added unit test - avoid copying objects - 4.1.88- Translated using Weblate (Dutch) - Translated using Weblate (Slovak) - 4.1.87- merge gh#openSUSE/libstorage-ng#612 - Fix dead links to old libstorage in the documentation- Translated using Weblate (Catalan) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Czech) - Translated using Weblate (Danish) - Translated using Weblate (Japanese) - Translated using Weblate (Russian) - Translated using Weblate (Slovak) - Translated using Weblate (Spanish) - 4.1.86- merge gh#openSUSE/libstorage-ng#611 - Remove setters for non-permanent stored values - Extend Bcache API with helper methods - Use bcache command - Increase minor version - 4.1.85- Translated using Weblate (Swedish) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Arabic) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Russian) - 4.1.84- merge gh#openSUSE/libstorage-ng#610 - check for some storage signatures next to partition tables (bsc#1115807) - added unit test - increase patchlevel - updated pot and po files - 4.1.83- merge gh#openSUSE/libstorage-ng#609 - added roles to class MdadmDetail - probe devices order for MD RAIDs (bsc#1083542) - extended documentation - check for duplicate entries in mockup files - updated pot and po files - added callback recorder for probe callbacks - probe sort-key for device of MD RAIDs - 4.1.82- merge gh#openSUSE/libstorage-ng#608 - Throw better exceptions - 4.1.81- merge gh#openSUSE/libstorage-ng#607 - Add support for probing Flash-only bcache - Adapt testsuite - Add test for Flash-only bcache probing - CompoundAction: add helper method - Adapt bcache formatter - Add tests - Add bcache doc - Update lib version - Add support for flash-only bcache (with ABI compatibility) - 4.1.80- Translated using Weblate (Spanish) - 4.1.79- merge gh#openSUSE/libstorage-ng#606 - Evaluating correct block size for DASD devices. (Workaround for a parted bug). (bsc#1089554) - 4.1.78- Translated using Weblate (Indonesian) - Translated using Weblate (Spanish) - 4.1.77- merge gh#openSUSE/libstorage-ng#605 - merge gh#openSUSE/libstorage-ng#604 - Relax check for luks correctness bsc#1120070, bsc#1101870 - Unit tests for the fix of bsc#1120070, bsc#1101870 - Merge to master: Relax check for luks correctness bsc#1120070, bsc#1101870 - 4.1.76- Translated using Weblate (Czech) - 4.1.75- Translated using Weblate (Portuguese (Brazil)) - 4.1.74- merge gh#openSUSE/libstorage-ng#602 - merge gh#openSUSE/libstorage-ng#601 - merge gh#openSUSE/libstorage-ng#600 - merge gh#openSUSE/libstorage-ng#599 - use exceptions to handle errors - Create crypttab with proper permissions (bsc#1059972) - Create lock with proper permissions (bsc#1059972) - Create log file with proper permissions (bsc#1059972) - Add missing quoting (bsc#1059972) - Improvements from review - Backport: Fix audit issues - avoid thread unsafe strerror function - Backport: avoid thread unsafe strerror function - Merge SLE-15-GA - 4.1.73- Translated using Weblate (German) - 4.1.72- merge gh#openSUSE/libstorage-ng#598 - avoid thread unsafe strerror function - 4.1.71- merge gh#openSUSE/libstorage-ng#597 - Create crypttab with proper permissions (bsc#1059972) - Create lock with proper permissions (bsc#1059972) - Create log file with proper permissions (bsc#1059972) - Add missing quoting (bsc#1059972) - Improvements from review - Fix audit issues - 4.1.70- Translated using Weblate (Finnish) - 4.1.69- Translated using Weblate (Chinese (China)) - 4.1.68- Translated using Weblate (Spanish) - 4.1.67- Translated using Weblate (Italian) - 4.1.66- Translated using Weblate (Italian) - 4.1.65- Translated using Weblate (Slovak) - 4.1.64- Translated using Weblate (Slovak) - 4.1.63- Translated using Weblate (French) - 4.1.62- Translated using Weblate (Czech)- Translated using Weblate (Japanese) - 4.1.61- Translated using Weblate (Dutch) - 4.1.60- Translated using Weblate (Portuguese (Brazil)) - 4.1.59- Translated using Weblate (Catalan) - 4.1.58- merge gh#openSUSE/libstorage-ng#596 - updated pot and po files- merge gh#openSUSE/libstorage-ng#595 - improved sformat to be type safe and handle Text properly - properly translate partition type texts - properly translate devices size texts - removed now obsolete c_str calls - added comment for translators - reduce format warning level - fixed typo - 4.1.57- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Italian) - 4.1.56- Translated using Weblate (Italian)- Translated using Weblate (German)- merge gh#openSUSE/libstorage-ng#594 - use exceptions to handle errors- merge gh#openSUSE/libstorage-ng#593 - added support to create udf (fate#312911) - added integration test - increased so patch number - handle block size in max_size for udf- merge gh#openSUSE/libstorage-ng#592 - added comments for translators- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- merge gh#openSUSE/libstorage-ng#591 - extended documentation- Translated using Weblate (Czech)- Translated using Weblate (French) - 4.1.55- Translated using Weblate (Chinese (China)) - 4.1.54- merge gh#openSUSE/libstorage-ng#589 - Add method Luks#get_uuid- Translated using Weblate (Czech)- Translated using Weblate (Japanese) - 4.1.53- Translated using Weblate (Italian) - 4.1.52- Translated using Weblate (Catalan) - 4.1.51- merge gh#openSUSE/libstorage-ng#588 - Regenerated potfiles - 4.1.50- merge gh#openSUSE/libstorage-ng#585 - Fixed broken autobuild environment - Support for StrayBlkDevices in CompoundActions (bsc#1085134) - Moved predicates to base class - New unit test for Bcache compound actions - Use new check from superclass - Removed unnecessary include - Support for Bcache in CompoundActions - First (incomplete) CompoundAction formatter for Bcache - Fixed broken English - Use inherited methods - Use actual output for translator examples - Use multiple lines, not one neverending line - First complete CompoundAction formatter for Bcache - First unit test for MD-RAID compound actions - Added CompoundActions formatter for MD-RAIDs - More test cases for MD-RAID - User sanity check - Coding style cleanup - Updated year in useless legalese - Added missing sformat parameter - Added missing parameter doc in translator comment - Fixed translator comments - Moved device list formatting out to separate common function - Use better comparision function - Use existing constants - New CompoundActions- merge gh#openSUSE/libstorage-ng#587 - extended documentation - ported check from snapper - minor improvements - 4.1.49- merge gh#openSUSE/libstorage-ng#586 - mark AUTHORS as %doc- merge gh#openSUSE/libstorage-ng#584 - mark LICENSE file as license - 4.1.48- merge gh#openSUSE/libstorage-ng#583 - Use predicates to make the code much better readable - Added missing return - Use speaking function names for getters - Moved methods to base class - Use predicates and speaking getters to make the code much better readable (bsc#1085134) - 4.1.47- merge gh#openSUSE/libstorage-ng#582 - make format of po files consistent with gettext - 4.1.46- merge gh#openSUSE/libstorage-ng#580 - add bcache attributes (fate#325346) - [RFC] add bcache attributes (fate#325346) - 4.1.45- Translated using Weblate (Chinese (China)) - 4.1.44- merge gh#openSUSE/libstorage-ng#581 - Added test case for weird UUID (bsc#1102572) - Whitespace - Fixed blkid output parser to honor escaped quotes (bsc#1102572) - Fixed blkid output parser to honor escaped quotes - 4.1.43- Translated using Weblate (Dutch) - 4.1.42- Translated using Weblate (Indonesian) - 4.1.41- Translated using Weblate (Indonesian)- merge gh#openSUSE/libstorage-ng#579 - Use for bcache cset as display name string "bcache cache" (fate#325346) - 4.1.40- merge gh#openSUSE/libstorage-ng#578 - use predefined constants - 4.1.39- Translated using Weblate (Russian) - 4.1.38- merge gh#openSUSE/libstorage-ng#577 - implement searching for free name for bcache (fate#325346) - 4.1.37- Translated using Weblate (Dutch) - 4.1.36- merge gh#openSUSE/libstorage-ng#576 - Added Travis ccache documentation - Added Travis ccache documentation and cache cleanup - 4.1.35- Translated using Weblate (Chinese (China)) - 4.1.34- merge gh#openSUSE/libstorage-ng#575 - Use ccache in Travis builds - Use ccache in Travis builds (up to 4x faster) - 4.1.33- merge gh#openSUSE/libstorage-ng#574 - Allow to set Md uuid for testing - 4.1.32- Translated using Weblate (Danish) - 4.1.31- merge gh#openSUSE/libstorage-ng#573 - extended documentation - 4.1.30- merge gh#openSUSE/libstorage-ng#572 - Allow bcache to have partitions (fate#325346) - Allow bcache to have partitions - 4.1.29- merge gh#openSUSE/libstorage-ng#571 - do not translate snapshot description (bsc#1092757) - updated pot und po files - 4.1.28- Translated using Weblate (German) - 4.1.27- Translated using Weblate (Portuguese (Brazil)) - 4.1.26- merge gh#openSUSE/libstorage-ng#570 - merge gh#openSUSE/libstorage-ng#569 - fixed variable scope to fix temporary mounting (bsc#1099144) - added unit test - 4.1.25- merge gh#openSUSE/libstorage-ng#568 - avoid setenv after fork (bsc#1107403) - added unit test - 4.1.24- merge gh#openSUSE/libstorage-ng#567 - added luks label to blkid parser - added unit test - 4.1.23- Translated using Weblate (Czech) - 4.1.22- merge gh#openSUSE/libstorage-ng#566 - merge branch SLE-15-GA - merge gh#openSUSE/libstorage-ng#554 - merge gh#openSUSE/libstorage-ng#565 - merge gh#openSUSE/libstorage-ng#560 - merge gh#openSUSE/libstorage-ng#564 - merge gh#openSUSE/libstorage-ng#562 - detect correctly whether a file system is currently mounted (bsc#1105227) - adjust multipath parser to accept nvme related output (bsc#1089353) - Added some class descriptions - MdLinks: make it work also when even /dev/md does not exist - Avoid exceptions for inactive RAIDs (bsc#1090010) - Fixed the existing tests - test inactive noncontainer - detect raid containers differently - Mark inactive RAID in the BlkDevice attribute - A common way to configure the indentation style - Inactive raid - Merge SLE-15-GA into master - 4.1.21- merge gh#openSUSE/libstorage-ng#560 - adjust multipath parser to accept nvme related output (bsc#1089353) - try to make multipath parser more robust - add unit tests - 4.1.20- merge gh#openSUSE/libstorage-ng#562 - detect correctly whether a file system is currently mounted (bsc#1105227) - add unit tests - add spaces - 4.1.19- merge gh#openSUSE/libstorage-ng#563 - do not crash when parsing docker devices (bsc#1104899) - 4.1.18- merge gh#openSUSE/libstorage-ng#561 - Changed licence to GPL-2.0-only. - 4.1.17- merge gh#openSUSE/libstorage-ng#548 - RAID: states of operation - RAID docs: nicer formatting for the older notes - autodocs: ignore Doxygen search data - Don't surprise myself. - 4.1.16- Translated using Weblate (Catalan) - 4.1.15- Translated using Weblate (Czech) - 4.1.14- Translated using Weblate (Chinese (Taiwan)) - 4.1.13- Translated using Weblate (Italian) - 4.1.12- Translated using Weblate (Slovak) - 4.1.11- Translated using Weblate (Dutch) - 4.1.10- Translated using Weblate (Slovak) - 4.1.9- Translated using Weblate (Japanese) - 4.1.8- Translated using Weblate (Slovak)- updated pot and po files- changed pretty name- added documentation- Translated using Weblate (Japanese)- Translated using Weblate (Czech)- merge branch master - Translated using Weblate (German)- merge gh#openSUSE/libstorage-ng#558 - updated pot and po files - 4.1.7- Translated using Weblate (Japanese) - 4.1.6- extended NameSchema class - added StrayBlkDevice class (bsc#1085134) - extended unit tests - added unit test for probing xen xvd devices - cleanup - updated pot and po files - extended documentation - 4.1.5- merge gh#openSUSE/libstorage-ng#557 - Update the "build_dependencies:*" tasks to read the alternative spec file - README.md: libjson-c-devel is needed as well - Added pkgconfig check for the libjson-c library - Do not crash when displaying summary for an encrypted but not mounted disk (bsc#1099181) - Added unit test - Fixed a typo- Translated using Weblate (German) - 4.1.4- merge gh#openSUSE/libstorage-ng#555 - fix build with glibc 2.28 - 4.1.3- merge gh#openSUSE/libstorage-ng#556 - update git2log script to latest version - 4.1.2- Translated using Weblate (Chinese (China)) - 4.1.1- added special handling when creating udev ids starting with dm-uuid for partitions on multipath (bsc#1099394) - use strlen- merge gh#openSUSE/libstorage-ng#550 - document package version scheme- merge gh#openSUSE/libstorage-ng#546 - document package version scheme - 4.1.0- merge gh#openSUSE/libstorage-ng#545 - added document for limits - 3.3.317- merge gh#openSUSE/libstorage-ng#544 - work on creating and deleting bcaches - updated swig catches - added unit tests - added integration tests - reuse code - cleanup - 3.3.316- merge gh#openSUSE/libstorage-ng#543 - use sysfs path in find_by_any_name() - 3.3.315- merge gh#openSUSE/libstorage-ng#542 - added support for f2fs (fate#325755) - added integration test - removed unused code - removed obsolete documentation - 3.3.314- merge gh#openSUSE/libstorage-ng#541 - handle Intel Rapid Start Technology Partition ID (fate#325885) - extended documentation - coding style - 3.3.313- merge gh#openSUSE/libstorage-ng#540 - do not use deprecated header file - coding style - 3.3.312- merge gh#openSUSE/libstorage-ng#539 - handle device type attribute of udevadm info output - removed unused and obsolete file - do not try to activate LUKS on devices used by multipath (bsc#1089699) - improved explanation - 3.3.311- merge gh#openSUSE/libstorage-ng#538 - Add method BlkDevice#is_active - 3.3.310- merge gh#openSUSE/libstorage-ng#537 - updated unit test - extended unit test - fixed exception logging - 3.3.309- Translated using Weblate (Indonesian) - 3.3.308- Translated using Weblate (Russian) - 3.3.307- Translated using Weblate (French) - 3.3.306- merge gh#openSUSE/libstorage-ng#536 - Expose Device#devicegraph (needed for bsc#1094157) - Encryption#set_dm_table_name adjusts #name (for bsc#1094157 and bsc#1094963) - Code improvement from code review - More code improvements from code review - 3.3.305- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#535 - Return better exception (related to bsc#1094963) - Fix project name- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Spanish)- Translated using Weblate (Slovak) - 3.3.304- Translated using Weblate (Czech) - 3.3.303- Translated using Weblate (Italian) - 3.3.302- Translated using Weblate (Catalan) - 3.3.301- Translated using Weblate (Dutch) - 3.3.300- merge gh#openSUSE/libstorage-ng#534 - handle exception (see bsc#1073633) - 3.3.299- Translated using Weblate (Japanese) - 3.3.298- merge gh#openSUSE/libstorage-ng#533 - merged po files - 3.3.297- merge gh#openSUSE/libstorage-ng#532 - improved error handling during probing partitions (see bsc#1095168) - 3.3.296- Translated using Weblate (Italian) - 3.3.295- Translated using Weblate (Russian) - 3.3.294- Translated using Weblate (Slovak) - 3.3.293- Translated using Weblate (Slovak) - 3.3.292- Translated using Weblate (Spanish) - 3.3.291- Translated using Weblate (Chinese (Taiwan)) - 3.3.290- Translated using Weblate (Chinese (Taiwan)) - 3.3.289- merge gh#openSUSE/libstorage-ng#531 - added helper functions - place repair action before partition actions - insert action to repair GPTs if needed (bsc#1092193) - added unit test - 3.3.288- merge gh#openSUSE/libstorage-ng#530 - Add conflict with old libdmraid (bsc#1088570) - 3.3.287- merge gh#openSUSE/libstorage-ng#529 - fix probing of certain nvme systems (bsc#1093684) - 3.3.286- Translated using Weblate (Portuguese (Brazil)) - 3.3.285- Translated using Weblate (French) - 3.3.284- Translated using Weblate (Italian) - 3.3.283- Translated using Weblate (Czech) - 3.3.282- Translated using Weblate (Dutch) - 3.3.281- Translated using Weblate (Japanese) - 3.3.280- Translated using Weblate (Catalan) - 3.3.279- merge gh#openSUSE/libstorage-ng#528 - added action to fix undersized GPT - updated pot file - merged po files - 3.3.278- merge gh#openSUSE/libstorage-ng#527 - Use stricter NTFS max label size (bsc#1084867) - 3.3.277- Translated using Weblate (Hungarian) - 3.3.276- merge gh#openSUSE/libstorage-ng#526 - improved error message (see bsc#1089554) - 3.3.275- merge gh#openSUSE/libstorage-ng#525 - Fix lt translation - 3.3.274- Translated using Weblate (Chinese (Taiwan))- Translated using Weblate (Korean)- Translated using Weblate (Chinese (China))- Translated using Weblate (Lithuanian) - 3.3.273- Translated using Weblate (Polish) - 3.3.272- Translated using Weblate (Slovak) - 3.3.271- Translated using Weblate (Greek) - 3.3.270- Translated using Weblate (German) - 3.3.269- Translated using Weblate (French) - 3.3.268- Translated using Weblate (Portuguese (Brazil)) - 3.3.267- merge gh#openSUSE/libstorage-ng#524 - fixed probing of NTFS (in special cases) (bsc#1091585) - added unit test - 3.3.266- Translated using Weblate (Catalan) - 3.3.265- Translated using Weblate (Catalan) - 3.3.264- Translated using Weblate (Slovak) - 3.3.263- Translated using Weblate (Italian) - 3.3.262- Translated using Weblate (Spanish) - 3.3.261- Translated using Weblate (Spanish) - 3.3.260- Translated using Weblate (Czech) - 3.3.259- Translated using Weblate (Dutch) - 3.3.258- Translated using Weblate (Japanese) - 3.3.257- Translated using Weblate (Dutch) - 3.3.256- merge gh#openSUSE/libstorage-ng#523 - merged po files - 3.3.255- merge gh#openSUSE/libstorage-ng#522 - centralized reading /sys/block - added function light_probe (for bsc#1090753) - added integration test - 3.3.254- merge gh#openSUSE/libstorage-ng#521 - added stand-alone functions to read fstab and crypttab - added integration tests - removed unneeded include - 3.3.253- Translated using Weblate (Portuguese (Brazil)) - 3.3.252- Translated using Weblate (Swedish) - 3.3.251- Translated using Weblate (Swedish) - 3.3.250- merge gh#openSUSE/libstorage-ng#520 - fixed probing of active flag (bsc#1090520) - improved error handling - 3.3.249- Translated using Weblate (Polish) - 3.3.248- Translated using Weblate (Russian) - 3.3.247- Translated using Weblate (German) - 3.3.246- Translated using Weblate (French) - 3.3.245- Translated using Weblate (French) - 3.3.244- Translated using Weblate (Chinese (Taiwan))- Translated using Weblate (Chinese (China))- Translated using Weblate (Russian) - 3.3.243- Translated using Weblate (German) - 3.3.242- Translated using Weblate (German) - 3.3.241- Translated using Weblate (French) - 3.3.240- Translated using Weblate (French) - 3.3.239- merge gh#openSUSE/libstorage-ng#518 - added function to query allowed MD parities (see bsc#1090182) - 3.3.238- Translated using Weblate (French)- 3.3.237- merge gh#openSUSE/libstorage-ng#519 - update git2log script to avoid identical timestamps in changelog - 3.3.236- Translated using Weblate (Chinese (China))- Translated using Weblate (Chinese (Taiwan)) - 3.3.235- Translated using Weblate (Dutch) - 3.3.234- Translated using Weblate (Korean) - 3.3.233- Translated using Weblate (German) - 3.3.232- Translated using Weblate (Swedish) - 3.3.231- Translated using Weblate (Czech) - 3.3.230- Translated using Weblate (Hungarian) - 3.3.229- Translated using Weblate (Japanese) - 3.3.228- Translated using Weblate (Hungarian) - 3.3.227- Translated using Weblate (Italian)- Translated using Weblate (German) - 3.3.226- Translated using Weblate (Catalan) - 3.3.225- Translated using Weblate (Catalan) - 3.3.224- Translated using Weblate (Czech) - 3.3.223- Translated using Weblate (Spanish) - 3.3.222- Translated using Weblate (Swedish) - 3.3.221- Translated using Weblate (Japanese) - 3.3.220- Translated using Weblate (Arabic) - 3.3.219- Translated using Weblate (Dutch) - 3.3.218- Translated using Weblate (Czech) - 3.3.217- merge gh#openSUSE/libstorage-ng#517 - updated documentation - merged po files (bsc#1089902) - 3.3.216- merge gh#openSUSE/libstorage-ng#516 - fix unused partition slots calculation for logical partitions (bsc#1088483) - added unit test - 3.3.215- merge gh#openSUSE/libstorage-ng#515 - use correct options for multipath (see bsc#1089353) - 3.3.214- merge gh#openSUSE/libstorage-ng#514 - added unit test - 3.3.213- merge gh#openSUSE/libstorage-ng#513 - keep exception type (bsc#1088570) - 3.3.212- merge gh#openSUSE/libstorage-ng#512 - handle new mount type variable also in equal, print, ... - 3.3.211- merge gh#openSUSE/libstorage-ng#511 - Add MountPoint#mount_type to XML format (follow up on bsc#1088426) - 3.3.210- merge gh#openSUSE/libstorage-ng#510 - Expose the vfstype field from fstab (bsc#1088426) - 3.3.209- merge gh#openSUSE/libstorage-ng#509 - Force acceptance of SR (fate#318196) - 3.3.208- merge gh#openSUSE/libstorage-ng#508 - added helper function - support lock within same process - 3.3.207- merge gh#openSUSE/libstorage-ng#507 - added function to set freq and passno - removed unneeded const - added documentation - 3.3.206- merge gh#openSUSE/libstorage-ng#506 - added minix to enum of filesystem types - 3.3.205- merge gh#openSUSE/libstorage-ng#505 - enable system-wide lock - 3.3.204- merge gh#openSUSE/libstorage-ng#504 - handle pid_t in bindings - extended integration test - 3.3.203- merge gh#openSUSE/libstorage-ng#503 - only insert resize action for devices existing in LHS and RHS (bsc#1085523) - added action dependency - added unit tests - fixed typo - added documentation - 3.3.202- merge gh#openSUSE/libstorage-ng#502 - Simplified supplements for lang subpkg (bsc#1081454) - 3.3.201- merge gh#openSUSE/libstorage-ng#501 - make LockException available in API - 3.3.200- merge gh#openSUSE/libstorage-ng#500 - extended documentation - 3.3.199- merge gh#openSUSE/libstorage-ng#499 - provide reasons why resize is not possible - added unit tests - added integration tests - use more common notation - 3.3.198- merge gh#openSUSE/libstorage-ng#498 - added workaround for cryptsetup exit code regression (see bsc#1082640) - added convenience function - 3.3.197- merge gh#openSUSE/libstorage-ng#497 - Enable exception - 3.3.196- merge gh#openSUSE/libstorage-ng#496 - do not recognize 0x1f as extended partition - 3.3.195- merge gh#openSUSE/libstorage-ng#495 - recognize 0x85 as extended partition - 3.3.194- merge gh#openSUSE/libstorage-ng#494 - moved enum to storage namespace - added integration test - use mdadm to delete MD RAID (see bsc#1085470) - 3.3.193- merge gh#openSUSE/libstorage-ng#493 - export more functions in API - 3.3.192- merge gh#openSUSE/libstorage-ng#492 - handle erroneous small disks in get_unused_partition_slots() (bsc#1084777) - added unit tests - added note - 3.3.191- merge gh#openSUSE/libstorage-ng#491 - added functions to copy devices and holders between devicegraphs - 3.3.190- merge gh#openSUSE/libstorage-ng#489 - allow to remove partial volume group (bsc#955870) - updated pot file - added integration test - fixed typo - added convenience function - removed unused function - coding style - handle udev encoding for label in fstab and crypttab - removed unused define - added define by /dev/disk paths - use new defines - simplyfied code - coding style - 3.3.189- merge gh#openSUSE/libstorage-ng#488 - avoid compiler warnings - removed unused capture - improved check function - moved CheckCallbacksRecorder class - extended unit test - propagate force_rw flag (bsc#1079000) - updated documentation - 3.3.188- merge gh#openSUSE/libstorage-ng#487 - handle duplicate LVM PVs during probe - cleanup - added unit test - 3.3.187- merge gh#openSUSE/libstorage-ng#486 - split large function - probe LUKS later - do not probe LUKS on devices used by multipath (bsc#1079817) - added unit test - fixed typo - 3.3.186- merge gh#openSUSE/libstorage-ng#485 - added unit test - 3.3.185- merge gh#openSUSE/libstorage-ng#484 - added unit test - coding style - 3.3.184- merge gh#openSUSE/libstorage-ng#483 - added note - improved logging - try to delete directory before creating btrfs subvolume - handle change of path in mount point - added integration test - handle missing attribute for pvs - do not search for block device of missing pvs - improved exception handling - improved example - fixed log message - 3.3.183- merge gh#openSUSE/libstorage-ng#482 - added check for existence of devicegraphs - 3.3.182- merge gh#openSUSE/libstorage-ng#481 - always allow to activate multipath (see bsc#1082542) - 3.3.181- merge gh#openSUSE/libstorage-ng#480 - log time in several formats to ease debugging - 3.3.180- merge gh#openSUSE/libstorage-ng#479 - recalculate size of volume group when setting extent size (bsc#1079579) - added unit tests - coding style - added documentation - 3.3.179- merge gh#openSUSE/libstorage-ng#478 - generate dot files with more information - 3.3.178- merge gh#openSUSE/libstorage-ng#477 - added callbacks to handle errors during activation (bsc#1057426 and others) - updated pot file - improved integration test - 3.3.177- Translated using Weblate (Swedish) - 3.3.176- Translated using Weblate (Swedish) - 3.3.175- Translated using Weblate (Swedish) - 3.3.174- merge gh#openSUSE/libstorage-ng#476 - improved integration tests - added documentation - 3.3.173- Translated using Weblate (Ukrainian)- Translated using Weblate (Finnish) - 3.3.172- merge gh#openSUSE/libstorage-ng#475 - allow SystemCmd to verify program exit code - added base class for callbacks - added callbacks for probing (bsc#1070459 and many others) - use callbacks base class - use new verify feature of SystemCmd - improved error handling - work on handling errors during probe - updated pot file - use callbacks base class - coding style - extended documentation - 3.3.171- merge gh#openSUSE/libstorage-ng#474 - fixed device existence check (bsc#1082143) - 3.3.170- merge gh#openSUSE/libstorage-ng#473 - Default to GPT for creating partition tables (fate#323457) - 3.3.169- merge gh#openSUSE/libstorage-ng#472 - insert mount and unmount actions for resize - added unit tests - 3.3.168- merge gh#openSUSE/libstorage-ng#471 - fixed parsing /proc/mounts for ntfs - fixed error handling when ntfsresize fails - 3.3.167- merge gh#openSUSE/libstorage-ng#470 - consistent names - remove duplicate actions - added helper functions - fixed integration test - adjust existing unit test to so far supported setup - coding style - renamed function to reflect recent changes - 3.3.166- merge gh#openSUSE/libstorage-ng#469 - added possible_mount_bys() - 3.3.165- merge gh#openSUSE/libstorage-ng#468 - use parted with --ignore-busy (see bsc#1058667) - added convenience functions - 3.3.164- merge gh#openSUSE/libstorage-ng#467 - cleanup - added integration test - added jfs support (boo#1078552) - 3.3.163- merge gh#openSUSE/libstorage-ng#466 - improve ruby bindings - 3.3.162- merge gh#openSUSE/libstorage-ng#465 - extended is_usable_as_blk_device() - 3.3.161- merge gh#openSUSE/libstorage-ng#464 - use system devicegraph during probe- merge gh#openSUSE/libstorage-ng#463 - added function is_usable_as_blk_device() - added function is_usable_as_partitionable() - 3.3.160- merge gh#openSUSE/libstorage-ng#462 - added function to immediately activate/deactivate mount point - added documentation - code cleanup - 3.3.159- merge gh#openSUSE/libstorage-ng#461 - work on error handling - added documentation - coding style - extended test case - 3.3.158- merge gh#openSUSE/libstorage-ng#460 - Removed unit tests that clash with new glibc number formatting (bsc#1079855) - 3.3.157- merge gh#openSUSE/libstorage-ng#459 - extended unit tests - added and improved math functions - do not rely on 80-bit floats (bsc#1078997) - added unit test - added note - 3.3.156- merge gh#openSUSE/libstorage-ng#458 - removed deprecated functions - updated unit test - 3.3.155- merge gh#openSUSE/libstorage-ng#457 - improved error logging - 3.3.154- merge gh#openSUSE/libstorage-ng#454 - allow to set ssh port - 3.3.153- merge gh#openSUSE/libstorage-ng#456 - fetch the full history in travis so the log can be generated correctly - 3.3.152- Translated using Weblate (Dutch) - 3.3.151- merge gh#openSUSE/libstorage-ng#453 - added parser for stat - ignore disks without node in /dev (bsc#1076971) - coding style - 3.3.150- Translated using Weblate (Dutch)- merge gh#openSUSE/libstorage-ng#450 - Ensure not to write malformed /etc/fstab entries (bsc#1066763) - 3.3.149- merge gh#openSUSE/libstorage-ng#451 - work on error handling - 3.3.148- merge gh#openSUSE/libstorage-ng#449 - fixed default value - 3.3.147- merge gh#openSUSE/libstorage-ng#448 - Add GraphvizFlags::DISPLAYNAME to Devicegraph- merge gh#openSUSE/libstorage-ng#447 - allow finer control of flags in write_graphviz- merge gh#openSUSE/libstorage-ng#446 - use sid as vertex id- Translated using Weblate (Hungarian)- Translated using Weblate (Hungarian)- Translated using Weblate (Afrikaans)- merge gh#openSUSE/libstorage-ng#444 - added Mountable::remove_mount_point()- merge gh#openSUSE/libstorage-ng#443 - added PRETTY_CLASSNAME to GraphvizFlags- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#442 - renamed integration tests - added integration tests- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#441 - added integration test - added udevadm settle call- Translated using Weblate (Korean)- Translated using Weblate (Korean)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic) - 3.3.146- merge gh#openSUSE/libstorage-ng#439 - start rpcbind before doing NFS mounts - cleanup - added integration-test - 3.3.145- Translated using Weblate (Arabic)- merge gh#openSUSE/libstorage-ng#438 - extended documentation - 3.3.144- merge gh#openSUSE/libstorage-ng#437 - distinguish between mounted and unmounted in supports_shrink/grow - 3.3.143- Translated using Weblate (Korean)- Fixed an Arabic format string typo - 3.3.142- Translated using Weblate (Arabic) - 3.3.141- merge gh#openSUSE/libstorage-ng#436 - added sanity check - propagate exception to ruby - 3.3.140- merge gh#openSUSE/libstorage-ng#435 - propagate exception to ruby - 3.3.139- Translated using Weblate (Slovak) - 3.3.138- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.137- Translated using Weblate (Spanish) - 3.3.136- Translated using Weblate (Polish) - 3.3.135- Translated using Weblate (Polish) - 3.3.134- Translated using Weblate (Slovak) - 3.3.133- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.132- Translated using Weblate (Slovak) - 3.3.131- Translated using Weblate (Slovak) - 3.3.130- Translated using Weblate (Slovak) - 3.3.129- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.128- Translated using Weblate (Slovak) - 3.3.127- Translated using Weblate (Slovak) - 3.3.126- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.125- merge gh#openSUSE/libstorage-ng#431 - Update libstorage-ng.spec.in - 3.3.124- merge gh#openSUSE/libstorage-ng#434 - find crypttab entries by correct block device - coding style - removed unused parameters- Translated using Weblate (German) - 3.3.123- merge gh#openSUSE/libstorage-ng#433 - added helper function - improved probing of LUKs - added unit test - allow to find unused mockups - removed unused mockups - use name from crypttab when activating LUKS - allow to include more information in graphviz output - removed unused parser - 3.3.122- Translated using Weblate (German) - 3.3.121- Translated using Weblate (Slovak) - 3.3.120- Translated using Weblate (German) - 3.3.119- merge gh#openSUSE/libstorage-ng#432 - updated - 3.3.118- merge gh#openSUSE/libstorage-ng#430 - Revert "Add libstorage-ng-lang Recommends" - 3.3.117- merge gh#openSUSE/libstorage-ng#429 - Add libstorage-ng-lang Recommends - 3.3.116- merge gh#openSUSE/libstorage-ng#428 - use /etc/fstab and /proc/mounts for probing NFS - added NFS unit test - 3.3.115- merge gh#openSUSE/libstorage-ng#427 - extended integration test - 3.3.114- merge gh#openSUSE/libstorage-ng#426 - fixed alignment calculations - added unit test - 3.3.113- merge gh#openSUSE/libstorage-ng#425 - added new align policy KEEP_START_ALIGN_END - updated unit tests - updated integration tests - 3.3.112- merge gh#openSUSE/libstorage-ng#424 - propagate exception - 3.3.111- Translated using Weblate (Chinese (China)) - 3.3.110- merge gh#openSUSE/libstorage-ng#423 - updated documentation - extended documentation - extended integration test - added convenience functions - updated catches file - added convert function - added integration test - 3.3.109- merge gh#openSUSE/libstorage-ng#422 - added check for active flag - coding style - 3.3.108- Translated using Weblate (Italian) - 3.3.107- Translated using Weblate (German) - 3.3.106- merge gh#openSUSE/libstorage-ng#421 - avoid use of cerr - updated exceptions - coding style - avoid use of cout - 3.3.105- Translated using Weblate (Italian) - 3.3.104- merge gh#openSUSE/libstorage-ng#420 - remove LIBVERSION_MAJOR macro from spec.in - 3.3.103- merge gh#openSUSE/libstorage-ng#418 - check divisor prior to modulo operation - avoid throw in destructor - 3.3.102- merge gh#openSUSE/libstorage-ng#419 - Leave enough space even for 'reiserfs' - 3.3.101- merge gh#openSUSE/libstorage-ng#416 - added obsoletes (bsc#1073645) - removed very old obsoletes - 3.3.100- merge gh#openSUSE/libstorage-ng#417 - Explain why virtio udev links are filtered out- merge gh#openSUSE/libstorage-ng#415 - fixed print call - 3.3.99- merge gh#openSUSE/libstorage-ng#414 - renamed functions - provide find_by_any_name in API (bsc#1073254) - updated catches file - added integration test - 3.3.98- merge gh#openSUSE/libstorage-ng#413 - disable vfat resize since support from utilility is unclear (see bsc#1072479) - 3.3.97- merge gh#openSUSE/libstorage-ng#412 - switch to python 3 - 3.3.96- merge gh#openSUSE/libstorage-ng#410 - added helper function - added helper class - added function to compare by subvolume id - probe active flag for BtrfsSubvolume - 3.3.95- merge gh#openSUSE/libstorage-ng#409 - also renumber extended partitions - 3.3.94- merge gh#openSUSE/libstorage-ng#408 - renumber primary partitions (bsc#1072656) - added unit test - 3.3.93- merge gh#openSUSE/libstorage-ng#406 - removed sorting of results - 3.3.92- merge gh#openSUSE/libstorage-ng#407 - Install libboost_test - 3.3.91- merge gh#openSUSE/libstorage-ng#405 - handle active flag - provide more generic function - coding style - set active flag for blk filesystems - fixed subvolid regex - added log message - 3.3.90- Translated using Weblate (Italian) - 3.3.89- Translated using Weblate (Italian) - 3.3.88- merge gh#openSUSE/libstorage-ng#404 - fixed documentation - 3.3.87- Translated using Weblate (Czech) - 3.3.86- merge gh#openSUSE/libstorage-ng#403 - use print as a function - update examples - 3.3.85- Translated using Weblate (Czech) - 3.3.84- merge gh#openSUSE/libstorage-ng#402 - improved error message - 3.3.83- Translated using Weblate (Ukrainian) - 3.3.82- merge gh#openSUSE/libstorage-ng#401 - package some utils - cleanup - 3.3.81- merge gh#openSUSE/libstorage-ng#400 - added helper functions - sort devices using a sort key - added unit tests - remove sorting - increased library version - fixed usage text - avoid endl - extended documentation - 3.3.80- merge gh#openSUSE/libstorage-ng#399 - increase log line limit - fixed output format - 3.3.79- merge gh#openSUSE/libstorage-ng#398 - coding style - omit pointers - 3.3.78- merge gh#openSUSE/libstorage-ng#397 - handle improved parted output (bsc#1066467) - coding style - 3.3.77- merge gh#openSUSE/libstorage-ng#396 - make PartitionTable::is_partition_id_supported() public - 3.3.76- merge gh#openSUSE/libstorage-ng#395 - removed unused variable- merge gh#openSUSE/libstorage-ng#394 - Don't sort disks and dasds by default- merge gh#openSUSE/libstorage-ng#393 - added unit test - 3.3.75- merge gh#openSUSE/libstorage-ng#392 - added function to get mount_by method - remove "none" from crypt options - get mount-by method from crypttab - added crypt_options to Encryption class - improved unit test - coding style - coding style - 3.3.74- merge gh#openSUSE/libstorage-ng#391 - added logging - 3.3.73- 3.3.72- merge gh#openSUSE/libstorage-ng#390 - do not rely on sorting - added compare by sid function - 3.3.71- merge gh#openSUSE/libstorage-ng#389 - added mount-by variable for encryption - extended documentation - use get_mount_by_name for luks - coding style - added logging - 3.3.70- merge gh#openSUSE/libstorage-ng#387 - log errors of found by check - added checks (disabled until yast2-storage-ng is improved) - coding style - added missing member variables in print function - added check - added documentation - 3.3.69- Translated using Weblate (Portuguese (Brazil)) - 3.3.68- Translated using Weblate (Portuguese (Brazil)) - 3.3.67- merge gh#openSUSE/libstorage-ng#386 - handle pmem prefix during sort - added unit test - coding style - more natural sorting of Mds - make compare funcions available in API - added compare function for partitionables - added unit test - added integration test - added test - 3.3.66- merge gh#openSUSE/libstorage-ng#385 - extended documentation (result of bsc#1066290) - extended test data - extended test - 3.3.65- merge gh#openSUSE/libstorage-ng#384 - added check for chunk size of MD RAID (see bsc#1065381) - support RAID 4 - added integration test - extended integration test - fixed typo - 3.3.64- Translated using Weblate (Japanese) - 3.3.63- merge gh#openSUSE/libstorage-ng#383 - added document about spelling - consistent spelling - updated pot file - 3.3.62- merge gh#openSUSE/libstorage-ng#382 - fixed compound action message (bsc#1066364) - also extract messages from compount action formatters - updated pot file - 3.3.61- merge gh#openSUSE/libstorage-ng#381 - work on exceptions - 3.3.60- Translated using Weblate (Indonesian)- merge gh#openSUSE/libstorage-ng#380 - changed interface of wait_for_devices() - improved comment - 3.3.59- merge gh#openSUSE/libstorage-ng#379 - extended documentation - 3.3.58- 3.3.57- merge gh#openSUSE/libstorage-ng#378 - added global function for wait for several devices - coding style - wait for devices before swapon (bsc#1064282) - wait for devices before creating md raid - wait for devices before pvcreate - 3.3.56- merge gh#openSUSE/libstorage-ng#377 - probe page size (for bsc#1065381) - coding style - 3.3.55- merge gh#openSUSE/libstorage-ng#376 - added udevadm settle calls - 3.3.54- merge gh#openSUSE/libstorage-ng#375 - updated examples - removed unused code - unified Python and Ruby bindings - added examples - 3.3.53- merge gh#openSUSE/libstorage-ng#374 - fixed typo - coding style - fixed off-by-one error in max_primary() - coding style - fixed max_logical() - added documentation - extended unit tests - added function to create implicit partition - extended Partitionable constructor - added unit tests - added unit tests - moved code - work on exceptions - extended documentation - consistent wording - consistent logging - updated pot-file - fixed typo - 3.3.52- merge gh#openSUSE/libstorage-ng#373 - work on udev link handling - 3.3.51- merge gh#openSUSE/libstorage-ng#372 - handle implicit partition table when detecting resize info - extended query for possible partition tables - make stream function public available - added integration test - no partition slots on implicit partition tables - specialized messages for creating and deleting partitions - added unit tests - improved integrations tests - updated status.md - added integration test - work on exceptions - 3.3.50- merge gh#openSUSE/libstorage-ng#371 - extended documentation - updated status - fixed typo - added hyperlink - save bus-id in Dasd class - added example program - added class ImplicitPt and probing of it - updated docygen.conf - updated swig files - added unit test - work on exceptions - extended unused_regions (bsc#1064429) - use references instead of copies - fixed typo - added documentation - 3.3.49- merge gh#openSUSE/libstorage-ng#370 - dependency handling for thin logical volumes - unit tests - 3.3.48- merge gh#openSUSE/libstorage-ng#369 - fixed min-size calculation for small filesystems - added block size parameter to ResizeInfo - handle new block_size parameter - implemented get_resize_info for thin pools and thins - allow to set reserved extents - added unit tests - extended integration tests - smarter resize info calculation - fixed comment - 3.3.47- merge gh#openSUSE/libstorage-ng#368 - added helper functions - added functions to calculate default chunk size and metadata size for thin pools - added integration test - handle lvm pvs without lvm vg during probing - added note - added function to query max size for thins - improved lvs parser - updated documentation - added is_overcommitted() - handle reserved extents - added checks - work on exceptions - improved calculation of used extents - added max_size_for_lvm_lv - extended documentation - added checks - added unit tests - work on API of check functions - updated pot file - added helper function - fixed test - added check - simpler code - clearer documentation - 3.3.46- Translated using Weblate (Russian)- Adapt SetTuneOptions::commit - Drop CommitOptions destructor - Add const to CommitOptions arguments - Drop unneeded const in CommitOptions - Mark commit(CommitCallbacks*) as deprecated - 3.3.45- merge gh#openSUSE/libstorage-ng#367- Translated using Weblate (Dutch) - 3.3.44- merge gh#openSUSE/libstorage-ng#366 - work on filesystem tune options - extended integration tests - 3.3.43- merge gh#openSUSE/libstorage-ng#365 - Honor mkfs_options when creating filesystems - 3.3.42- merge gh#openSUSE/libstorage-ng#364 - handle chunk size - updated integration tests - 3.3.41- merge gh#openSUSE/libstorage-ng#363 - added messages for thin pool and thin logical volumes - 3.3.40- merge gh#openSUSE/libstorage-ng#362 - fixed stripes detection for thin-pools - set stripes like LVM does - 3.3.39- merge gh#openSUSE/libstorage-ng#361 - get more data from lvs command - take stripes value from lvs instead of dmsetup - added chunk_size to LvmLv - updated unit test - 3.3.38- merge gh#openSUSE/libstorage-ng#360 - extended exception message - thin volumes cannot be striped - work on exceptions - 3.3.37- merge gh#openSUSE/libstorage-ng#359 - added unit test - 3.3.36- merge gh#openSUSE/libstorage-ng#358 - fixed variable name - 3.3.35- merge gh#openSUSE/libstorage-ng#357 - extended tests - consistent parameter style - 3.3.34- merge gh#openSUSE/libstorage-ng#356 - added reserved extents variable - added documentation - 3.3.33- Translated using Weblate (Lithuanian)- merge gh#openSUSE/libstorage-ng#355 - extended lvs parser - 3.3.32- merge gh#openSUSE/libstorage-ng#354 - added udevadm settle call - 3.3.31- merge gh#openSUSE/libstorage-ng#353 - call efibootmgr before deleting partitions - 3.3.30- Translated using Weblate (Czech) - 3.3.29- merge gh#openSUSE/libstorage-ng#352 - added JsonFile class with simple JSON parser - use JSON report format for LVM tools - coding style - added exception class LvmLvNotFoundByLvName - added convenience functions - updated swig catches file - added integration test - coding style - 3.3.28- Translated using Weblate (Chinese (China)) - 3.3.27- merge gh#openSUSE/libstorage-ng#351 - extended lvs parser - add lv_type to LvmLv - updated integration tests - updated swig catches file - allow to create thin-pools and thins - added integration test - do not allow to resize extended partition - 3.3.26- Translated using Weblate (Dutch) - 3.3.25- Translated using Weblate (Dutch) - 3.3.24- merge gh#openSUSE/libstorage-ng#350 - raise global sid if needed during load - 3.3.23- Translated using Weblate (Chinese (China))- merge gh#openSUSE/libstorage-ng#349 - added helper functions - provide functions to create/remove encryption while keeping children - added unit tests - updated swig catches file - also check devicegraphs - 3.3.22- merge gh#openSUSE/libstorage-ng#348 - updated documentation - 3.3.21- merge gh#openSUSE/libstorage-ng#347 - work on querying resize-info - work on unit tests - documentation - coding style - fixed typo - 3.3.20- merge gh#openSUSE/libstorage-ng#345 - Update the scripts from openSUSE/linuxrc-devtools - Install graphviz as well - Use .tar.xz format for the source tarball - Do not use the shared YaST Travis script for building - 3.3.19- merge gh#openSUSE/libstorage-ng#346 - added do_resize for Btrfs - updated documentation - cleanup - cleanup - 3.3.18- Translated using Weblate (Portuguese (Brazil))- merge gh#openSUSE/libstorage-ng#344 - do not clean pot-file - 3.3.17- merge gh#openSUSE/libstorage-ng#343 - implemented do_resize for Xfs - 3.3.16- Translated using Weblate (Catalan)- Translated using Weblate (Catalan) - 3.3.15- merge gh#openSUSE/libstorage-ng#339 - Add .snapshots subvolume directly to /etc/fstab, not via the external installation-helper command - Add leading slash to .snapshots subvol name in /etc/fstab - Inherit mount opts from parent btrfs and add leading slash to subvol name - Reset diff reference after writing the file - Reset diff reference before change - 3.3.14- Translated using Weblate (Catalan)- Translated using Weblate (Finnish) - 3.3.13- Translated using Weblate (Japanese) - 3.3.12- merge gh#openSUSE/libstorage-ng#341 - updated documentation - 3.3.11- Translated using Weblate (Japanese)- Translated using Weblate (Dutch)- merge gh#openSUSE/libstorage-ng#340 - added pot file - added translation from libstorage - 3.3.10- merge gh#openSUSE/libstorage-ng#338 - coding style - use --force and --yes more often when using lvm tools - added integration tests - also handle action resizing physical volumes - handle ResizeInfo for lvm pv - updated swig catches - 3.3.9- merge gh#openSUSE/libstorage-ng#337 - added documentation - added more combine functions - added documentation - make function available in API - added function to query unused surrounding region - added unit tests - fixed some filesystem limits - coding style - do not look at filesystem usage for newly created filesystems - integration tests - redirect ntfs resize info query to probed devicegraph - fixed typo - 3.3.8- merge gh#openSUSE/libstorage-ng#336 - changed some requires to suggests - require parted >= 3.2 - 3.3.7- merge gh#openSUSE/libstorage-ng#335 - added function to query minimal number of devices for Md - added unit tests - removed unneeded include statements - 3.3.6- merge gh#openSUSE/libstorage-ng#334 - fixed actiongraph generation for deleting partition tables (bsc#1056153) - added unit test - merged testsuite directories - 3.3.5- merge gh#openSUSE/libstorage-ng#333 - use parteds 'resizepart' instead of 'resize' command (bsc#931765) - 3.3.4- merge gh#openSUSE/libstorage-ng#332 - create partitions on GPT with empty name (see bsc#1023818) - 3.3.3- merge gh#openSUSE/libstorage-ng#331 - Configure snapper if snapshots enabled - Set snapshot feature so snapper packages will be installed - Fixed docker setup for Travis - Fixed make_package script (snwint) - Move snapper config step1 from post-create to pre-mount - 3.3.2- merge gh#openSUSE/libstorage-ng#329 - use linuxrc-devtools tooling for OBS auto-submission - remove VERSION and libstorage-ng.changes from git repo - add git2log and make_package scripts - don't forget to actually create the VERSION file - point more often to linuxrc-devtools project - add link to linuxrc-devtools workflow overview - 3.3.1- merge gh#openSUSE/libstorage-ng#328 - fixed license file- merge gh#openSUSE/libstorage-ng#327 - added subsystem deactivate functions - added deactivate function - added integration test - fixed typos- merge gh#openSUSE/libstorage-ng#326 - generate Activate and Deactivate actions for BlkDevices - activate and deactivate actions for LvmLv - separate deactivation action for Md - deactivation action for Multipath - deactivate only active Encryptions - coding style - sort partition by number- merge gh#openSUSE/libstorage-ng#324 - submit to default YaST project (YaST:Head) - generate changes file - set version to 3.3.0 - 3.3.0- merge gh#openSUSE/libstorage-ng#323 - simpler code- merge gh#openSUSE/libstorage-ng#322 - use define- merge gh#openSUSE/libstorage-ng#321 - added exception handling- merge gh#openSUSE/libstorage-ng#320 - support partition ids on dasd partition table- merge gh#openSUSE/libstorage-ng#319 - special dependencies for DASD partition table - added unit test - coding style - fixed typo- merge gh#openSUSE/libstorage-ng#318 - improved activation of Md- merge gh#openSUSE/libstorage-ng#317 - updated paths- merge gh#openSUSE/libstorage-ng#316 - allow independent control of container entries - also parse MD level in MdadmDetail - skip parted call on inactive and zero-size devices - added note - added MD level "container" - renamed superblock-version to metadata - use reference - recognize imsm and ddf - set initial MD level to unknown - probe MD level from mdadm --detail - coding style - cleanup - exception handling - added MdContainer and MdMember - added unit tests - added unit test - updated documentation - updated bindings - updated status - extended documentation- merge gh#openSUSE/libstorage-ng#315 - moved document, fixed typo- merge gh#openSUSE/libstorage-ng#314 - added program to generate downcast file - regenerated downcast file - coding style - fixed test - added unit tests - coding style- merge gh#openSUSE/libstorage-ng#313 - added program to generate catches file - updated catches file- merge gh#openSUSE/libstorage-ng#312 - try to fix installation on multipath- merge gh#openSUSE/libstorage-ng#311 - regenerated catches file- merge gh#openSUSE/libstorage-ng#310 - Comment some public Region methods- merge gh#openSUSE/libstorage-ng#308 - coding style - fixed DM RAID activation - only probe active DM RAIDs - removed unneeded code- merge gh#openSUSE/libstorage-ng#307 - implemented activation of DM RAID - updated documentation- merge gh#openSUSE/libstorage-ng#306 - improved dmraid parser- merge gh#openSUSE/libstorage-ng#305 - updated bindings- merge gh#openSUSE/libstorage-ng#304 - added query function - updated unit tests - added support for DM RAIDs - added example program - fixed typo - coding style - added unit test - extended unit tests - activate Md before DmRaid - fixed typo- merge gh#openSUSE/libstorage-ng#303 - Expose Alignment#grain - Expose Alignment#offset- merge gh#openSUSE/libstorage-ng#302 - fixed syntax - work on exceptions - coding style - added unit tests - added unit tests- merge gh#openSUSE/libstorage-ng#301 - added functions to set dasd type and format - consistent function names- merge gh#openSUSE/libstorage-ng#284 - avoid integer overflow - correct name for unit tests - extended unit test - probe multipath devices - better interface - extended CmdBlkid for external journal information - probe external journals devices - added unit test - added override - added support for named MD RAIDs - added integration tests - extended unit test - added unit test - adapted integration test - extended documentation - coding style - generalised tests - corrected test - added documentation - avoid g++ warning by removing unused code - added override - removed unused variable - added unit test - renamed get_device et.al. to get_non_impl - pass mount_by to get_mount_by_name() - extended unit test - reduced scope of variable - added test case - shorter code - added documentation - added special handling for named RAIDs where the name is a number - added get_all_if for Mds - added debug messages - use strongly types enums - fixed command handling - reduced interface of SystemCmd - updated file list - allow to load mockup - generalised test - added function to adjust sids - extended int - added query function - added query function - coding style - renamed variables - renamed library - renamed variables - coding style - improved probing for multipath - set dm table name for partitions - set range for partitionables on dm - updates tests to md level enum change - simple valid check for multipath names - added unit tests - use wider int - sort udev ids like libstorage does - include multipath with alias in test case - added example program - activate mds - do not log debug log-level per default - updated swig catches - updated documentation - avoid cycle in actiongraph - added documentation - updated swig catches - fixed file list - extended documentation - updated swig catches file - removed wrong parameter documentation - coding style - generate swig catches for some deprecated functions - enable doxygen xml output (needed for generating swig catches) - fixed class name - coding style - updated list of exception classes - coding style - added dependency on doxygen.conf - provide definition of data member- merge gh#openSUSE/libstorage-ng#147 - Detect libxml bit more properly to work on most distributions - Cleanup the spec file to adhere Factory packaging guidelines - Check for boost headers to ensure configure stops prior build failure if the boost-devel is not present - Split out the boost dependencies up to the latest boost package split on openSUSE_Tumbleweed - Do not require rubygem-test-unit on Factory - Remove boost-regexp dependency as it was removed in favor of higer C++ standard function- merge gh#openSUSE/libstorage-ng#283 - fixed function names- merge gh#openSUSE/libstorage-ng#282 - reuse existing table of filesystem names - improved exception message- merge gh#openSUSE/libstorage-ng#281 - split directory examples into utils and examples- merge gh#openSUSE/libstorage-ng#280 - Fix bug- merge gh#openSUSE/libstorage-ng#279 - added used features flag for DASDs- merge gh#openSUSE/libstorage-ng#278 - extended transmogify example - improved Action::RenameIn ordering for DASDs - added unit tests - added documentation - added bugzilla reference- merge gh#openSUSE/libstorage-ng#277 - updated mockups to use parted --machine - removed old parted parser- merge gh#openSUSE/libstorage-ng#276 - added check - do not use cylinder size as block size - avoid holder two actiongraph in memory - coding style - added more comparison operators - check partition order - coding style - added call to check() - workaround for parted sector size during resize - handle alignment in partition resize integration tests - simpler Makefile.am - renumber partitions on DASD partition table - added unit-tests - renamed unit-test - added integration test - renamed variable - fixed typos- merge gh#openSUSE/libstorage-ng#259 - WIP - WIP - WIP - Add CompoundActionFormater base class - Add BtrfsSubvolumeFormater class - Update gitignore files - Add NfsFormater class - Add BtrfsFormater class - Add LvmLvFormater and LvmVgFormater - Add compound actions to actiongraph - Integrate CompoundAction and Actiongraph - Add bindings for CompoundAction - Remove old files - Update gitignore - Add CompoundAction#is_delete - Change return of find_by_target_device - Rename CompoundAction classes - Use Generator to generate compounds actions - Simplify CompoundAction creation - Rename and delete public methods - Return const objects - Remove empty destructors and improve constructors - Fix spelling - Add methods to LvmLv formatter - Add methods for LvmVg formatter - Delete improperly added file - Update example - Add automake subdir-objects option - Throw exception when action is unknown - Add tests for CompoundAction - Fix example - Improve formatters - Add files for compound actions example - Improve formatters - Improve tests - Improve text for compound actions with swap - Minor fixes - Rename data files - Fix test makefile - Improve variable names - Some improvements in formatters - Add gitignore - Remove spaces- merge gh#openSUSE/libstorage-ng#274 - Add compound actions summary doc - Fix text - More text fixes- merge gh#openSUSE/libstorage-ng#275 - enhanced get_possible_partition_table_types() for DASDs - simpler code- merge gh#openSUSE/libstorage-ng#273 - added documentation - renamed variable and enums - set extended_slot to false on GPT - implemented partition slots for DASD partition table - added unit test - removed unused function - use vector instead of list - added assert - renamed typename - added utility function - added unit tests - simpler code - added comment - added convenience function - added integration test - better variable names- merge gh#openSUSE/libstorage-ng#272 - added unit tests - new parse error tests - converted unit tests to new parted parser - removed old code - added note - fixed syntax - updated mockups- merge gh#openSUSE/libstorage-ng#271 - recognize parted "diag" flag - log partition id as hex- merge gh#openSUSE/libstorage-ng#270 - added find_by_name for Partitionable - split Topology class into Topology and Alignment - set minimal-grain to 0 B for DASDs - improved integration tests - set extra alignment for DASD partition table - fix sectors when calling parted on DASD partition table - use correct sector size - nicer check - keep minimal grain for DASDs - allow to get Alignment class - allow to align only to hard requirements - updated documentation about alignment - use partition id supported on all partition types- merge gh#openSUSE/libstorage-ng#269 - adapted parted mkpart call for dasd partition table- merge gh#openSUSE/libstorage-ng#268 - allow more control over mockup - rewrote parted parser including fixing sectors on DASDs - work on support for DASD partition table - updated unit-test - coding style- merge gh#openSUSE/libstorage-ng#266 - added function to convert partition type to string- merge gh#openSUSE/libstorage-ng#265 - avoid ambiguous code - replace own Regex class by C++11 regex - use C++11 regex instead of boost regex- merge gh#openSUSE/libstorage-ng#264 - fixed human string parser- merge gh#openSUSE/libstorage-ng#263 - use svg for graphs- merge gh#openSUSE/libstorage-ng#262 - updated- merge gh#openSUSE/libstorage-ng#261 - also allow to display actiongraph- merge gh#openSUSE/libstorage-ng#260 - allow to keep temporary files- merge gh#openSUSE/libstorage-ng#258 - removed obsolete file- merge gh#openSUSE/libstorage-ng#257 - improved parser - added test case- merge gh#openSUSE/libstorage-ng#256 - eliminated defects found by coverity- merge gh#openSUSE/libstorage-ng#255 - updated cleanup lists- merge gh#openSUSE/libstorage-ng#253 - make delete Filesystem or PartitionTable also delete signatures on disk - modified integration tests - added nop flag to actions - added helper function - set nop flag if btrfs filesystem is also deleted - extended documentation - removed unused functionality- merge gh#openSUSE/libstorage-ng#252 - added unit tests - renamed integration test for consistency - removed unused variable - added integration test - coding style - handle tense - removed unneeded function override- merge gh#openSUSE/libstorage-ng#251 - setup logger - coding style- merge gh#openSUSE/libstorage-ng#250 - updated file list- merge gh#openSUSE/libstorage-ng#249 - fixed documentation- merge gh#openSUSE/libstorage-ng#248 - added in_etc_crypttab flag - also provide EtcFstab and EtcCrypttab in SystemInfo - coding style - set in_etc_crypttab - set correct crypt device - added documentation- merge gh#openSUSE/libstorage-ng#247 - provide version information in bindings- merge gh#openSUSE/libstorage-ng#246 - removed probing in constructor and added probe function - adapted unit tests - adapted examples - adapted integration tests - fixed comment - added DEVMAPPERDIR define - save and load in_etc_fstab - adapted integration test- merge gh#openSUSE/libstorage-ng#245 - removed inadequate lvm activation - removed unused code - improved documentation - added missing include - provide begin() and end() - added function returning number of inactive lvm lvs - added utility functions - removed unused code - activate inactive lvm and luks if desired - updated bindings - added integration test - provide activate function in API - check callback pointer - fixed typo- merge gh#openSUSE/libstorage-ng#244 - Propagate DifferentBlockSizes through the bindings- merge gh#openSUSE/libstorage-ng#243 - added override- merge gh#openSUSE/libstorage-ng#242 - fixed typo- merge gh#openSUSE/libstorage-ng#241 - added check- merge gh#openSUSE/libstorage-ng#240 - initialize values - reduced include- merge gh#openSUSE/libstorage-ng#239 - added check - added unit tests - updated test - updated documentation - updated integration tests - consistent naming - added documentation - added convenience function - improved integration test- merge gh#openSUSE/libstorage-ng#238 - added convenience function - removed nfs from dasd probing test - also remove descendants - added helper functions - return const objects - moved mount point data to dedicated class in devicegraph - adapted bindings - adapted example - adapted integration tests - added integration test for changeing mount-by method - added documentation - adapted unit tests - consistent naming - make functions as deprecated - do not longer allow to create Devicegraph without pointer to Storage - keep exact signature of deprecated functions - coding style - added warning- merge gh#openSUSE/libstorage-ng#237 - fixed exception message - more detailed exception message - updated xml devicegraphs- merge gh#openSUSE/libstorage-ng#236 - more detailed error messages - added comparison operators- merge gh#openSUSE/libstorage-ng#235 - check types to avoid exception- merge gh#openSUSE/libstorage-ng#234 - create parent directory of new subvolume- merge gh#openSUSE/libstorage-ng#233 - document that nested RAIDs are unsupported- merge gh#openSUSE/libstorage-ng#232 - added functions to handle default mount-by - removed obsolete classes - added documentation - renamed variable- merge gh#openSUSE/libstorage-ng#231 - work on md size calculation - added documentation - fixed typo- merge gh#openSUSE/libstorage-ng#230 - coding style - added unit test - improved function interface - removed debug output - install header- merge gh#openSUSE/libstorage-ng#229 - probe subvolume id after create- merge gh#openSUSE/libstorage-ng#228 - added functions to get source and target of a Holder - fixed integrations tests - added integration test- merge gh#openSUSE/libstorage-ng#227 - added convenience functions - minor refactoring - added unit tests - added convenience functions - added integration tests- merge gh#openSUSE/libstorage-ng#226 - flush results after each test - handle spare devices in size calculation - make a conservative calculation - improve results output - fix typo- merge gh#openSUSE/libstorage-ng#225 - fixed check - added test for nested RAIDs - added workaround for bsc#1030896 - removed debug setting- merge gh#openSUSE/libstorage-ng#224 - added sort-key for devices of MD RAID- merge gh#openSUSE/libstorage-ng#223 - added flag in_etc_mdadm- merge gh#openSUSE/libstorage-ng#222 - create /etc directory when mounting /- merge gh#openSUSE/libstorage-ng#221 - probe some uuids after on disk creation- merge gh#openSUSE/libstorage-ng#220 - coding style - reuse objects EtcFstab, EtcCrypttab and EtcMdadm - added writing of mdadm.conf - set partition id - handle new values in Md::Impl - probe md-name and uuid - add tense to CommitData- Fixed line number output for empty ranges - Unit tests for Diff - Fixed include path- merge gh#openSUSE/libstorage-ng#219 - Added generic diff - Added log_diff() - Use log_diff() instead of log() - Fixed verbose mode - Fixed out of range segfault - Prevent diff context at file borders- merge gh#openSUSE/libstorage-ng#218 - added support for DASDs (the block device)- merge gh#openSUSE/libstorage-ng#217 - initialize value- merge gh#openSUSE/libstorage-ng#215 - protect mount options since subvol can include spaces- merge gh#openSUSE/libstorage-ng#213 - added btrfs subvolume support- merge gh#openSUSE/libstorage-ng#214 - Handle fs type unknown - New test case for fs type unknown- merge gh#openSUSE/libstorage-ng#212 - initialize value in ctor - set filename- merge gh#openSUSE/libstorage-ng#211 - cleanup AsciiFile (possible after EtcFstab rewrite) - use AsciiFile to read fstab for mockup playback and record- merge gh#openSUSE/libstorage-ng#210 - Use full filename for fstab and crypttab - Add missing space in mount command- merge gh#openSUSE/libstorage-ng#209 - changed return type of get_mount_type() - added compatibility functions- merge gh#openSUSE/libstorage-ng#208 - removed unneeded includes - removed obsolete handling of list- merge gh#openSUSE/libstorage-ng#202 - Activate vgs - Add comment - Fix indentation- merge gh#openSUSE/libstorage-ng#206 - New EtcFstab API - Methods to maintain correct mount order - Stricter constness and avoid endless call recursion - Added missing factory method - Added MountOpts::clear() - Unit tests for new EtcFstab class - Better runtime checks using exceptions - Tests for checking and fixing mount order - Added tests for pathological cases - Make line no. optional during parsing - Store filename for writing, too - Removed obsolete tests - Added EtcCrypttab class - Don't pad last column - Remove entry by pointer - Unit test for EtcCrypttab - New unit test: Nonexistent crypttab - Removed cruft - Don't stop parsing after the first error - Accept unparsable fs enums as type 'unknown' - Support for logging contents - Added missing includes - Get and set options completely at once - Use new EtcFstab: StorageImpl - Use new EtcFstab: ProcMounts - Use new EtcFstab: Nfs - Use new EtcCrypttab: Luks - Use new EtcCrypttab: Mountable and BlkFilesystem - Use new EtcFstab: XML mocking in testsuite - Omit 'defaults' for mount opts in XML - Code review fixes - Documentation fixes - Support for mocking during probing - Fixed unit test data- merge gh#openSUSE/libstorage-ng#200 - split off Mountable from Filesystem - removed unused variable - added parsers for btrfs tools - removed unused functions - unified comments - fixed typo - added missing implementation - allow mocking of SystemCmds with unstable command-line - added include - avoid btrfs in test cases (will need more mockup) - extended style guide - added example program- Imported https://github.com/shundhammer/commented-config-file (#199)- merge gh#openSUSE/libstorage-ng#197 - added some compile time checks - renamed macro to avoid name collision- merge gh#openSUSE/libstorage-ng#196 - moved code to implementation classes - removed unneeded virtual in API - added Encryption::get_all() functions- merge gh#openSUSE/libstorage-ng#195 - added comment - removed unused enum value- merge gh#openSUSE/libstorage-ng#194 - redirect to probed devicegraph in EnsureMounted- merge gh#openSUSE/libstorage-ng#192 - tiny code simplifications - added includes - make EnsureMounted more generic and work for Filesystem - added class to parse df output - added class SpaceInfo - added function to query nfs mounts - generalise and move some functions from BlkFilesystem to Filesystem - store SpaceInfo in Filesystem - cleanup - added basic NFS support - coding style - extended bindings for NFS - added integration tests - removed dangerous functions and added comment - updated python bindings - added check - added integration test - added Nfs::Impl::used_features()- merge gh#openSUSE/libstorage-ng#191 - split off class BlkFilesystem from class Filesystem - updated testcases - updated example - updated documentation - updated bindings - updated testcases - updated integration tests- merge gh#openSUSE/libstorage-ng#190 - coding style - removed abstract class - use direct parent class - avoid flushes- merge gh#openSUSE/libstorage-ng#189 - detect nilfs2 - cleanup - shorter code - coding style - coding style - added support for ext2, ext3, reiserfs, iso9660 and udf - updated bindings to new filesystems - added integration tests- merge gh#openSUSE/libstorage-ng#188 - removed cycle from actiongraph for Luks setup - cleanup- merge gh#openSUSE/libstorage-ng#187 - Bind exceptions for BlkDevice::get_encryption- merge gh#openSUSE/libstorage-ng#186 - fixed shrinking devices - enable commit- merge gh#openSUSE/libstorage-ng#185 - added Encryption::get_type() - make get_type() in EncryptionImpl virtual- merge gh#openSUSE/libstorage-ng#184 - implemented do_rename_in_etc_crypttab()- merge gh#openSUSE/libstorage-ng#183 - save sid in devicegraphs - add dependencies to some actions of children of partition table - added test case - added documentation - use convenience function- merge gh#openSUSE/libstorage-ng#180 - added set_number() function - renumber logical partitions in delete_partition() - added testcase - coding style - added actions to rename entries in fstab and crypttab - use integration test utils - implemented rename in fstab - override function - allow to skip more steps - better check - renamed functions - reuse code - the check was correct - coding style- Added Travis support (use Docker for building)- merge gh#openSUSE/libstorage-ng#179 - fixed swig bindings for used_features()- Typo: Fixed inconsistent enum prefix (#178)- merge gh#openSUSE/libstorage-ng#177 - added move constructor and assignment operator- merge gh#openSUSE/libstorage-ng#176 - Make boot flag checks public- merge gh#openSUSE/libstorage-ng#175 - turn udev_path into vector (see bsc#1011357)- merge gh#openSUSE/libstorage-ng#174 - show base in log for hex - fixed typo - added tests - handle partition id on GPT - added unit tests - removed TODO mark - fixed typo - DRYer code - renamed test files - markdown improvements - renamed function- merge gh#openSUSE/libstorage-ng#173 - updated history- merge gh#openSUSE/libstorage-ng#172 - added interface to query used features - added bcache to used features - added unit tests- merge gh#openSUSE/libstorage-ng#171 - added convenience functions- merge gh#openSUSE/libstorage-ng#170 - make functions public available- merge gh#openSUSE/libstorage-ng#169 - added parsing legacy_boot in parted output - actions for boot, legacy_boot and pmbr_boot - added integration tests - updated status document - removed out-commented code - extended documentation- merge gh#openSUSE/libstorage-ng#168 - added probing pmbr-boot - added test case for pmbr boot- merge gh#openSUSE/libstorage-ng#167 - moved setting BOOST_TEST_CATCH_SYSTEM_ERRORS- merge gh#openSUSE/libstorage-ng#166 - Added LvmLv.get_all()- merge gh#openSUSE/libstorage-ng#165 - added utility function to public API- merge gh#openSUSE/libstorage-ng#164 - added convenience functions - moved template definitions to separate file- merge gh#openSUSE/libstorage-ng#163 - added name for partition id- merge gh#openSUSE/libstorage-ng#162 - added test case - moved test cases - reuse code - coding style - simpler code - reuse code - help compiler understand code - removed workaround - fixed partition name - run performance tests as last - coding style - allow to set udev path and ids - set udev path and if when creating partition - added test case - updated unit test to include object for partition table - make logical partitions children of extended partition - added note and todo - added checks - moved unit test- merge gh#openSUSE/libstorage-ng#161 - also check udev_path and udev_ids in equal and log_diff - fixed typo - omit more udev-ids (use whitelist instead of blacklist) - added explanatory comment- merge gh#openSUSE/libstorage-ng#160 - set default partition id based on partition type- merge gh#openSUSE/libstorage-ng#159 - fixed initialization order - check that function is called on correct devicegraph- merge gh#openSUSE/libstorage-ng#158 - use const unique_ptr for pimpl - added testcase - added documentation- merge gh#openSUSE/libstorage-ng#157 - renamed class - removed printing to cout from Actiongraph - performance improvement - added performance test - removed examples with testsuite character - improved example- merge gh#openSUSE/libstorage-ng#156 - updated status document - include feedback from code review- merge gh#openSUSE/libstorage-ng#155 - updated documentation - added end user example - fixed typo - improvements from code review- merge gh#openSUSE/libstorage-ng#143 - the dependency fix: updated from the specfile - specified distribution specific dependencies - corrected deps on tumbleweed- merge gh#openSUSE/libstorage-ng#154 - handle tense - handle tense - throw on logic error - coding style - added humanstring example- merge gh#openSUSE/libstorage-ng#153 - fixed temporary check - quote commit message in log- merge gh#openSUSE/libstorage-ng#152 - removed some examples that were initial test programs- merge gh#openSUSE/libstorage-ng#151 - cylinder -> sector cleanup- merge gh#openSUSE/libstorage-ng#150 - added TmpMount class - added EnsureMounted class - use EnsureMounted class - added note - name enum strongly typed - now removed enum entirely- merge gh#openSUSE/libstorage-ng#149 - added convenience function to query Ntfs objects - added convenience function to query Partitionable objects- merge gh#openSUSE/libstorage-ng#148 - initialise class members- merge gh#openSUSE/libstorage-ng#145 - improved device_exists - fixed typo - added support to resize (active) lukses - added integration tests for luks - coding style - moved check function to impls - added check function for Luks - added comment - added unit test for resizing luks - require to provide filename - incorporated comments from code review - ignore generated files- merge gh#openSUSE/libstorage-ng#144 - added UntranslatedText and moved Text to own file - moded StopWatch to own file - added documentation - renamed variable- merge gh#openSUSE/libstorage-ng#142 - fixed lvm vg dependency generation if modify actions exist purely on lhs - coding style - added convenience function - added flags to control handling of credentials - correcter explanation for translators - use ST_THROW macro - coding style - support to create, activate, deactivate and delete Luks - added encryption handling functions to BlkDevice - added unit tests - added integrations tests - handle tense - added skeleton actions for crypttab handling - handle tense - handle crypttab- merge gh#openSUSE/libstorage-ng#141 - use C++11 initialisation - shorter code - removed unused check - coding style - added reusable sort_by_key function- merge gh#openSUSE/libstorage-ng#140 - Added a failing test (TDD) for LVM dependencies - Bugfixes in Action::Create#add_dependencies - Dependencies between LVM operations - Fixes from code review: coding style - Another complex test for LVM dependencies - Reusable function to add grouped dependencies - Added a test for PVs being moved between VGs - Dependencies for moving PVs between different VGs - Added note about add_chain cost- merge gh#openSUSE/libstorage-ng#139 - added const - added helper function - renamed variable - moved calculating dependencies for creating partitions to PartitionTable class - make vertices in actiongraph stable- merge gh#openSUSE/libstorage-ng#138 - renamed function - indicate only-sync in graph output- merge gh#openSUSE/libstorage-ng#137 - also save devicegraphs - renamed function - call function in base class - add dependency for reallot actions - added unit tests for reallot actions in lvm case - moved some tests to md subdirectory - always use svg instead of png- merge gh#openSUSE/libstorage-ng#136 - Obsolete again old libstorage- merge gh#openSUSE/libstorage-ng#135 - pass vector by reference- merge gh#openSUSE/libstorage-ng#134 - do not call udevadm info for inactive devices- merge gh#openSUSE/libstorage-ng#133 - fixed output - set flags for ostream - probe attr for lvm devices - added active flag to BlkDevice- merge gh#openSUSE/libstorage-ng#131 - fixed parsing of 'dmsetup table' output if no devices were found - catch exceptions from Storage constructor- merge gh#openSUSE/libstorage-ng#130 - Avoid conflict with old libstorage config file - Do not obsolete old libstorage in .spec- merge gh#openSUSE/libstorage-ng#129 - added functions to query volume group - wait as late as possible - added note - moved detect_resize_info to Device - provide ResizeInfo for LvmPv - added override - generate actions for resizing lvm pvs - added tests for lvm pv resizing - added get_size_string() - inform children (LvmVg and Md) when parent has new region- merge gh#openSUSE/libstorage-ng#128 - format numbers - handle ResizeInfo in LvmLv - added functions to find a volume group by the vg-name - make reallot handling work with Device instead of BlkDevice - handle reallot for volume groups - allow to save graphs - fixed consistency between variable name and partition- merge gh#openSUSE/libstorage-ng#127 - added most common lvm actions - removed obsolete define - wait as late as possible - added define - include size in volume group create/delete text- merge gh#openSUSE/libstorage-ng#126 - added override where appropriate- merge gh#openSUSE/libstorage-ng#125 - make find by uuid functions non public - extended comment- merge gh#openSUSE/libstorage-ng#124 - sort sids in output for better readability- Use stdin, not tmp files for passwords (bsc#986971) (#123)- merge gh#openSUSE/libstorage-ng#122 - added convenience functions for lvm - make delete_partition take a Partition - removed obsolete code - shorter code - added function to delete logical volume - renamed file - make doxygen analyse more files - updated documentation - activate DEPRECATED define - consistent function names- merge gh#openSUSE/libstorage-ng#121 - added convenience functions for Bcache and BcacheCset- merge gh#openSUSE/libstorage-ng#120 - move dm-table-name from Encryption to BlkDevice - probe stripes and stripe-size - removed obsolete class - removed unused functions - fixed documentation- merge gh#openSUSE/libstorage-ng#119 - removed unused functions- merge gh#openSUSE/libstorage-ng#118 - also support downcast for bcache classes- merge gh#openSUSE/libstorage-ng#117 - added copyright headers - moved filesystem classes from Devices to new Filesystems directory- merge gh#openSUSE/libstorage-ng#116 - added and renamed examples - init logger - prefer vector over list - detect bcache in blkid output - renamed output files - simply call probe_pass_2 for all devices - extended check function - added get_string function - decentralized code - added bcache probing support - includes cleanup - added bcache probing testcase - added documentation links- merge gh#openSUSE/libstorage-ng#115 - extended 'dmsetup table' parser to provide target and stripes- merge gh#openSUSE/libstorage-ng#114 - updated doxygen list of input files- merge gh#openSUSE/libstorage-ng#113 - enable client side searching- merge gh#openSUSE/libstorage-ng#112 - extended lvm parsers - probe size of luks - probe size of lvm vg and lv - added copyright header - handle new class variables- merge gh#openSUSE/libstorage-ng#111 - add get_partitionable() to API- merge gh#openSUSE/libstorage-ng#110 - use new is_valid_name- merge gh#openSUSE/libstorage-ng#109 - added is_valid_name for BldDevice- merge gh#openSUSE/libstorage-ng#108 - use fallback lockup - removed now unused function- merge gh#openSUSE/libstorage-ng#107 - use fallback lookup by major and minor number- merge gh#openSUSE/libstorage-ng#106 - corrected order- merge gh#openSUSE/libstorage-ng#105 - added note - added luks probing testcase- merge gh#openSUSE/libstorage-ng#104 - extended SystemInfo for encryption - cleanup - prefer vector over list - added luks probing support - use C++11 range based for- merge gh#openSUSE/libstorage-ng#103 - during probing find devices by major and minor number if find my name fails- merge gh#openSUSE/libstorage-ng#102 - added convenience function - added unit tests- merge gh#openSUSE/libstorage-ng#101 - work on LVM support - added documentation - added todo - added check - extended check functions - provide vectors of LVM objects - added get_lvs function - added get_lvm_pvs function - added get_blk_device function - downcast also LVM objects - added more convenient functions- merge gh#openSUSE/libstorage-ng#96 - Added YaST requirements, based on meeting in NUE - AI formatting - MD formatting - More formatting - comments from review - comments - Clarified upgrade from EVMS- merge gh#openSUSE/libstorage-ng#100 - added functions to search for lvm devices by uuid - added BlkDevice::get_all - cleanup - sort results of lvm commands - use get_all function- merge gh#openSUSE/libstorage-ng#99 - added functions any_md, any_lvm and any_luks - explicit function name - probe mds only if blkid found some - added uuid to lvm objects - added get_all functions - added testcase - added parsers for pvs and lvs- merge gh#openSUSE/libstorage-ng#98 - call parted with --wipesignatures when creating partitions - use long option - adapted tests- merge gh#openSUSE/libstorage-ng#97 - removed perl bindings (only potential use-case kiwi was rewritten in python) - mark function as override- merge gh#openSUSE/libstorage-ng#95 - initialise and log variable- merge gh#openSUSE/libstorage-ng#94 - allow to set minimal_mbr_gap- merge gh#openSUSE/libstorage-ng#93 - allow to set minimal grain- merge gh#openSUSE/libstorage-ng#92 - added convenience functions- merge gh#openSUSE/libstorage-ng#91 - added convenience functions- partition alignment, drop cylinders and geometry, change unit of sizes (#85)- merge gh#openSUSE/libstorage-ng#89 - Added support to set label and uuid for swap devices - Allow to change label and UUID of pre-existing partitions - Fix from code review: ST_THROW- merge gh#openSUSE/libstorage-ng#88 - Update TsCmp.cc - Update .gitignore- merge gh#openSUSE/libstorage-ng#87 - added buildrequires graphviz since doxygen needs it- merge gh#openSUSE/libstorage-ng#86 - Added check for PPC PowerNV- merge gh#openSUSE/libstorage-ng#84 - Added ID_EFI- merge gh#openSUSE/libstorage-ng#83 - swig bindings for Storage::Arch - include Arch.h in docs and devel package - fix list include - automake fix- merge gh#openSUSE/libstorage-ng#81 - do not create devicegraph without storage object - coding style - added missing includes - coding style - coding style- merge gh#openSUSE/libstorage-ng#80 - add documentation on parted partition alignment - enhance doc according to pr comments - added details on alignment- merge gh#openSUSE/libstorage-ng#79 - removed now unneeded scope operator- merge gh#openSUSE/libstorage-ng#78 - Disable changelog check- merge gh#openSUSE/libstorage-ng#77 - added detailed flags for write_graphviz()- merge gh#openSUSE/libstorage-ng#76 - added missing include (for whatever version travis/jenkins is using)- merge gh#openSUSE/libstorage-ng#75 - clarify dependencies, how to test- merge gh#openSUSE/libstorage-ng#74 - detect reducing/extending of devices - just keep one sorted vector of devices - added function to remove edge - added function to remove device - use exception macros - allow to add and remove spare devices to md - added integration tests - more descriptive parameter names - coding style - added comments - eliminate temporary variable - added some inline documentation - reshuffle code- merge gh#openSUSE/libstorage-ng#73 - added second link in documentation - detect faulty devices in MD RAID - fixed comment- merge gh#openSUSE/libstorage-ng#72 - test public interface - added testcases- merge gh#openSUSE/libstorage-ng#71 - added set_range to API- merge gh#openSUSE/libstorage-ng#70 - added documentation - added documentation- merge gh#openSUSE/libstorage-ng#69 - Added integration with Jenkins- merge gh#openSUSE/libstorage-ng#68 - added document about resizing - fixed typo- merge gh#openSUSE/libstorage-ng#67 - reduce code duplication - throw exceptions in error case - also generate pictures of devicegraphs - renamed function and added comments- merge gh#openSUSE/libstorage-ng#66 - avoid code duplication - added unit test- merge gh#openSUSE/libstorage-ng#65 - work on tenses for messages- merge gh#openSUSE/libstorage-ng#64 - avoid header file - use new size constants - avoid assert - use exception macro - no need for postfix - fixed error handling - cache, load and save Resize- and ContentInfo- merge gh#openSUSE/libstorage-ng#63 - adapted filename to library rename - make code reusable - coding style - init logger - provide __str__ for more classes - added missing dependency - use exception macros - added is_probed query function - allow to query resize and content information- merge gh#openSUSE/libstorage-ng#62 - avoid code repetition - updated gitignore- merge gh#openSUSE/libstorage-ng#61 - added Action classes for resize- merge gh#openSUSE/libstorage-ng#60 - removed unused functions - avoid boolean function argument- merge gh#openSUSE/libstorage-ng#59 - several adoptions to library name change- merge gh#openSUSE/libstorage-ng#58 - drop major and minor number from BlkDevice- merge gh#openSUSE/libstorage-ng#57 - rename rpm and library to libstorage-ng- merge gh#openSUSE/libstorage-ng#56 - drop bindings for legacy interface - dropped legacy interface and most/all legacy functions - renamed enum- merge gh#openSUSE/libstorage-ng#55 - added and use LogfileLogger- merge gh#openSUSE/libstorage-ng#54 - added downcast function in bindings- merge gh#openSUSE/libstorage-ng#53 - Expose get_geometry() / set_geometry() to API- merge gh#openSUSE/libstorage-ng#52 - added actions to handle /etc/mdadm.conf - renamed classes- merge gh#openSUSE/libstorage-ng#51 - initialise member variables - replace cmp_lt_number by compare_by_number - ignore coverity output directory cov-int - fixed assert - use proper function - use proper functions - added check for overflow - replace ParseError by ParseException - extended testsuite- merge gh#openSUSE/libstorage-ng#50 - more tweaking for broken ruby packaging- merge gh#openSUSE/libstorage-ng#49 - make Exception hierarchy available in bindings - do not expose exception macros in public API- merge gh#openSUSE/libstorage-ng#48 - avoid warning with g++ 5.2.1- merge gh#openSUSE/libstorage-ng#47 - removed redundant ";" - added interface functions to query number of partitions- merge gh#openSUSE/libstorage-ng#46 - support probing of Md using Md - fixed function name - consistent function/variable name- merge gh#openSUSE/libstorage-ng#45 - added get_md_parity_name - added TODO note- merge gh#openSUSE/libstorage-ng#44 - added quote for vector - moved code to storageitu.py - fixed documentation - initialise all member variables - added basic MD RAID support - added checks and unit-test - added DEVDIR macro as requested during code review - added node about consistent naming - use strlen instead of fixed value- merge gh#openSUSE/libstorage-ng#43 - define sorting of results - use macro - shorter code - do not use legacy file for AC_INIT - remove function identical to base function - extended style document- merge gh#openSUSE/libstorage-ng#42 - remove interim sync actions - included suggestions from code-review- merge gh#openSUSE/libstorage-ng#41 - renamed classes - added num_actions()- merge gh#openSUSE/libstorage-ng#40 - ensure "one definition rule"- merge gh#openSUSE/libstorage-ng#39 - added region.to_value function - added disk.get_possible_partition_table_types() - added get_pt_type_name() - use new ST_THROW macro - call parted with filesystem type depending on partition id - do not set numeric partition id on non MSDOS partition tables - added more fs-types for parted mkpart call - use define - better names for partition table types- merge gh#openSUSE/libstorage-ng#38 - added Device::remove_descendants() - moved num_children and num_parents to Impl - use new exceptions macro- merge gh#openSUSE/libstorage-ng#37 - added functions to query partition table type of partition table object- merge gh#openSUSE/libstorage-ng#36 - added missing include - use C++11 underlying_type for correctness - define copy constructor and copy assignment for Region- merge gh#openSUSE/libstorage-ng#35 - fixed function name - added TmpDir class (complied with RAII) - added Vfat and Ntfs device classes - removed ntfs-3g naming workarounds - coding style - delete copy constructor and assignment operator for Device and Holder - use new ST_THROW macro- merge gh#openSUSE/libstorage-ng#34 - moved test files - extended bindings - updated test program - added missing include - added test programs - moved test programs - added options to example probe program - consistent naming - avoid casts by using std::function - added logic check - use traits to avoid undetected typos - moved setting compiler flags before AC_PROG_CXX to avoid problems with --coverage - more descriptive exceptions - moved swig catches statements to own file - extended unit-test - test documenting exceptions with doxygen - use constant- merge gh#openSUSE/libstorage-ng#33 - added test case - added branch coverage example - call region.empty - coding style - moved Exception to Utils - added test-cases - made text more comprehensible - added test-case - fixed off-by-one error - robuster test-case- merge gh#openSUSE/libstorage-ng#32 - Add ruby remote probe example- merge gh#openSUSE/libstorage-ng#31 - added missing DeviceTraits - consisting coding style - avoid warning with clang++ - added and use templates is_device/holder_of_type- merge gh#openSUSE/libstorage-ng#30 - don't generate documentation for legacy interface - added some overall documentation - documented difference between high- and low-level device graph functions- merge gh#openSUSE/libstorage-ng#29 - added subgraph and filtered_graph paragraph- merge gh#openSUSE/libstorage-ng#28 - use fixture - added checks for big numbers - coding style - removed bogus operator - removed some asserts now handled via exceptions - added block-size to Region class - make Partition create functions take region parameter- merge gh#openSUSE/libstorage-ng#27 - Prevent crash upon shutdown (object destruction sequence) - Added TO DO- merge gh#openSUSE/libstorage-ng#26 - fixed file list- merge gh#openSUSE/libstorage-ng#25 - more detailed message - added check - adapted to api change - implemented umount/swapoff actions - replaced specifier deprecated in C++11 - moved Logger to Utils - added nullptr checks - added traits for Holders - work on exception logging - exception handling for storage::to_partition - updated examples- merge gh#openSUSE/libstorage-ng#24 - fixed Umount and RemoveFstab actions- merge gh#openSUSE/libstorage-ng#23 - added functions to convert enums to strings- merge gh#openSUSE/libstorage-ng#22 - added Filesystem::get_all()- merge gh#openSUSE/libstorage-ng#21 - added const version - steps towards private Devicegraph::Impl graph - added convenient functions - use checker macro - avoid using Devicegraph::Impl.graph member- merge gh#openSUSE/libstorage-ng#20 - make Actiongraph.graph private - added operator[] and fixed some constness - added probe mode that write devicegraph - rename class to reflect concept - make also graph type private - added typedefs - log destruction- merge gh#openSUSE/libstorage-ng#19 - use font Arial also for action graph- merge gh#openSUSE/libstorage-ng#18 - make Actiongraph part of public interface- merge gh#openSUSE/libstorage-ng#17 - also provide non-const relatives functions - added function to remove a list of devices - use exception macros- merge gh#openSUSE/libstorage-ng#16 - use long named option for readability- merge gh#openSUSE/libstorage-ng#15 - added one more 'udevadm settle' call - use a define for udevadm settle- merge gh#openSUSE/libstorage-ng#14 - added logger control functions to new api - allow Logger test function to also check component - added documentation - do not expose symbol - added constructor (just eye candy)- merge gh#openSUSE/libstorage-ng#13 - added to_device_of_type template function - use new to_device_of_type function - added testcases - detailed exception messages - make exceptions take parameters instead of final message - remember base filename in exception locations- merge gh#openSUSE/libstorage-ng#12 - work on exceptions- merge gh#openSUSE/libstorage-ng#11 - prefix include guards- merge gh#openSUSE/libstorage-ng#10 - generate bindings before running tests- merge gh#openSUSE/libstorage-ng#9 - parallel compile and run of tests- merge gh#openSUSE/libstorage-ng#8 - removed unneeded define- merge gh#openSUSE/libstorage-ng#7 - set BOOST_TEST_CATCH_SYSTEM_ERRORS=no- merge gh#openSUSE/libstorage-ng#5 - Added exception classes - added class SystemCmdException and CommandNotFoundException - added testsuite helpers - added unit tests for SystemCmd class - documented CmdParted class - improved error reporting with new exception classes don't throw exception for all kinds of parted stderr output - improved error reporting for CmdBtrfs, added CmdBtrfsSubvolumes class - added gpt fix backup - added files common.cc/.h, added test case parse_empty - use const string& - remove do_probe and probe() from CmdBtrfsSubvolumes - use const string& - remove common.cc/.h (not needed here), remove systemcmd1.cc (to be adapted first) - added test case parse_bad_device_name, parse_no_devices and systemcmd_error - test case parse_wiped_disk_good added, better test names applied - test cases for ParseException added - tests for SystemCmd added - retcode != 0 doesn't work - ignore non zero exit code - check for boost version >= 1.58 - add test cases for exceptions - add TO DO for test cases parse_gpt_enlarge_good and parse_gpt_fix_backup_good- merge gh#openSUSE/libstorage-ng#6 - Added use case document - Added pseudo code for suggested API - Use partition_table, not disk directly - Added multi_boot_pc_with_windows() C++ sample - use correct exception macro - added comment- merge gh#openSUSE/libstorage-ng#4 - added rules to style guide - added reasons to use C++11- merge gh#openSUSE/libstorage-ng#3 - updated URLs - added requirements and how to run unit test- extended comment- merge gh#openSUSE/libstorage-ng#2 - Enable documentation of the storage_legacy namespace. - Added brief descriptions to classes.- merge gh#openSUSE/libstorage-ng#1 - How to compile - How to make a RPM, code documentation.- make code- added design decisions- added heading- moved style guide to docs- added goals- use C++11 to_string- adapted testcase- moved testsuite compare classes to testsuite directory- make output work with older graphviz versions- added testcase- use back_inserter- make errors in actiongraph testsuite readable- improved test message- moved statement- work on compatibility layer- work on compatibility layer- throw exception instead of returning nullptr- renamed class to avoid likely conflict with keyword- work on compatibility layer- ported interface additions from fate#318392- ported interface additions from fate#318392- build on Fedora 21- sync version numbers with libstorage- mark functions as override- added per action callbacks- adapted enum names- first setting first and last flag on actions- save detailed actiongraph- added commit error callback- display name of partition id in message- fstab actions depend on the root filesystem mounted- place detailed node info in extra line- save libstorage version in output files- added namespace- allow to show details in graphviz output- added compare example which reads devicegraphs- added check for nullptr- don't save empty values- a devicegraph might have no devices or holders- work on strongly typed enums with swig 3.0.0- work on compatibility callbacks- skip nop action- rename devicegraph- install legacy header- added namespace- added include- work on compatibility layer- fixed efi detection- quote device- implemented real get_default_partition_table_type function- add storage backref to Devicegraph- install perl5 bindings into versioned directory- allow access to Arch and set some values- save architecture in Storage object- work on compatibility layer- added dummy functions for default partition table type- implemented create for msdos and gpt- generate bindings for filesystems classes- added btrfs (without multidevice) and xfs- use C++11- work on compatibility layer- added check function to Storage- delegate checking for modify actions- added convert functions- mostly reverted a previously patch- added type query functions- make functions creating partitions also take region- implemented calculating unused partition slots- work on compatibility layer- added partition type parameter to create partition functions- added constructor taking all values- removed functions from interface- added function to count partitions of a specific type- more verbose error message- handle range in Disk- catch exception- allow to create ext4 on disk (without partition)- save files in YaST2 dir- added include- better error handling- log beginning of commit action- wait for device before mkfs- handle rootprefix when writing fstab- set size when setting region- work on compatibility layer- work on compatibility layer- work on compatibility layer- extended compatibility layer- extended compatibility layer- improved messages- work on compatibility layer- added mkfs_options and tune_options- work on compatibility layer- use helper functions- fixed dependency generation- work on compatibility layer- handle mount-by when writing fstab- fixed variable order- extended compatibility layer- added Storage reference to Actiongraph- added functions for rootprefix- added include- added include- create mountpoint directory- write fstab entry- simpler syntax- treat empty fstab opts as "defaults"- fixed typo- improved commit messages- extended tests- moved code from Actions to Devices and added Actions- moved code- added action to format swap- updated testsuite data- added rotational/ssd to Disk- added sysfs-name and -path to BlkDevice- added script to demonstrate remote probing- allow to provide own functions for remote probing- implemented commit callbacks- removed unused Actiongraph declaration- provide getPresentDisks- use C++11 chrono::steady_clock- added simple compatibility for saveDeviceGraph- allow access to new Storage from old StorageInterface- fixed namespace- fixed use of PYTHON_INCLUDES- query perl include paths from perl- read mount-by type from fstab- added convenient functions- install StorageVersion.h- install perl files to vender_site- also use data from /etc/fstab for filesystem probing- fixed namespace- detect mountpoint from /proc/mounts- renamed functions- use udevadm to query udev device links- extended compaitbility code- some rudimentary probing for ext4 and swap- load more data- moved code- print more data- added function to query filesystem type- removed function from public interface- added todo- removed unused code- moved file- cleanup- handle udev path and id in compatibility layer- handle udev path and ids in BlkDevice- use external command to query links- formatting- moved get_classname and print to Impl- improved log_diff output- set verbose for 'make check'- handle gpt enlarge during probing- fixed gpt enlarge detection- also record stderr for mockup- implemented comparing device graphs- removed unused code- clear devicegraph in load- initialise values- removed file- added function to get holder sid pairs- added probe testcase (unfinished)- use external command- added clear function- added testsuite- use external command- pass complete object- allow to set mockup filename- added probe modes to read and write mockup- removed obsolete code (env.var. does not exist anymore)- implemented load and save in Mockup- added testcases for EtcFstab- added mockup mode- moved file- added testcases- added testcases- added testcases- added testcases- moved testsuite for SystemInfo to subdir- added testcase- added testcases- allow mockup for SystemCmd and AsciiFile- added test- use variable- added runtime checks- removed old stuff- added lvm classes- added spec file and utilities- split c and c++ flags- better cleanup- added translations (which are needed for testsuite)- added sysconfig fillup- integrate doxygen- use single location for dependencies- install integration-tests- avoid compiler warnings- ignore generated file- ignore generated file- find local swig bindings- generate file- added source files- added subdir- package test xml file- do not include non-existing file- added missing includes- package test scripts- moved file, generate file- added logging of environment- always create a "probed" devicegraph, even if empty- perl like function name- provide sformat also for plain string- namespace cleanup- namespace cleanup- log probed devicegraph- first integration tests- ignore operator<<- include and namespace fixes- report disk label type- fixed examples (still not all working)- make Region usable for interface- work on providing legacy interface and bindings- provide legacy functions- provide more getters and setters- avoid name conflict in swig generated target languages- fix includes- added testcases- added include- addes testcases- fixed compilation- added testcases- don't crash if no logger was setup- work on probing (design still unsatisfied)- updated gitignore- added include- removed generated file- added names for enum- added function to setup logger- fixed sformat string- added assert- added testcases- cleanup- save label as enum instead of string- added functions child and parent- save proved devicegraph- fix for strongly typed enums- added check- added Msdos device object- coding style- cleanup- copied SystemInfo and some utils from old libstorage- reformatted- use different namespace to avoid conflicts with old libstorage- work on style and bindings- added testcase- work on startup- cleanup- fixed order- work on bindings- work on testsuites- added testcase for perl bindings- use strict in perl examples- renamed testcase- renamed cast functions and use autorename for ruby- work on bindings- work on bindings- added tiny testsuite for ruby bindings- work on exceptions and testsuite- added testsuite for python bindings- fixed sid_t bindings- consistent naming- improved failure message- extended example- renamed INCLUDES to AM_CPPFLAGS- consistency- work on loading and saving device graphs- use template function- moved file- fixed compilation- use enum- added find example- work on loading device graph- fixed variable names- work on saving device graph- split Holder files- renamed function- added getSids function- added Environment class- added main class Storage- added swap function- avoid warning from swig- use enum- work on perl5 bindings- exception handling for bindings- added polymorphism example for ruby and perl- use common swig interface file- added BlkDevice::createFilesystem- make Device and Holder object contructors private, use create function instead- removed generated file- work on interface- work on swig bindings- work on swig bindings- work on swig bindings- work on swig bindings- work on bindings (not usable yet)- use impl ptr pattern for DeviceGraph- added back reference to device objects- remove old output files- added helper functions- use impl ptr pattern for Device objects- better module name- check exception message- disallow create/delete of disk, instead have partition table object- fixed mount ordering- changed action texts- display device graph- fixed return type- added testcase for dependencies- link to wiki- updated- added nop action for synchronization- removed example now in testsuite- dummy ordering for mount actions- use specific test tools- added testsuite- updated- restructured build stuff- updated build stuff- initial evallibstorage-rubycloud106 16391151224.2.78-lp152.2.15.14.2.78-lp152.2.15.1storage.so/usr/lib64/ruby/vendor_ruby/2.5.0/x86_64-linux-gnu/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17262/openSUSE_Leap_15.2_Update/9740ff03d61c2db02a63aff20837ff39-libstorage-ng.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=f89307aa7ce203e4bd71ee150f80d85ab1fa8508, strippedRRRRRR R RR R RR RRRRRR;íC|ɮputf-83b1ce66fbea9920f5a925f7531d3a1d49462adf920a6123df0b9aefddf087a8c?7zXZ !t/!]"k%+=Ve-3+'SLE𯕐O;Lq{RX6O'u{ԛEFC&9e&0Qe0M5bxoϝ(m!)6SvA7Yc[8=%U7ZI;jH`rXtGuyHڂh4Qb鍳"-FaqS%xdIbp?q>!Lx{{C/x& G[S5]s} J1щѮ2*ݞ'Vgd4f(y<H*X+ta[!9p. A: `"!n*X .4 1cGreƖ'lo]k҅c*A EJměnВݰZtZ1 }9H QH/UgMo_C>mjxvFgYE<,明q 0١͑OSk[Su<[fz=Pٟyr7E1nz! vzV YaRՖZV?$>.kb þ\+H >Y~fqI P6M`1l|]z fZ"eH=I# j/e_ʹ#H*BfK&9-JfQ :n׏h׍L6?8%8&VV17z"kX tV$ Ҋ_KRg6ޛS!ݒSfuL@Q@3#p76&iMÀ2lYX=5Z 1AV$H G~LǼPWkbQtvd&_`,AEng7ƮBt5V:3"orL 5f (D=Y}T'Hzrߥ?c?^EO<&WϬ^{k{R9:I}2m @e-C\ҐjFňE#(q\v4~D>cؗ()c~C*!K*-r@śG3/^}ݥ `ӑ1}cw0MVYx֣)i:81q;B9 e\5S8xX4kkϕ Lz:>@uT pcĬN^$CsLrPgBӈL6ҊsnLűżٽɗ* ˩I9"d/,2rKrh\/T7‡yLAU{ADWn,7,)v~ȂB^#Vb{jPdc:{M%TdsRZ34!c̡vj/Krfm"#t. T(' <ufv'Ff'_X2- !ߏG01 =G6|03 Z1r|OõzPs2ZO89wqkedeźN ͹&¿\>XF!_ʯHpzNCX:V}2IUZV?%tۼiin]:7114E0K* P"} #9Xfq=#]3@w(vG W ylcyeRzuBxNvоKRXacրMTÇcIZqiwpߪZm2rugMt}I<0BR>oD9p&Vs<_x?~>Dpr S)ZJcNհafYEoC@(̿ 9YD ""_S]ƁDFqf"c9֢x#[c&U4]O 3b#Omk5ւi3#akY?pψqM,7E{r=ρ5BE\&?Z/e)iᨵq2V^ڶ~rsΕB NΒ璘W<蠎m@G<@G~Jy*th4hҦTT2KL|.3Q~ԭRSew+`*u2f/WLz%V4`9"[<ѣ7Hi(ЈKE[|򧜼\7 nO4Wj`*PIpsІu3)!<]c!Ys`5bMSf/_*C =Bgӧ&\G;{VEF3v>" ]>[t܅OW~ B'pN_v p:䞯/ʻ.KpùX!r,2E$sb[PR.la xϓ.|:UݜI8W>P6a: iuXmrxAo#nq%5u*p7?cf ?2સv b?M6TsҩoxV"2 " uk_N@B,ZMdH-JVضȢ/+ "zU@ v=V ϥ( =*l4%} &eRsălB R+ =\7EAiQ^"dv-|BU݃:%MÊ +*ke5jST;F< &,ar1Xk%T> IQUYՌ4(I=%-ye)݆sͼ+ pwTj'"F3sʖţ[,2 @W!1K?g]pZ xvj/+{{$jK- 1#\5~Z5$K=׆M7۱3P8$?@3<|#PR(U gjџ9? ͘辄1 5& "0Dٻ9~[&ne$싖0e"7֫n~Z+4G% ;)T?B&o(z3FO]cus zվCvc۽C`3?gBQ`"xQnIۜϳIX,?{xG֊4JPBx;x@¼ cʷz5SmH b\&>5Q4`չpCQK_ҢɃf@gXʥ Ak R7?><oPGG*J YC5ab]^ H~HTzrE'$boЯ2K0CDȚ3# ,= 0+q E n-J*b΂T藒b ("<|C&bk$~tFoʉ'ԛ"1׏Af+f\;F10nYmqv7 Q8p _ܭ2؆K#t,j'Mp]~W}聬6ҎtG,"4W>dyBd趬'8<)JmoR4Lo )=% A~,ࡶ2n}G0j7wlk?^->+m=H?G3>ImݔTKrVԸY_m 6mbO(Utفd$ܦ >u;/gkO2&ymׯ 4 K?03%5P2AN򞐶We䁧 <.(aSLwP3ؘhwȉr"e@Qt`bO'J=~BIG)_[ AǨ}IdkxG D4h?5`_3 :J CFzPsEUfG}V/YB776r@|+MʡWp:6-&47AI;I㨶IS;I@O ٌb<}?jJHSh=yDn<s+]ܑxk^y{G4n4SĠaE{탑Sx>%*<. Ysƚ{(AR?d9w9 ᯳R(`~.\IְI`'jKtq)Wq^Țԉ3{b_dS (\k\ Ԇ!wWPNs;#GdЫK+V^'~"שkNK'MrfxiřskA d¶Zgp/(lž4_LͥVCt^A3:TvFzTbXwך0w_5H WvG7vݻlTʎY;&u`FS ?{l!muq WFrҦ7kw=*%=%_rbuJ#{>8JXsF-Q9!" NoJO 3];hgs 6&&4+?сk0+e&t,ثrِkQn%m]qQe;}*=o*账[T$uK4mtaIN`pLvI,b,+!!9)h.s:H逌Ȗ_:S@ 0rZdm )5@NTȌz7jI(^As|(g'-Ka׏Lݚ~o~s!LLL3Dj[)/;r@l@˯wg2 x>5W˴&9RR >OW]w5Q@0`?<othU{I5rz% 4_;bgނ 0DYM俆]%;VApFZv؍cֽBjēPPTpI|3#AJlkf~(֒EHat \4_R;P_SXj{!(TIgt[w 3'㌠U} [YŎPl١`@J8OM:>GO I 5_JaQoD޴LnfF -hˉ>yO7.8,)ǍQpW)z\$ /yiCX^@X5Z\+;<G+ =m,Ǟ°yʏG\:sbrTC@7[UCzeRݻ oj ZzQ-C_umYQVLs"Kfrk _6=aWgz#dҖ%+ͨ!H8ii=^5lUW8m wĒ]i`Pd><F-so\, a^@-Enz|2 J|坿hcr-[IpZA~6 jtIV@A!> F6a-4x}lN;F`י;jcBq*Đ|xB`ה_&5c„s;5 [b|S¾?tF X,*L Gk"B,L\'Y!dlQC#bsiM'N\,+A&ōPNF^ْ[jY{^^}᮱py('ބkNe;iN-As̷}ݞ+eI'Maie&U4fU7#8)y7K. ב҆7(76]Ej(OlC\:D(qT<$7neB7ެ'FJq5[`$FkݨݢX!FCѨف8-9lHgbV'XxE2?suz0_RN,Äl`:{DMލK5b?UK0F ]ͯڂ5^476%d6G.Pk Sѱd#7Y~3o67Vn`X/mIkžA3UV²X , =݅L=_fK4S^2@p5ra'zzI=V`{3Q{yBPzS]0 8r&ӆ }YyO^tfA Lr. ϜB*e&]LļL2nI`:Ao lAٸs_iY2l=?AMqloxz3uîWPwM$%OwO=soUqaԻ1"MOjԛ%ڋg]9=.TI)lksrI2 ֟ky8{& z21"!/#(âeh.4zAt|B緯P{ۤߠEY}K #jllw;m.'U;1,3þ0/I/wW(;jod#}J܎|F c?1>r`Tμg6 }Z,u/+7jB^1E~Þ娤$Jf쐯5#)n|kG;@$6UQf05!Ñ3ruNE>oySLqQF uޥOǢAnv &{K*i1pnf]%](^ o~b jݧwB Yҷ$"K5WIT|Q8SYcZƦad?;?6sX&|5*T,S:^1ơm.i{b)e&~';LFf$&OtrOOƣN$.{`eˤ^Ix3XgsMg3;^%R5Jј*FB_Pq3tQ&a" Dq ,T,ܨ|)E{7';ր8}~HA*귿h~&IgP|2I9vbi]E0=Gf-`YQ혨L;7Dph&ж HrBɑYL6s⻚x (ܞ`!A,XY~+tzf0c˂d{u@+#W|uZCb35SU-mwPWzU gxD]Pw/ܭ˔^&P@?&;ˡwVFy[wj ^申lv4]&Ow rjkWOr*v %?a8_z+y0 ^;YO59ºB䒓񪍶hE=~vzn?טv+zyfTC::U?Orrڽwzc+dpgWl'ϐ$|KR-C8帳QۈUnģ[KBboN+WO Nm&e.^ "3<9)};:,7qc?\ߏlk X3x>Pѹo46:Lgi;qmGާ}P'):Kqa@Fjz 4Aݏ"JI&3KmvA|!1Lƾ Ok{0[#(;LΛ2M`͏ԙZjW Pv cl jH5@6TZQ8oNv?H0=1-8)}38Lbp'D7i%>u.Qk0X'fm8 oDb䝄]8ԛs^NlO}ȶJ8<o.wdrfP-Ti1c[=bDNEIC+J?J|Eq@\0vMբ:FXx7ώUx|qȊC"Jq/6`Ccja/khi) f1jpOс4SݏD+,/e P1㥄' o}54BddycczF;ʨdrX KV%[°- <斴^+,@L;0\YIb XlyC7>o>4;}7XMz8宎SuHGI>x.^H?a>Cn|K `TDVTVnМ"H-uhQ#ɹU0UOJ溯PdQDT(`U Sx [XQr5g!Z}'XwѪ~h% S5bׯAts* f/Ҫ 57m F. 6sk)). 3-=ԋ$N΍qjWqGb;z>`" tc ~)Y@~_˜OÌ*,_p}z 4rMI`>V4F+z2h38Z;%_ =YV`p uv A &҂3DɼzhO$TI{+ 4R mO;YP" XFrk/Ey; AE! >^qVy$R(EjVU#{kVց21Q\V!+Vo^N%>s֒zWqeϻ ꕍ ̋T,0?β0$=<$y)Evp?_Z"`$F9)cc8[c(Ng2Kj%X_qR P9Qm ~|&,r)ݶXTOzi>aD~/yo),2AA|]Cx>b*6y)(UQƔyEjc`R}& z2;ӴwtZ,NÌM3UUf:_$|tGpB4*QuIL<ŔAǭ#hRz{?#cOYDK\te&fF /%T+/SWpWd:$ZHUϼ1d)% pl1کP ɘ\ʀjd[ߤZEFF k ѐ_{ UL8fDeX̾(|pj,jR7Ǻr_EzTT/^LO];c0yEQtȥYsVYK堯I?*$\;||!h| b(cK-ٔ9qVvҳtraȓ¶p{"Ѕ% w˥urکx6^fåJp, Q'Ax`)ҧ)I-)| G7 OH1DQ~/[]\!*x[U+|=Om ?6M@G1_*iD&LmƜJqBj)?Y.ꃃf':͡*p Se(_X7@_/O2qCfk 6O>Qy6݇` N>?jUQU%-6W9}uE8Vz:C7h3hP29RܟÍXM)$SMwe| ?u ;~xmݝ~h&Cފb~ݴ9aVetU_ҿu2J>ӎ@]+ϟR)9.I!Kw!(0U-;V_ߢ?e| g3EʹD`y6:@ڂ!,%cj尅3$m5eR%<2߻/(7S |gRNJ턡~}{gj`"~ ;@ R؛\*=lxy,1$5S9u޳-ɭP|2}`鲟c$zynzFzEriQA)a#kћ=on; i08c6Ph1v$CCpQXDƺ)Kآ'ɿn͐F2H#Zpl7tbs\!A܅Wi5Y甾†7NצM+̉f)Nu]ONlw:.W\/ød\>дd 7?H >-;L1]|`){qHny/ y^$t 66,ۊ$C8% ,9YC$(29d%ܨd>kh[U5%Z_c |*ȋVLi3[ab'xd{eiA>PD5:8:o`9ݖn DKЂCYZYk؇CeM=ƍ_x۞f]( }CAs(ǔƒ@W6Dfv<=PPXHFvP! h4c3b=1`D!/{?l~H'r<]¤ʛFi!ͦWM0_N$Mīٌg ۱-8jhQ5m!STJj_uhf{OTNLS#g6i01i[Z'X|8ؼ)$UԺЮ]F^0#;o;ư?Ojң9ISUX&lsd X#c4pt!J)tOj$G1cv0{[ZPf:_ .(پTS3@u:l/Lcɧ +xP FJ5a9'(!~lG,x3 n1ozQtj ښۇ RJC"֚E0p2r<\U10-a%^DCAx| c 6TO)2Nѐ-Cr OtUz2%Jc!G(-:Ry4Z0AŔqR\Eί9Yjmic4Դ& w{!P(<"@DhU9wɞ " 3#IIYSLabueN}En_ !9Ƽ/|E 9q+#\? x`m܋V]eI\SMdlM$ַa?NV$-3@݄W>B(rNcT\^I"dIS04ZIbWɚfXМP4"ZE%;ANY\O$?V8clU :-́?CtEwqC*rwZ$ty<)gS뤝&]/ª\~NVnrjOl4t<`Wivn@jɤK~}w$a`3 L'I*ʙ\[6䳬NjTERQҿhGP7tG fLbHz$)%JC {-~7d:Vz(.SS%;kr@[կ슑%Ɔ kpġzl4=Oe$'lfB:AǃKG"GxR@V@e[S!06 N?c֭{Swߜ΀ \hґbeӄ *SЕӇjԙwp{aR._R>4Ώؗ`S(IYpUIWۭn\[%hُ z> NYpo*f, w `v$8Iޱ<}a\ODO2`?-Ghl{פ]Z /B"yj=>F "nA []n#cׇ̄zRzzzIiiODz.F!o{CX~@LGq+CpU %'9`kLǪw$/U5ºoq2k[XR5 By~(+j“m6"]xƣFN>WbCaMlfQiZ 9w=>f@*"z]Q'ͨ]ʊaqFvkD5TL;pJ`lWb-:/d %cR^`Iayh'xdͲ^NzݢHWj}?UGMx-lyv6Cx㼾NЩ>-TsvWXdkRU&U;/v$555@r6k,z:ڥMݽs0KٚC4^dND  +ی!RKPÜT0i`mܐțXzf?J5cC3t&I]="zϤB쨙l)R25`+ *v@)/F +SQ80W5p/<1Ɗc+ʑ>|:_ٸ$q% )aӥšTEԑ1m2S  MNX_4>#W)wjF& u#(sZd8&|5( 0bg=$ej*q%54N(F^`UXɣ|Żr;2[EDx綘U!xCB' z ' 4/TsuP`;tM  *bTpz7Ñz뵔܂ bl =q&$Zp\3?naqV[,kڝhNLE9Y;Y_PqlY רP-x85͎!eх/k1I#+9fʋ}ݾFP@?Y[8q= a8IRKnKBWW 7N;1yT!1o$`;BT,BV+A r H/΢Y2=ё&Ǣg<nĆl[\GN~Ju}Hj j^:& ؼx<٠=W›GQjἰssC+b(ʶW4*tw-k/cTvwc4D9HF|dĶTͫ> $s~ |xy #PDrDgS> E-/YH[kbɖcŗzUJ˒ғ+$rqHvx ?A"H phNbs< E J,xxx N *6'P6VeE4GARġhr*ܲBkx˷[ub[,yP'MCmxG'#mD<3̔tNmxp:<mvE}BܧepzF e]#pD *TsyUȊ&.)Xq 5_4'ᚭ8߉`5N ]["_k ]U5J/YE`-|Ko,):Q/ v wQҷZ|ag~kOPzrj +x!NLV@*ȗjY)jϬ` e^Fm UNJ1G\ ǓcE5a CО#t3 70tvAX^%xPdbCV 5=M|]Kg8S;l0o-ޤXl<ی!c檋YpNe~=й0"ȰT*=V«! 7R*1s* `T!WHLWo^XF"c'AJ2.mJ3ЊS!v{=)e|cwfD*1~ otnl =uM <#]/8iޢJuRcr[,V xvYm"q 9׌(۰dzl.64ri ƒdO$$~Ԏc"Tz 'Jifp(:x.U[`^K.7L/2p>S55-+؏!kmιڝp#q E$"Ywta"X 5d_;a´ %K wX2R+R Z&EWlG3xF <_E{J^|ib2I^8(L* ЕhA?D%U#.u$H>Aŏ-ܓm3)j ?TXD,4PnSς%MbaRF&.LE.ntt1ԯؕdۺX_aq~;)Q•OΠfeplWmd+r0"gKW"p$Xt ,)KUbt{gZu *NFв{\tKW֘{p{9] btGxwGz2{Å $" nt)F-ؿk{F ןOلf;ig.rkv]QΖe9j Q= %DmHh}|cu%Rqs6*w|HFV. :6ìa t؜ɀz ;3Rñ5xX H()ֶw / }Er`X /1h)Hr|p*f؜>.Ya<^meWpgnzOh^P2x %9X9*#Vv]3-$MZ֠yPo?%M,%Ϣ/ѕ~7ňb>igsI5ZIsahL8Իo]W%3QdGӨ$f ,AХǔ*Sg Q˧?ĩxO}o'< {ڗ 9r+y!86h$cO&B`g$><+c~MGLbg`x&8YX/bBM/eqNT P#I~g!'۬~_=3"S@Q-)({~f*WUgŽ@.ZLS}D&`$яND69I)wjDx, }};zPa}8+EgI)SaBTN Lx Q3)EUW1e VH:7!S- Q'l 9$~`4&8ds٠뙡JKǧhrWebr8<Ӷng~W yW:1e o~GACyLSCДgZv幤ľ>xτĚo;v2'8_K%|7X: !>HR׀)Gl҇L[Vj+Y %:D_ _(P|i^ɤ@ȧqBcEuN63wDZDk:0v"C4%5*@Z gɋֈ6i vdJa:-^T݀LX5\C*RCˡl?î{C j(CxvejpbJ'톛J@2.OE)"ʹK?*Bs㢞QƬ|  `[ -U7RS+8>GSQt8Guz-rb%*I+H걮I&#78,f僊WXV;b؂¤q֬!"jj<MXC^~F3氻yƧTjUr#,_-*h㵨ݝGҷ Takoe_\B+DGu瑡54OObY2͎ 0%S$m'ߘ/ G,cv:tWН3rh(kp3 P;/J{9AJm_SZ^8qzsWlMʲpSJ9%WT"{YdX][/a}iĆ~iOVO /94FJFOx0:=fᄏ)%柃w9;-ocN XkYjL@GH$ E0-Ϯ [Ynš(cuh 'xZcff:,>PGDz.|9pɭEXN]$wP:F`U$ϘD_킸QiOWuO='ד{,?'Vx>mۤF"֔n}-QPxR?+/n U<ό`x!_M]3 %{~+/ֹV{\Ht+mPhc#Y{KU lkPvzeY ҍ"聟bP91Ȥ٧ۙǴ+/pj!c70 :)ose1Ǽ@ ʼn1.hw\{dU#.?; 9}w 0=n5. =':K7:xBE7kE{$6\lo^[H삲hX5Rĸ2m灅28k7^ibEB,dk:e#|jnAo琁M6,\Gz2:oy0yK!NKoWo#`IfcIvEo9YDc$W-h36wFpޜ-/b5^DF2!Lʥ` L;Q#M3~ a'NòJ=`cZ$/C oLBR:(c.Q^!UXQ\[}R)(z7jB$w o6VxMFR2ذe@Zّ6}Qa-:&!YD߷H&\'p#qʁ?0?KKBe|7ke!hE3\HOb6Ģ0poF JFK׻9<\ ns]SWgZZMs͹U!_DXa`Uґ|?뺄;SQDmlrp]nv̰V#7%q1n  x[i YbZYӦl1fdl/ӆ;T0j>Q6YvCd>TAs\G"Ve孒* tJ0Zu 7"I*FE YoZHn^RL[妢 ʠǨ#'f 0;k40 :ޛ'QlG6Bv m̠+Y?v,g k7Du>PB` LPs8^nDwdtBl]7"6l.pe 6ʦ3XX`\k{"%$wPol6z|g<1~ Tbk r7wUV dh y[<`™VRSBx@Be(-Q]v%-KhPQc WT *by 41魓3R)i +7#XH^^qU "?$nOaThv#IF;FH'F|.[չp2lRUhgE7x#Xnz.oAKA[{9 ӪdP]}OHMRB>c(R;@fwFinjfآBEY|t/X:fD4qIEB _pD>bmJpPDNn2<%E }^gHSXY-SoK ͉Zt"$: "FGq+҂)e=r.gbBY@^lwK4mȔ-|bƢFwjbF;e4asʳT(Ct&?v cdc.B>7$5F܉{AuGfT`Yfi"ǭ:ɟ(CTfG<eW2B9{E~)1W+ː쪧Leh̺?} I**2)LMS~0)|xas`xM'@OCw8ױ2s~9+ sX0{Dп/lя'a F,dt P7vشB#zO}˱|J 铒D_Qn>fU˶2!j^21l 3WLpx^joQw퍡 'ѤS6rBrklG mrJbeZb-Ȋ %}5\Őޠb[mk9ߠI-pIKt=' h5c_i}jHǛ4YǞМCaDL%Ȉ. )L<7-rT$9T?V_CL\#wՀ+)e P"mfx`C~S)ζ&pwɸ!替ZgC꺤ٔ;r.r7X5;#^yAOBRp3HԖeɾ%̤l4ǂUmtw>kH9@3ǖIa2 Ex9|lW 텋߀(|scj䬽yE^ʝ2%Fd UO˙!f0nGJbT쌢!d2X$mmiÛ:6Ya߳wD0),!-f#Z$|he7JM&@'fʤ2ÁS˜nIBP)"Y g(QHEՕ|N@ŝ,q؞[\rd竪Hٛř;78`:ǤWj#չw8y'DcأVU.V,暟"5g]8W7_zy|< mIȔPEBmJ_/ldM//qC`T'vу;4~]=OZ&]ҧK$ #5vlM@$]*pɏ"5ę!o&!:ĸnJ38SJFCxLݘ|p9js۫(RqTBj'r5;=Vr8ل&ij]9&gR:gW0B~o#G<-D6)Z|4d4$>igwEk "8T7ofS'm#FD5}?2+5I :3D7gK*v/#&P*wBnOcKH_sϫT~=2/wKM a)Q'vbg:/+c,5KJj FGQtܐNץ' ZyB؄$B'W7adKRI8Y$5-t/\rE* UF2 zˬX#[pұY79.a,\0(~:matEk?Q}q?L6D$6X߯ϝCOe:!n| ? {[0E'wznm]߶Wq6Cx$bgr˶F@M`rtcNlBzDOLI_xKH.c]*r;"ZvO?*.w2cB To=1$r;jKxm5q4j]4BmZeIL{c0(HcgaH3#;.đ~! ;<>!4Gj Փu73h/bhLo׶c/f^Ud<_v.~`OHE~x4,6B{s^FG0UTIy!w=.6^V/! )]9YmV/H_][&Oɷu _Z*i2JSGT,ʾBF$5 J3p4 Lvm^/ RY(H֔)iHaDMer /scsM7]7{u:b6 Ǥҫ%?X,CUCW=R~>(d=TDr / d$䧋G?ni%mĺ [ݨf]1+}Y3OGYK B@=]6̷MrѴTa 820&[/DcxHbde1# D3Ѱnb|\rKcݑ^sjj1܅YXT}bAwUW#(6|1(E@tEЊ'N.ӧ: R`f.ELG=\ӛr)Qta`'QA`߃ޢRoXʊN$5Ѣ W˫i_! ?8'ŜZ||ًAS-mJ}v-v֪d+Y΍`] Iv;K]?hFnae7crrɽW-C5l^4,X>( w5_̽8s^䙏ҥgOt  \ԺP%aC+u'ݫd3{;uI1x4'CG*yrE4z1.1gi"XXgXPgsϖg{ψnqsƴ>{p+ y"OͅCu Kl$~Fc43ȩ(htjr3_F9#mDGSNUaIkUґ\浜ؖ1/VfS&Z' z?ƚ [P'6"]+ 6}8iF`{|?lm1g\bva|N z7r!\7&Zx٦$42X\ [@IKmQoc# k U[s ;RpM^ҥHۇ.1R=m>͌ql'dj}j[@ {C7iʝMS\Zp`Į: ^1jh ɪJ+FkNW߻gxyV=ߡ ]%@[b_Z=BMU@]j\K_zoZք7hT /b3 Ϸ/oT@ a`A_4j,ذ4Ke`o=LGK2sXR#mĘ/vaB =ȯ\IudnvY6 7`g칼@TW4㒿.JpYcPPoP]tbBȁ2=W?GP >bCaѥYxWoxS*~o2xLY_\@`j!9WpRE?יOZT$)6=_CP*0k3uMOZom a8u󧺇7 y|N#kFp~21D, dEqwmJ͗ISU{o,G$2 eʛq2 8x1[dW$XP(P Ђ0+Fq.pnek pmSl8eV0tJqDOZ 7IUszܼG:JcȀCf\Kz68Wna= U Bh1 {cBA|ZMo ;uڗ8?N:u #aB(xoR8a8bsN+0-I+/EvAeŷc{r % 'q jzSqP*R=Bl,FoN'= n?$M}%3 o\#Y% {Ogvfd,s.ۨ6(0iZM@y}[cl {qh;BLd);}/D`+`uNbU-0.wg6"QiP\} (*כ8JF(`G{6 8;dXMPe0Y |_ Iu(ߏS~Ь]u \͉xE,DvNlA{ލ|£͐q6Rt7i9]ve&Iқ#R.|V]Ѩ KBP*)BX+0z=ޚrC`*S?jZO´_wiXY`\-_yQ. VO2i$QINxخsHe5Eib-~jz4\L%)N~ol$ΉH80a TRq Q_Y G2HSE7٦/UT .pĽeo-Tn V\+a¢rՇKց'Z'~۝&+ǗO)!4bW#a{Y-'3Unv g_(--oַn,fΘPq胜jA uv VZ1: V0h3֝u?z&AMOH;ĉ ?Qӥ]B&ٞ&}2+&>ֺ Mz|∟R-P>XQϖrkCςQht{ۨC֡8=Ztځ;2K\kߺeԭH83襚+pң OpyBYhg_HB㸫CGbp%+#*f6. {ZidYE!Uq4j2b5'd:Zq= [ĈHԦa]*G Q=뇒&􏌢HHtz:e%wlv85(!L;M&JA6ą{u 5X[1Fl“k^gp}4&lfQq:afJO1I sLBB8Yr]{_KYXQt#8A;+D5XImPv9wb ]ݖ 7j%.b WKN5RM/! Ǵ5f &rx<ه1k@6ݱsH}W=rWr!"]O5 %%DuN߇߀&,V2c^|#Pq?Lul} ~rțY5O9ԋ3: -sp,ڿ3$Yg˧.|7Mlad:wLKz,_[G?\DktiP ;p?W9~9+%afKٌ Tˑ% ?G^Vi0#"}`Mr:Ti͋ +) qT\7Ε[ ذiKavs;\u?8\l2mX|hOK!̓Vg.F+.Fٗ@tF\B埤NEfTݻ`Y4Б(fuQU| 8ҝN `$9ѹ&v#bd$+9?-tu˿ֻ6DhsZ(BQ&, 2}P1npIݿ+_#WJ|+yP+N_98H'ޟc 0>x~^7ߋYK-njy ,Lܮ[MAi cpxѿ3-M 7VouuB6(ņ 0!HFƢH?/ӄD;l Jn 0A:)w cm NPi;QkV6olž-^5h!@}6,=jT*`m1 Mu,BaNd@>Lۊ ONhi0ӚY GIW |> 4O%9O ܛ*.x%|}Z_>C|t'&zZ<׏CHUrz :yN_L{*џ̉MCݏ&yC9L?W$t{~;Z5QUQY/%֞p.ȨYi3o >Y\z`p1 $˿549BRjcCVx5`wEXW;T#gTV.uM_FduP1: ԯ[P}&\* p}Pa9Y%?E߈Y% =˜F=x-yfadF; 2k/"ا(?[Eީ ts~0қEe:G~)/_O9Ѳ?щfA4!a9ݽKY\2yL.fͷ8rtAZ 1ğ0,-owpLX!(x]d.-?<6_VMY옼فn>vZHރƤлWh%$u(bTi,9EݍZd`nac?mSYX9bvXmg _~7 JNʁJUsbM_Ғ{9W?s+bi+]T] ]7@؀ԙrv3@Vm"f@i(X=#ǨSb1kW W5q$$uܑ8d&#I< nGھU߱@)tʓ8 i*bg#93k ˅0wyC^B7=q4^xAf c|A{ܱA&>'Üb+69Rޕ+1p,G"o=m>c8l!ZU7FN$ f=Q lPZ&o(#(/l;J&\.Y6{SA[Z<Ig  @t"G5 @9LgX~5s;ŲktH!}ď>'feRz9eel!VbЏ2pqzB~_/v9=$Vfĩ@ 4áf&RВ^5٦>7%_k.y!`oQV).Kwpjlfʚ>_} >Z+AF'˔[ ̙SkoķQ z ap!`~orÝBX P?'Vܥ\r.[Aή%rvmb:%K 4 Vt-El1=!+qnUKȯdEDs@;\ޘb D,ҎC nbW~$JʣnMAXݴPjU'PLt.^i#2zq6PT-.X^2.E}&1s8XEqCe',Y4 W,` z iك*a/_hhlFq"WALv,pa^nKsSDƭq G$qg>2٘PlMhA41Yo3ZS㟏t@?̻d,ln_HH 1`~V_]߆㡽!%¤Wn;.$y P.7SQqqWw.M~q}`ܟ~38+C/V?Yq HЗxz|x3Y|,g +:Uu S i?eR°(zW<ēRg+EUbs^TR%T7dg(K|7_ 3<,a?)(8a-U+A-é1,<>Io>)oX ,RRd{5t\ pپoZ0T@PͯKXDQzfEn CbEj8ŠDA)5jQO/Me [j-0(Ĕ9tlhD++vG?e}+9'yk<ӺR< mά%2o9AJRWj|+ӗEKdŰG_$A6]M#$E[3$=s]vH 3INu@Af@ip#L̮2Ǔ$r>3{WMUUv|3$4s5TS{H_j*ws`꘺;^fc0rfwM'g>,ROCwj T:gᇧ\VFq]Eh!*s!hu/sXh}j"$h4Sp[.ImiF\ZƃT^cme^axQDK9GN}[ZYSsG҉j!-roǃ91t7y(Y~..YIN@.<ﺆsRXT&젺E^wiA#vU9m':L:T@y)emHX߻+ja>dy\HuN7DAU*>-^tm‹Vo?9p#Y:N~+-vI Mӌ 4N,R'{OHN$-6'жu<8G5v] `8nV[q7c=Fnߵ,.OMPGjD~=Tmpf wiH fS^w 딊$Q"C=K6{DgݾVkkh5 Oڃ."m3S%E$ڋOֆqVr⹱F.خQqbi0qekm3~"k'\ެV*LwcEg,NL G*~3B=:i|%4ѕaّ2DS~79z#,y/qxH@ 㒉cO<5a[8B5 wz|B!QB8{T< \> |1A5;X琺$pJ.ZiF.Wyymg`ᴐZLi!>ʩ[ҫ2="Vr˿񈤯IJ6hp*;WG&l2E V$-iE&0u—RK螀ڄQ/q7p/d'LrwdYF}UU˪%A,Ty=H.D)L-u M 7‡w #,1o 8gK_LF"ʵ;F;t#ޟkADFh&qzkĥtX+"DX$ͷ Ҕl\RAAU2GjԻ@SkF a=L'׌]W-[ uMLW$y=M`qD1Y̹P X@w`z#uWG |`ce̕*I,^rhfew$N7̨^N0HH$]y ںFVgКچQWPMf !ݗKm)m}+9oO(fXj -dW-@oZ/h(9eesFwu\qQk\;϶vBV2#U) F/GK"a"z=& ~ڒ>vUj^Q7 exT: _ -0GfaL+e6kfQ0NI`!dA]ܣY֫u/yمn3_}; S 1yi2sF;ʘr᰻-w2u~g7g~] N8.BG`.r20VkWʞ?kR%qIcb+ШvSSO???cl=<>%,גk8wa<nNqj\ td'iV( ]eٰYKįʕB9DևYSvo.׾L^@g9ѯt 7X !V]7KMw~B:7/g,%0DD}T/?iJ4yLtmMwë>}%,`p"<2W-O琫 7t[]ATLCzaxu:~j ]UMu2F?dYx^--۷N;@<6;z-q .$[ie^ qX Ը*:8O{Wk3 ӳf<;NGMg#Ә6_@8  ϷIyʁ9}R}$NዿKIȜi ࣇDfL=;녿 Ecc"ĉMiʹV@D jt`-{ #EM]؃aPd4_sΆ${;o:jBK&Oى ba`=, ?Jk6]Ъ1\ʹ^n q *{O~Qn?f?$K=Xڭ[rڍtxą/~˻70DUr6iV]NsZc2 ve;/}oRʠNh3eA1prωk،|D榾Nu{ފB0ĝDH&贄+k V¹< 5lU8cD39U! X@G2/FdC ٦ULi4)H.%iE3/P mWzX Jr*9S֩T=dg竮dw:> IH`Ytr`E* G+TqzY)}!C 7"gScT8 -_&_09(!r&u{]f}(*Nc,(\dfchW9r礹/]'MjW=l6DJkx ~Ҷ$ m*}V&ʢhz\;<KSUY ZVR0QHRk`B[i1AeF=H(+|kCF\Gdىd dw^H]/PDomG2`yh/6=\X2Hsl-b`s;rY`7W "RNh; sMXpdc4p(Ca_% ~ϛj)L0EU=GKgEIt7DQh5.^Uf0xASz| bWG!g1[FGБ^B4KM,Y֗&y=uwǷϛ ;7a(*m.k87^I6*8nQ55+̽6QM? :_ s`J%)PμdGUڳڠy5اݹ8 Pdϫ|4eB.r1'%eASoGe~o[_[ȷ(]^us9l&MaLva39nv|hZPJ& rhk" k~` |cqIj;)QU/,i=yೲW_`T[WC$.%<^ ?m0\Dq{֙*Z„؝6SŅܳZ#W"X]bw$7a[+[ K厊1ʆK ;-x+:*>-'Z3@O(+4YmpLݳ!$1w:\年3W:bE&HX8ȉgQE]y!˕R%"8%qCP]a-\5eVĿH/ bPRɺ,/NiE2$Ւ}V¿$ojšXذ|EH9zj%7ҊS8AE8=LRYSV)Bހ,ZXY.s&> LkF iB V 6ZX );3N Ft GG=d:"S]#̉&prF@3Xz RGS n[KF4ߓy"jdmW14cn'w%/GO͗yU{cm'ڝo#iGe t*c W#E }R97r6%dL!&_8K Kwd>fDŽ%iߛe}a U(BR' F޸>PEaN1b|Wݢe$Z1X, 7jUޘx?LRħ!P9H@LmsN @̓SAx\;KJgAR%O>yUwIn7;!'z2Pӄ"-FAi&*4V %̪pJ,&Mr[vj)t]m|R\ ̻_7ۡpCB 1سvL޻HWm;m4~vG86Bw7*7%c\ /TӢBNЏ}ϫ,(1neT~j&ë3M`)X)0r uޙfҔܲSSEkʈX&协 uzQ)n'= }W1+8c26dglnm8H"u0LHAY}TҰ sي,¦N,z[|s=-Pb.7\/$"N4kcТBkBKTx[m>G9+I'.$}iO߃uMcY9Fd;MCҨ`쵒Z<`&&)NB $10[kPZd%,HWʨ v~ң"#AƔtM+~Օrk .>Kl >ܷY:Xg&b="7TzWH'h r--9i41 H}@a!c\g:y6rlLIݗqF5d/l&ud&CˁQU7|'$Qv9 !;aܢA}NMԤx<90y#u1--5yPf7d^Z4B Ń\FIm=׽2d1a~Eg]W3 - rM|=dno̝6Jo؅~zYeCt/up2g5zeKׅ;؆"y0CMP3ZPWt 2lE2U7L6(L2tU\[TD{a<+}דCfp}&g:r4; zWތ9#w\*=G:|U_> + 2HZ% Ǫ@^҆> @dn){B/U:d]K?aȳ.;JSc?PU9JQQ#BQ 4 =-1uJh*<5!wxQzpyOÎѣ/;K!.žW>[L!;lTx((dӨFnp;+c؜'~jI`z}̡}bX_ Zd'EPX\ _E5ba+b saiza8BNd`s uY=K4>`L@CBB%f-6#{GqaRڪm,;5ELMh=3~x-d9S9JWeDIUˡtIcyHPġo`ۿ5- +AI4ϵ30 r#F~{=Mrpp* MJ2 I2U~ to9XGN4Ԩv9Ӡh߳? M`dq޴"h|$^&KR=9z€gx8-u" 9P|Xz#ii3jk1C;7`3N2Bמš1wC+vf蟃D;Wr|=RH {*0<ùw?P>LXo.~ nJJMV%v|ݛT 1ypBoz, ܾGO^J}o">>y2f$ggz!Ta.-qN.XP@ #EDEO]8Og=~F} P1wS[a͹Mev:Z8ņnڇ`H)WeH cq̡QU9j p_`2A6^yx2]lLSeΑӾĔ eW L~7q+1#;ш01S &h<$[l);q.:r +J0C9;#naHhrG;@g6- |oQ210) PВͦoQjxhGQR/袂-5QC;``io @;;f[u}wõ׍V&:KI6!?[9rTGԑ#(# :".jhױIrDfh;K!eZS/b;(Y_*"V[d uԃR{2^QH4 XIy80c2}O)_M  .LhS\ຶėB_7g}V^|6 2yQ(-Fձ /[N5TH쟯Xyɘػ 8۹IONuY՝T-}X*wXRj,Is)AW=һ=S~xҴLK\0V-JzK)!R%7+u4:IA+6Mw. ]uB]d_v5~Й~^;i Gt2F TOfp0viYܔ`T7[(oaOQD$b__HtIQ#t54$QWM9'i1jO-Hm=D6[qr4u*k-UrW^stehfR0C$W3L7Q KWH|#ʍG e,Sh9*5;Gҭ<~0-(؞Q 51z{ܟ(9BT$Q.qSv;BfNg -St߼dJ{;y)W]`e=Js,NܬL!m\Qj.=Tf(yT'JccO+$#q{FTZT_)YUJNC2g7uG,9so "#<`+l0#1TܸInh+VIp7j.!dǪncVgMc3݇. l@ҶWPtaHʼnGLoBBFw!aOւ;|qRa(f+ dxßEJ:4C #2Q` 0Dim9*{RKprddx\=Q=P0jA;P|5y4$;yڻ?la.r: =K$ߐxVCSȾ𴅽"H/ɔHbaIӷa]™N ?d<|4"'Bf{Ds4,HX)@DG<+c$d= ^)\'WgyKgR=ƛTUfV;ED|A;gVx:9݄&7KRR4Zܾ0F+mE2Ѭ-J.%IQqINp+mEyHqF@iۦ\ύwAK\l|R1dsMf&Ӥ!uAݎrcv?tzĬ.NHg'-΋6Ӓ)zo2*bt;ؒ"baP&Y8%uɪlpw+YƺKs˼:lZW@VSL@Ch\#@:;b" ?Y9t4SfNMm]%݌ @Ƚkm WA(P&ąkVhMI`XҬUK^/Pیx|ҪPw%A&SObcY`Em3[ W^ uX7|,bcFu!>ƹ,GL[)BWShWTxPy ^C!sO}Fd#yUv}^!Kd<&.$t!znxE$?0e١.qp#Q&M~ 'ag5_)Uc}i(#PB$~C>хWZGы Qď yCh$j4MOq_ D*nlXyu7EDV,v9pDM2$ ّ?xlDg(FipC6+پ;6uIX^NLZ4JKF7Ϊry!=Y2:֩lc,v̱Tk`ꐛ)Tx aU4[DeYȨtc9Qqfyo:gseImP:€F |Vl $st.&F #%o6b埬glpx {t >bNVi) 1[ @} 3;_r|Tr2P{ЁÏ4RHeWWWpk_ \WPXbH2 /uMwmX be+6!{-0zLo{82Di:[|4VvXlߏ૚أ_CBg5)~^&yր~fyWSW/V.Gm_$ji X")lg-JX#f8qm?QZcrz#*btY(3yGǪBg5r3)J!|5l0"UOp3Qldcr1K7װQ *lWJ’irkJmۊ(xWTb!#_nE۴`Q>g5 vl7b$|0e^${!l ijx(8edb ̺^maLj%X)QW3x}]<dű4&ܤRh

VK8 گ$f 7DPEUSЎ [BkbLa/?_|~]+{/壑_ hnU`;ԳЎ~iAQU:2Nx:z؍#~=Mf "| 0~#W091ĵ^NS`1g$pnR`bm%Ӥ2n,Hѕzboids5Nϰ9((5IC.oF"(;ʲ\T(k"QJӹFiϮx MaJwL4?a'EIR4Ͳ(TU56+3T ;7~6'4 t Zjzoml􅇹bfxY8c/AT_a ĝiu&o4| P6meq-0Mj=.X3eP3\EpyvJCޠwY) P hFJSM(qlp[qjU0Vj85Y?^rs|O[0 S*'l qޏ`_ gs䱛*rJUl+bL4De!p.P3\u׿xǂGT=b-p;tɯeCl`t0=xXտl(x!gKMwT6͈ w1 qOTqULuڈa zi'$  388qDvz""٬vܥ]ĂX~Gb(. mk`˾ԘhT9^{QkudE=W:Eb91iszCi29Ģ4YH}"myk}Z>Z"X xOZVձjz%Yb)i?Wв05;@ѭ53%6UZ)lIUmM`_՟XM1nbF bۄO",k6+,*ltwM$^3\VGk ST Z.Uz>Υǁ:TQe쫱cm_QTdMx.k"]JSHfu/GX5Eq-z\.HG4 ?OLf[ޫʈ72A9B}ҸrW?t/1.}"lC_* Y FqOrn{ =s`QFv9 ٻ,-'8i~L>ɞV|>CϚn\}(['5o7cg;et7zR($3麃|M`7տC̗`GnʍC( U$6ϖ'jf}zFΪ`y9dOl`;9FZv$\F[r0,PvQXzl:jĶ$(B &䖲=D,ASWQsUe͠+B%M#oq] lrHӤv[+b1/Uą:nB{q F`P%A=痘F`_tB%'LOýt RȑE*0Ljg`yj*Vȍf~Gioj&.ƳR(L\mo ሺ4DY R@ˡZA2))=0k$ -[e'ts6&<h<,iѸ*Ua l֌ibi*t+2}XFESPMT r9<*_#׆RfqdXF"' WANEHJK6*{!DxRǩ&rCԥYx+8RAJbȖ!M IXưCYl-9E"YViԶGs/u-n:Q_*ݷb(K*30ΧcEay,= su&T8+~$~GbQ&6֔z0vcP,ne&Rk2)<`aQhK !@~ *Q5:׃xǃJWtdO(?v \gM "Xs!qmy,*j^i$d}l[}$&S /pB:= ހ|"(Tydjl1g!|y966d Rr6阬BS/ 2L2p¦wzBx{?~4lv "%L%d6NhVBxp.?]bz]JT1ΫscLJUkB :q}l ]f\ [$2LxXm- OŴ|b59quKN/e%A ]\M2!:DP177lmq}+9]mKt&H8z}A0InqtP/`s b>BQrk.op]M/R)h;nzrJ8j  S ڭQ5Pw.@!),&N8 әWK=rZg3^\#d71[+R_{̐+{L`ކke կT$ûY<·(:[o 6ytlt3?N YnwjWNqT YJ0Sycy˸mnKY'kǂAQӥ<;jjxH*QPvM8QW:@(06e8Ğݷp$/E~rLDT :8v>:T%6t]:S8g̦5N8+,ìIN扼r'䜜N ,AD}%h7NtKe(&CjMo~ր HX!=.&3C[u/rZ$YN6@w9FvarB/dl pn-"_Lԗ&?ؓBN^' \\뮕>t0|(8m\2V?ҕpsWuw;{'m 򜧁]kGT\b:HzatpQ=P\ݗQQlY YZe&(\BiB@JB 1௬Kug@ǧ,RպUIݐ 2uD\0V,y7$߀Hn/0Q^[,sgJ7LKكWysǢ yy=x <-& IvnY"n1s2t1eY.KaNwୃ¦5r3 #S03 R |@Z_6踰894 h=pe$Yƿ+'a4˚^CB 4SIqh*hLyIJ3R~Lxm &$<}ƍލzo;SJR_ /&47NٹMn6Rg?UC^?ϓ4#Y -E1xdK_o5N*>XCW/QGO$WI֯zsc>pI"(Z2yU~vt`XfɞYώŸZ~,|H&^6Q ClQ>&] hg2Uu}+*hd<$so{ۦWSnY PKoU,2$bUiczd!W]͖ŵ[*&@;13]N~2D<ٿ9 Y @v/Ds\RRb#YgNqJ\-s3]z/l6V2O< M #Mǚ#L>z 6 RC.t" QcAz5@>JSCucAPv{7QJ"(|k KYUHSmKGCmŬ5 bL@Z5Penj쑙+ys ^GgF@NL*UȌItGFebNjcjf( ƇKx8ܾ+ (Hd[|=g4%[㿎j{0" UKɜ-1s3O͌/jyIhGI 4~vAG?õu0cmUP>JK>ļogp+U`8 R-+ DGJQc4.7Z&"RNoU&~٘|PP zQ(I+$`&V0٠L/"cW& rzJr A&"% j)qƱhV%w 3Ȇ i;s6z? *t67 k3r׾h-o77FEؗ5NwBjcEv@/<ك,''&}ZPu=}dh5cAbې"!X*_ ]a }noKGyqSWAvTuJ8\uim A_aȄI;Of{FTb20aH!kt]] Kx(Q_%4 AIBu'&fjAH&$(%bހY a P(ئ@ʜRAPuP $'+ڕ(h]2O>x-P~fni ֽ (>.:XD13i 1fn&+e* $Pff` ӾS=sIBc`r8D\>;XЃ>{^! FataB L461в]8+kOq_ݟ__Kg%=i?h}C?`!]k&Nv6ODxrOx-*Imzˎʁ7~iCLXoώC{^N?n\}߾WbD=>:X@>7= }7fSW'WSzN1 -x><!!E$@A @ I ]mTx}/wSyǜěTURz/$VKHݙTᅣ$d@ 2_u=3'/L5pcб ۫[aT<+$ d91Rp7N*ݾF|QGI4~TW Kbt$f`̝M^JûǘfJl6 9`Hc{&Ǽ>P4yǸ(=[ձ@QD:̶׸mD¹/$V%Hot[5;L:ܬe (: NGRψř~;hpLP(g} =uD˷2$"" $S~cY4ǝ9'u bZRY27ӕY dρXigwh 0 (;9R?48fH 9R(2%+Euhc andĔA$\9nb OӺn-Ǚ;@-YݝoŨW6M41DR4Y~61f"NeE>_ǨM"VE`>p>b42Uj6 hKp.0g+Xɓa+|&V ]Ǽ9@ 5(". #~~^phGQ"۲Y(bJ:J4V\gدQhl}f\ -m e d$JvogWF{Է?/@I^ }]厷^@w~nr/A ^'G~"H#M+oD2C0 T@$Ζײm=C%ukҫv%Dq]@p6-d +C]>."H!ou=WpcU՛]^ dq?`[Pх% ,>C@bd+@  -dOqMY\Ug`?) e`x2<5)~'k_z𵘠DBx~ʹ᪉"*H)#4Cl}bl^dS2 uәy*]'  ICZ.OU~^EHl4[]AՈle!́#ׂCw=X @O䮨 ؀T5F\"%ELH&2E_5}}o8H6"k 0A97^{~T@t~lk($A*g\)[ S3a Xx{~lơW[cP@zzDTxŘH(Z P*LQ2Ph öJz{GAUͣݦ3 0@z{C;#Pz q&YU)w+6NI@r&$m# a8pH:ZJU_ wWfs}&/lg]eqkMB?*EOQ$χcw>OƄ#hG[ q) &YwWOy,=&UUNpH/K&&FbDw+GB?CN_/[ i!>Lhn (Cwb9`waf@pvO+aY^aJXn +%Іh%65am 0!Fl}Qo԰i7HQ^nDEΒŭ*Zֶ._t.l p1i 7Lq QCYFLfkO HAB $ {cB<\łIx\4s֒!|7@j ! $'LFuG$ҭ$$+c1c1/RP7W`4 dP [lmNe&AKYdÝ`!(=STƪ}9YFO pU>>io0cB۳f%Ma]F|!§HXϧ7u5ŕK67bL 3 Č[!!+NT0lSu@u|ےI0;dag:5xpVw3"]b '-`jD8v2!|D<kT4Qƞ>L@9^)5_zk{mN4ʎ,'*}W19[G9YHzh>[x~gX4y D;K\VaȜ4b"~~ыY>p"'x~mp{û8y{2r:'o,sɢ~Dx5W}Z,h 0f:R2ݜ_b=?OǽK]sHAG)pI=͔4IN?CAF@V=D\+."1( tuպꛖc]uFHr ۮJZ`oȘ60`Cʞ$7M"#|6Ί!U؝EF*BZjL!9low83D$!`( @u(9ft#c"ɊI$HI$>\G0ph*40$(4FEN)$:Yel Bl!BXA^8K#ܨQ`XйMI$η4G|{4%LJL=UU*A([̩'>~W+fd t`m?:-|s>Ȳݞq 8[jW3kC= Vxa|;?.P+>`e*{ H 誋jZiW\xڐ~h+@~l,&h>aajnI!/hJ3A{E{X&ogHZK&^m~>p1I"Vͤ&2.*F~jmV0'\G~kd~.m8٢Ex8޽~$ٻJיX VHHV;}J@gAl#{o| ?s_S5?w;GJ B!$ Fд$Éʻ{ã: 3;:S}ǶlA:} ! 2=cW`ԃq'̕ Wag'@n/beV/5J`dע $g5HH?QǑ%!Bwe`j^D`v`ۆ (@7l^p(PC׵Yk,6z02lhE!/h0O{W#^'IPA^{:O Iwެ&N'k90"He /rPKob (EX@QI.$lTj"ѵŌL-`mj$hn-Bm=H+K~0\h$cZȐ47AU T4+j (gz"s8}c^Ƚ|ZߣÎP6{iDFp ?`1]jDX|l5 *6.g3Zi\8UI0Rt@ hOBb2 G hofBDè) DKv,UĆ)C l&(UUKm/Ȣ=-b @@0鋹 qا{0o 7{adj7{ā3;. vSMFC<f򁴘!;UD\GPsx;I 8OI5d8IEМwǥ}8YROڵ I!#cP [!!Ϲ*THTXG9ɱ^#WK5 zkܬy^M$ʒj/+#]wk;[ʛ]5DZ!>įőB1Bkϋr@}=$[)m_/c6NzTW |.yv楆@ qCZx]7}XIj,'>;f*%t3vnG77@aǷ!|s)`"~?p=sxy;*rPh0S Hhr\ث8!p5W}<Rj'B:蓣ǯzvTi:qz]l]ZV#YV=kPc"2\luU(1Kuw?R*ߌff56T zy-̈́HF# n%>np@c'6lvr4uY e!Lvlnüpr>*7ǚN62ƟRѣȌ,4>֩2ŷH&eH EH6phS2<GÍx DZN<|x,0Y9ڻ]SLϾ}{TdPcDlo{"QM}{`P! 7sLTi $$d<Ð!Õk{od.Mm~Bcs5sz'"V{K]*[<$"PO{D(wQpYFbwN;}oŇ Su8 B"!qCĂ| C,a2xw <+o^Y_@P'=HDIGc/t' mx`a9x-!`BiR! 5U_5s5j$$u,Dcf.\8 "M{~(=SY{p܃z^bx:*93_[X T(BC%+f=ɢ.jxI$9h~uԡ@6mL3zxm֭$ҕ1DX+JZ  $H|?$}8ט)\B`yD1HůE].;NfQO+r_y/3ă$m&+XfjY2,m HPإއg׎Z)up>O_$@Yȃ$f§L %%A[PCb Bl&f3H@nx4ɠmImhh#\;98To!t-W3~ +(lfeȀoڀq6>[3FNU:(0d4׆B!oyRY*[[=7Z±ZNcBgIAK>FU찡gv\ x(4/B($ y(b)1X! ŋCHZ9gDLi 6ϫb+j60QQP8G n}D/UpQ*f54 N޵̭ptSAcd"4w0*:]z\5̐҇ T"8~wP(F1^*H.6+EvI+Ƈ^K]1reĠ}^i6ѥg;Z014NPdQK:4GڈvkGf?N&ڗv{щ!UzVJR!" P+)6P+7%i<\~} 7yߤ Q±.]|,= BS"CR#0fGwd((̔auT 0/pJ}*u+l_ǣZƖ_kkcIpYxO 2`< ːr,x`TiONĭymOхz5Sd!xQpEϓ,d{Ƿ.j={#.gcX]nr? eĊ23>r2{DB$Q奏,!nQEƕ͛{;&%ek[p1J@Y gn/@@ښQ66ap9%Fɲ[Q $OhܞjG>8d Z?i22O- (]^}ڝ %/LDbr.4+$mfgVfJu%p¹GTf5($Y O֪ kKBv0`6 0BPp6X] $N)Q ,+%)!-@!g: ~W[ h3)yV 3fAgv ʈuZw^7jJ]ijBT8枷!V0Cc!a0Oq J ? 5PSlL B"%WˆWᶵ}`X1:5ٻB H ((tG"k>`Ȳ7y7¿型`<#ќ~+-q>mw\wv?u/sScΜ_hNQnm>ڕf{ WG+lhV2i]<(OX$/9?_G_S96iK)&+LOZTl,HI$1c`hBsHթkU$ 1)WAjP/=* |;5)$PYdt!5hMp xҋ\&8fhpĉ1 C%LA @UΈZ’ KA#d O*]pk}Z Dl$WnxzlBI;z_ 2bͺF*$bD"GqqTf$C*&VF+v-Q˲HHBf1< B"" qEE$D,$V!X'd>,IC#P O*#41`(Ɖ 3Nk--xtOCgQaHĀIdt{ m)6$I0\4 H|O9:z 28t3dKe \lV1"v J21"EHAXB@!!B;6da!1UfkBbM7N_Qy?K#C}O̫K N$\OOuY |q];Gu7߶N@?[b5S6nOGlwnVdzzƼ_g]CpUdo?=UGÃ]{2]jxaYuUU-f=l`}x ]qes8!tZ3PbA;vƙ:\jZ!s|Dm+ C` U\_BSkpgWk<o[K 5gp<_͖ijTl8^}s~){/ԙy^Ϯɇb~~/xk y6 !y]_܅J%c42NpKMM栄TZ `NU`U?w%\s?.O߭žB@w"u;z˾Wys?Ms䎱Qo#qnͧE N`9Ucړ`h2:&N_ <ٔ`(YӞ;]EjpN`e ̰+ K~3 ֦Q\TcGG>,$\X 􉦩n$op͚MY͝lz7y+Se,N$ƣKD't|,UztK/jc 5z5:\*3Gھ(LR>zU7$2vႬ|k+;3yT04W ~_o߿+||=_O6O{A sіkL8 Upn߯D.X Jo݅@M@A'b[% P+{P^Faf*MvF1z;&/SyޖbHZn?`@ 2I3]""tWx}?c<ߋ~I'k֮`~_>Wgtu|c7nns;mъx|=k?:;vOA ᱼ=[YLoh" c5h/Ŏ(`<$87DGoBjՙ!r?AT?fJpK -_)e4^2?hx:l% |\WӰOj} b*n|ƴ+i|WLWVV\Qs3@̚>.Y %f+ Ca'Ȁ$YAP$vMW8L^.=4{Wђfw[Hn* ;kcAp"FY%Pr/+,CVs9*0?̃v&!U|s50S5pԃCUܹKjՃ5.\,l088^l:. jݿ7_|M\8!;),QBPww94͑=ʩ|BV#րwpk婐octy79c1gL^Ó$BG$ vw`?nQba2UTE[ ۲DY !3@d^S"dɯ}&Y|(x&AP_N)Xal&] V^WܾIKWY mzk?/BI:F#u$U7Ylkx,s0dfodg,0' cn&^yB 9(Q́#O =C0G#HsBO7gO!˄f_ט/rbx(@C>f;TZtai&N 7^|9;){kCM !CwmRKogB=ΐz!}2iew^ۗ}zmLf(^|^F&cr(0誖o2 e~c@OCQ 'bFAK BRUX- =C(O;Xn?`H#_ܷ?>\W?um'\srnTUP=]גok<>}3㔆|4(E@ I%8o,"ŕ71!t5XX7,YbR]A`?ZA{ѿyҹ!hr$$[\&u )+1c~e®apt>L5ZW^ux|ʫ1h/ @tKځf޹wdҥpnILvlnɨɃ]l }o>vI":&1eT9ֻ!n72;|:n0DǓ6U": !.(JFKR` {F?6GIG|cAVL#Ýg sp40]Z?- 6>zQ~|h`̄`0fimD;n$FSeE;K&%Ix BDI'FfYK|i0Ƈڊx g2:()QZR,sQËHg4s^+Ҽzʆ,dXAЄa`{Ҽridʌbh F`NO3NuYM7UeId.-Frp҉M>:\_YKDMהyÙ[ B CJSc\Z^6fNz baPSVC Oѐ[{uT7qdm\n"&uy<> ,;8v1>7B~2~%vfZDF)v!BK&P+1_" 󰸡M7oxefG%]B3zEn)42iOK)ͩt`x[XF7괦 ]m{Z]_j|%3HJ yf{[l5NrѪh>p]&[pMPO e 53L;]<{])?l< ۶tWeW @ѵZE@X &aX^s﫽z׸>_fܻu[m5[_ϔûԴm?Ĥu:vd sQ^^i?_d0?_Jw [aL n kXUt$ŻČYe;\1 Dnz ¿I=an.*7.]w}ƼjAkuϺw KP4qqwdhE\_ l2βδ(|&[\ G4;?܀3LTZ[S-g ^qGZ$ba147cҵF(=Yµ7u] 7p@Te,G&a#^3gp)B:f,*EswV9@Ŀbl뎀K]Hi܋ḓl4kp1qs[lr𼏛_OƯ# ʃ)O5h&2! ( 9۫~i]Yu$6 ~Iaz۠H,PUA_P?GL͉ (~;?wB"2_9#%8zl-b'mv+$$GhDeԖ%:Y&6urCX#$$ M9Tn0E[ִ4K=eqEK ׊H֐hD0_I{|2T fہkARM-\m+U*Tj騊ZYy0Ya)"5 hLEi*R ~ aR56P1pvI5pPvVaCh#3bchVV 6ci8Jk  'M.J/.Ւ`UsXqHD8jEĨAp&٨5ۺN965q߸RAEE[7 Pc%-,L,!6B0֡Y@^f) 0Ty5v\D,;%"m#*ϯ=^@ Y"Y$A H2f lZ;$,* Nw0$3@PHKe(YO.)J8əPQe^9Z$* e RBE{xqܩDb8*}\BI2Цa'*6iV\M%ʦ*ޝ{Zɭ]Q,- #kJ\!KlCP`CZL S Dd3$?1+[kcx¦DoGGY Aj@٢uHA}ӀR`>BLr!FRlibjaH M4$ z_`ML& 6vsbDD PFcB k}T"r"@F)(#. DT,P];t7`1?E S&S9ѫ`fh7` 0 3hpd`(U^Ľ$6iLę}te!G/qC܀uҲLI$ +?^ &\.O:4~ke2FK) I%0m^F6DU`A/ w wT&X ^3.=K9fΦ3I$L(%3ǀ)SM4ߣUO1M!İB 6=vJG,4PHM3T:+75)ZȖ&Mj5hW뫙ViMldFحH(Cٹ "5$6b6e45QM78-rZ! -KRvsq]Ӱ{'9 `<0#>M"eH7AFHU"R!{wK*a=iϐ(եxk Y5 h],2%e=5 qP͝lZ䠩@+= _?y}ǂ bHH>Rd d@ڌDU*ĈDJ$"J!6i]ulͮ ̫5V*QRw.U,!ވQJ C-"2snW )N9xmSI,xeiQ6͕,"2ZY6 lC3jmKn٩Z5b+a`aHA#oRB(AP$Cӹgw匆fgv-qiۊ>󯇚w#yK6~X7Z4™]5ʵQU= c ÛwC 4rPH$B;"AJT4 +"lu-ſLHjP|L9|=rcwNAp $/ snw͚zt./H9Pez]Yig2_P-d!Ɇ`0$,Hy E 0QB,Ɉ㚕$ kZZ] Q( |X:܅C"3 ",R!%{ ,PEFxu-y#-*ɥ]zœ W /vP0h"jP-qt@L(&\FBAJP "P&$f[ p!+R(>']# [-1 YX%#kYCm(I?=({/+= 1rX,9@ @4 ,@X(8y_uAB@0 w/EåB`In%֨Y!}+ޢʔN^"+zۯ}RDF PDP*/@h"trfнKeң3 \@Ht&z$w^n|DmPfTvdKh1*Ŵ-rЦI_4&P&D,e9ȃ=ݶb1#(+BS b0,( "2!ۄ ")HmT$wܶ-S!.-ij(`}Vp"y3ef(KMvHQkӂ `aXAױV3W ƀS^Q#s5-sFu"6/C{?Qhq٪-w){EJX˕K`IUdD73Q[7c{6rPjj& R".Ed>x8Q?b8㚈&`Y hVEb4Ç;c-9O[,'^u'>mo^<áUn%dIfBea@a#_X ^JҀ:N03]};EL$A_us[TNM4'f-4(*!d !E4ĸH@܀8@I 䖂$ " !@7hHيaSf53$qE0nD)XP Zx>wgqgt&mc"jOݛ0M ZD`eHZv-x; -] "D6`70 PBjE0]J+[G:JE޾*RDe7Mò} WDF bP#B1D2q-5-ZրSƅ@rtHA"*'fxvqJUA h0$d},ZFXyσGB'ju'oWov ^oPBI8dDDֵ=w9jo8/n]Dvg oJ 00")rViju:@(T<Z$,j "a}oy @lDB4J$*R ZYB|y6ЁD<ݭ?s϶^glHi|(R'$ H<\1-!R S5H "C*" 6EHhv6={NWܚ-ЃtU@w>S)3eoLeg.L jojDBFJ.*H& {??Rk(2!D EGD^vpA4hh"$4]Dzk=y}hK(%]}A-|  $(T.]LG CkÂȃ! 뀘BF8ӈ%[)^\A8/*(!% 7BRBK 6uzV&AJ'@ 1w3dbe FɁp _xm)Q_vgv'"=]s(猕;U^{M=bԸ$g[pbHALo>_HE$U0`8#/ 'Έ+h{ze eߡ.(2,Z SP 0EJ)RWԞv]zdE e:%oP1O>tq+Z|x;QĈ+$#8 }-Њy`gZXFI D!/o kUsQA5&"4Tʫū_G)]=D(3AK^ID'(%s1J+'բHw„'f׸|o  @#&j߶j|.0!tA݅ z߱Oxcp !>k<ܼ'C^яX*LdT~ %PWWjn[h_+\!|A@2𶧽^wՂ@6.5-D4 F! NBUKUE^uQs5+9'{Sz^JLn0D=[JHNg?g ;%|O}# B"H%BRXtTԱ$ )$681`ADA`IKCB(o}> HƍٿC?\Xb2v@j?b7;p7t ֺ*<)Ag^GrԎ"_cR|Y$Y3Ҧ ,P`  "Ts74"~Ze$1?zIJZ)ڿN /CͱTu['fO l.hݻ>Z"eWLg{3 "?%|RM0*!%*:2=5`Ԃ$"km"[[ckз RTݒJM$%A浺vc2HY10h@(D$Xz:˚0 zqK~M?,aS`d~7ᶶ-!ֈp5mr/_Vpǂ0m_4jkĄb( gv A)S@6}T+Arni]JH(!X:62nGƇ FDdՍTe+M+HL @~_oW(.p !$ud.1FA% $No'w(r<[d{،s[6%/[* ނ$ȅ# y"jSf]zH8 M?CVhu!>,76Cσh sٽEC K< B;Niۜ$N -% [tSy2u ||'s&'&јSTD^QP?x2H@ϝ1鱌؈0!J "ߐCX~wOے#$\%C1Iwh26$0D$d ("!#%VT ]Y3VVZKZm'a0;'}ۊ"P){EBT1RiHa(Bm;R 9cG3}_IUҭű[s?s#tgFnwDz8f&_ $ nL`Mi"npjo='wCH,=h?ŗT$)1uvyClSA$b B[w HU 퐷Oʝ_Ov+J*( >hs~G?M#z]gWкV(>cnHH*T@1 Ȳպ5ה\+4B`.$=O'` eqnnx=,C'nlr7o1CM?֮Gszޚ^ﮨٶ#@wUucE^Mc>ddyBgp54 %* R=paIRfJlvjw? xLLS#f#=blV"Z^Y?Dkx˗dMXDYCAs/C!gBp@myO>JT9lAy@c1ݬ-;FA!2g:,2k"5p2&UeYPKkuM>4%ab"D@*}oVm|]W-"JI(ٔ~O6@`w6p &"Ŏmּ/ 4RCL Ql ^?!ç:uM ZŠB\)qQڟC4z_ X=@cڰr# jʯ2)L[(𭷿j!TT8J (RXJ:渺ԆʍER16-L_2sr4.ksm9E,f]fuƃ[jɃZ/BRBIV"RWJ[nmkK`(VK5f A2B!x^!֊} GN0iGH6 1r RH eD/h4  *bFcT"#`²AdpR)Vمhb/V `6A|l"(@/wMi ͓v [;Rv>Yk,A\E-#eK9K !_})~P1[wGG6CI\\p1^ 6SeGkge9۬Qbnub;">kOgj!j'oc%Kx)Uwb\=՜n5y|4|ڪC+_Ͽ َqLTR`#I3 "qxoӕ^P8/R@TӂR-za!P_ߌ6ܗ׎JWkδ0int[8]qx_ ^{h%WnhTQbLLivuP_ggˡtݽ{7yIzG9\p> :v;f à-X|_{n}KbLՂӶ})}ldm1m` @( Zn|}awIwfZC9Ͼwg]n- ކpa{Z}^uR{zzu}uͬnmr5֊I'ڽrޗ}_}vlZ7v5A[.{ֳWmc}ᆵk^ׇ̦}yٷw}qo|W}/:;fx/^fntĞ=Olm,ݻ׳;뾯ov;O}{A^mڶҽ'ζeA_Z+kUNÒ/B{e{b,?~axkO 6shx;I:ic~r`%)Dx>K\.^c ѐOdM%?Y; j %U\@UdP{ˏk1@Ճx>>mVdgІsTq9f20!{~?~p!Lƻpcb}h3xO6#i^{5 Aa͵Xi2z)lOvpetN@V2yQ)Z=|dƜ}kvG9d"ҕBEqs[Æ)n#نPɻvigdU #QUh*rٵoSmZ٪&ڣUU6eRأcQkQkdƍ DIX| i04|J{(H(&s^tp9 r9WK\&\x^'ǘ) %jġ7'H",ٞd+37n_7_MH..@vϣ)S4v 0RJM`nw`[}dW#A=Ou{%lijګy4Db $SJ$%%W\0ΆRS]].|vnЍΨC-c)3fjjn;6-nf]p3a'?x@Qϒ PDRC;*x(S<>{3*J_۞~37WLoX =?IA|{oU|mҰ`±HC9݂ڗ i5 NߜTRQ0>v `jTUp ~Q{W"Nו?SRI@Ncxv[H?`1K.ٮٓ Ɏf;suf/S^V!r"D{`BȲdWg=櫒[uE20L.Z4`HU(a!{`k"4B 6KFn=~X{f+>tPR|yMKdY|ulܠ$֢!,75PXD@QABAJ(Y$J+,w<+ԹT3&uJ֬6lrNٟj[-cbScdōE+#T1fY jMP1UajI0&m _ix{yGN㡬n LK$=27"~}7LG>eJ!fpqV\J!;<fks &кVZ̭KK..F${>w{^@~@%EHԷX+"ir[\"YU[t-(Fm=H:}~Ə;ugC-lp7Y-Ko|* G?lV}]<^+qg1mƯ8=W}w7mzI\`eaQ1 J$ }< $ Z$'TeIQbѮ6=~Рj҇t:|ޫāWgx/DG&zT*)A< 2;iw 0,#.g-9Q.Z͋D9  -vS0n{v:{&n8$EjoD ӬFQlH  9H|kVcVA jYT~/6KZY$$0AuDp d$ <3 |U9'CǪ_9SB̹)Bz?)9BARRH* AJ@H ST*ѫ+mVԪ-mT2[ZZѭ¸$jbPPEEj@C%¾/K L@)U[qjR[+s/`IZ(%PhZA]m6Աt噍j3jI\[m[|/yVD>0#K@+β\H1YEF Ju[1p!!0@{ ;R'_Iθx}hpFQiǯ‰#e|CAϳ}Ma# ɳ 7/*Hr2_m\( P{dY0Us_cfˬѰmfh}K4q3]3JfR(rZVtםֿf?z>ο͞GAY FzVu]/Ӈ~+y"RzEPWȧ:.o0]nܾ{j==˔\PYsZUWƟQɤ Ą$At] g=8(g/wku^qrf;d^WWFuXd)h[BRD(` -9z0{|L"2pD "Ir l= b~<(75$.3dPTdaGa-\ҌБ}OU\v֧^>s_9v9 M]֒#bgwϪw Nj=^ elQp=OQPѧ[.(L/"r;O\uE=E"E"P D")h̆`Cf* 一#\fBH}/*"H4?CdJB00CB5 +s< LAU=wv[܏m.ȇ[Wt8j+OBҲ/܃qFol']#d# l(bFt -GӱdB$Bз[!#9|BNdHzG$暨 )*(` "IT'nw!!pG$2  >1&cƐLB:g]$ HZR0Ddv?A &`7@Fr}`H1Oŏ]A*eZV W~v30@qP*vM].fѰ xH7Mm|l')|?!|DZT\%Wyaqe uV#2-6z|{]L袆`ݽP[$ {Y=duUh+ȅ} pgFj9u\\D@>ZeB3KQ;HR# H jɩd[;1`HhڥWwfMM]nKrf\!0#YUE!}9ދS j1l߀4 b{TT ة~3F*@s ADP4M'uvQq n4m5.ypE#@% ,3N?Rf&>N 0a`РINā2FZƟX$$FAB!}SC8Sbb՜`S>(g{9VDT*D A %b5Y}ߗ@(//T~O:`=wC^!9y""wQP|uW9MJ. enVˍ 0Bc$5C±FI&qT'6$+2z)ܽdyۯ2|ݷWEc~=>>iøU1ͧIBR>cs|çko%),n55TM? ]%6Z>S], oƷBf& J N&6?؛ϘA`<' |)uwgtX1o{Γea=%Ae\[Psh7MNާitsRa%p d<@7ezIé#w3)cIc0V17)E '&O9&dmpn.W&ir/<6dFŅcp=9s;‡E:(l YwU;ˏ#IBŘJ-0NbtLAAxᰤ'$\Y}NnS8ͭg}Xh2޽Нn3Yw+$di6جgFiL )%XTv={꼸-K:_M,d q=my9,NoK #cq&:k%6%YJ~zyX}{bU'UƮ()@$p;F}?͊aZ]hdG].wڬI+[HYLX /s]Zm}MI{657;3%4<5Hm9Q0o,7+˗doEdOsz};wo.L\i)6Շq$.0c}|N\c^Q &^FkK*@:6m'3 ')螕Z2(\ MouW4*ߪ,;M+{ DYߴ#\y*OuK.0$ɪ\E5 ;N557I\k^<>e o+7}tYMdo'֔K s s#X<ə9 PxO| )sS[D7x `k.2}DŽb6U>F^7K΅`j6.v5Ω=^oaSWo;ez2n?DܑPpP>E{ٝϡjVwfNgɮwx6.NCrs_S|_e{;x9[Ma2v#[o>$z'&oʿdD 5MP6zÛ0ȥ¹co ZRE$GH2T<(_IvR3lW-Qb%rDOZqJRʼnqjϯoPQP|p T*G]]&W- !KJ ߀$*z|a`@^gn,F ?6&j0VHk@Zֽ+kTJcB`D(H!dT p h ڒh!䣆(U Qa$ 91@{gQ?F •d|0Zz9q|\8GM0\7' 8.fdB̒^0Xi*_/͹8y\Jrd BXAgr|| jpFtd0ќ>Fs*b\F1!Nb ?\C:̍)jWTd3ot:-ѭ2ƾgIJs9,!vW}of~x{IǑG&5uGy†yU +):4}о~ g8O5N}M&H^UYcg{Fֶ]UTd"H8Cg̟v]Nya j5́ZnD,d]M>?z 2T? 1CQ^!}Ny\2IKĒ"H~׮_q@~^O}9{tmE:1ϗy,i6jbHBSHAk21EHUA,ܱb"[i?@ݠ+B()밲ʒU(MʡCjp‘u{2mSOrA7õN/G*;DQҋЀ(h[-{6L J>; ^jP:+m5,=f6_L\{Ȁ\32d/Bt)^~"S# ( N70ޛ10h \P\P(RPR0|Cv>!6#.2?M|̵}ƛɚ+'%Բ0ccB RiU!(G;nTsR'W92d#<&} TaRz 8-su'j铑7tq)ul|g7];c-H^-!2A icZ7.ւ[h|bH!B|ڣ|iC !Y}{ t8Bve]/s97bۄ,7 E x@̗&U#@Ōu,h |%_]IM~ueDͬ{MHP0ě!V 4@gF R%|N75r%~uBk6e75Q"ьl"VS2s*}E4B/ !$qd5CʲMtO(eH.G( X3 Cc`ʪׅ@AfV:u5r[UIs,YE߇Z?E)\UCħ{z3@]h\t?kjA5ͦ>$wx]xvƱY +]v)Ue<3 ]Bzś}6XE||r mf̂$>j=2"OD}$P_# 8& 1=(N H+cǾg!)= (bz.zbPȀRLꗑ #ֵJ q;wvQ H5b h ʉˇ*h]@Q-/ÒJ Md(lf\ S jw1Bό.k!d֬s(a;9wZ8v:q`UDC~BNe-"l' }5"X {_2yuOm"4@ "T'T4%q"FZ` 8D''(@B A"pZfRtҷ쫲ۍyZDN/B$dZ T@z;&ƔQDP@"*yo!;/a2t2kj8H!hTUZU(@!y:W@Cz !Ĥ67hEAЭ~R hAA-EER"&h"*JĘh$;҅P @KԭB@A7ܨ c1_2(k"$mo>eZ--VeLϯV-$5@P]A#""\X66MecBQ4mm64&BJ&H"&}~K 뢀"DTX\ƈ,ZP"ƚ\W'W]]Hs+3$R 1s$UR!;X\Q"( x"ilT @.Q(bPPDTB(\.\ Ra[ŕLH2!"@k( $jRDMB^y5mYڨDMRkelUmjجjV겪tLa 0  ̎C+bcLbAie[A( R46%*kU@ȃr(VHLa8 Dfw4(;[vth  [:"e`vqG[{$$s݃d; iCQƨd$Cf?'[ Jm[SkmkVR ZdI11Ak0Ըԙ\*jY* D%*i˚5V+1(R,Z&aJ*EafɨZ6* #5E,2jEF,FœRlLY!!5j2DaB"Hѩ %Ubj-Il&Y6&)QcEQh,hbXTMڰ4>f[n-]vW{-ĥƉ1j \,ZjehTQQkWaR3mL՚lljdD mmrHjI4k0(feJQ0YlTiI"#AU!BQ%RZ#Qkd٘&AZ+K6ԋҨ٭5M mESFبIXՔV6RHT+FfV5)iiƦ4Z6)2S-d*m3mJR&5IҙʕJFjKRT36MQ1$FԚRMDԛ2 IFR!E4i`& EHA)lQHЪQ,bD*BlS Sbh•($̃U12&Db&lX+"mQT$lhh (&6ƔEF0i,U%22Y-e5dmMI&,K$`͌233hm&ĩ$U[&Q*[*0ͥbX%*dQ66AXEeF"Fm4HZ0EPKHDEb2Q4,ZADeUm[[#LE)(jk)Jkl*Z)m-VJ-e44*6iōTjI%jHS+lJ*S&ł$RcTYL*IdIY6YlM5i1 DX S6TZiR)Th5SMHbƱjMTV*UmVmnRı#%&J & Z@I`11(Z#i4JRLTKT)%`M51I"B*TPZ!"`"n"0Q %cDEcD$hL6)#RIIhԚhQQi44fPM*6b6&0P&6I(Z!&e&&ƙIf㜬NJ(2[vkdJ,Zfh(+0@h(YKFf)(Ĝˉ3V61h-ŦVME`XƒkZjmdɫX$4llY-hѭbT6XJ3"li6 X4U%3S[J[lSSh "XHKlP&"Y0A`Ej+Fd6,eW䙌Q&)ʃdSRIlmIc[Q2e*i,V5&*FX͙JѠ1XIdѱXe$XH1ɖ9mƶmQF6A&L_m5Wi%jָձŶ5S6S+f6(Т6ԕT5*ilٲjRiRJU5-lJiVYLjjԛm66Sjd0iE2lISb4!%lVUY*i56-LcZRR6-E56H5(le)RiJK5ԓMXM5$5MRh-X4ե*Ki6 bXbSlb55IRV-EmhZKϴE{uM]ڙRk)5I%Ih5b,,fi1ZKQ2i4ŲZMRj-3VC)QP*׉R65FT [IdMm4*hZ1ҒZkU1cdabPlRD0FMcQ*Fȑ$aZ0cHFiBEHmT[cjj&K4ԵJM&ںʯ֭[mm?k2Bm%ҤDI 6Fj3$E&m&K#-,i&JchHjH4EͫM䨭mjصQXj*jɪ6kbB+AbIV6ش[VѵLՒ5MB}T hH)b%MnZXJn"-pniןWd 9nF JB34$XAAQHزchSa)Z&j6jIXJ"ɫ9q\¶`i1E0jd3( ,1Ę$ M@бUh@L" (ZAȊTAAiӃ@/ B  "=YZRTxVjVmM6Ui,Up"9` 6 dQT$Qd "" TUQ DrZ "H( QUDEUT[8F@_R" H$ūZ+j6cVmMO\`(b`RQ]T-@"" (R ( b D]0 E4Cp^RGDS!DCBYP<(= э @@$[!'`Hsg}EkǁOLd/BBLbefݗ4ypB9zg 7<)1ª➪޷Xл]FʋV̿nYS]^/|uz"mS&UHrk[ju5b30yAd:RV&؆&;A70C2 {F]ᢦ.qZ(Zp7VP.UmPA~fjI1`NTD quC?$2k0 W~E-\VㄆKm ɖĥI.V 2A+nPg zBT[ F{VuĪrZ99c'ߊ.mmԣ[Y5V0DTBOM~ ET /պ UmIg&|FseMEQ)!1ÿI h$d %]PMd>Ef EBEw2@l_$3RʮnDv YBaT4ATu"4kмRMgkK]w<GVn~%ʄ,lf_qsׅm_೟94-2NWeO*~o(z8~hPTGb6;yKNX#K#KjHn4@XPx"qxOn& }8iG@D:(8,VΓM#$lx] k=K3,KhuR~t6QlEQ"D#G$Oש遗G@>x0PW_az}7:˳s1[*c.tzrmpl˂y"'u'0:Lb6~m>z 5v$!cCy4! 1*S:[_>9;>B3<Ђnb(Ȉ-A_\Lt3}UCF{6Hnee@EQPߪ ;s"ݷ>aኹQ4 Jr@ޑ;AQ h ȕRAj>4TS4T:S a D_8E KE".9)}o+bAm,s9o{B* U;?2ޗdQc`DҐαਏ @U~<Yt4l5mu NN/wŅ{(p A@:ho$klzy^Ǘ"Sr(0@m23;X[e+6P9[RLEPb ;R!t8AЊ f}Wyc7!kou[mW=?wь!HP̒E8"E!2L4L"S%!Qr"e/rӾ_3~}|x)§Ìqv+r]kb2ff#of >BO,ɘff`&ěh[BCIow˾6* { 9'Nep.a3\17s *Ztztf6JM=P2T[C')f1lA`,tLQQ5-Q%aY&48AZ陇Νk2&C2|'6uqJsŁd Y6PIT.e{44|b;~ Щ!O2|dC2B‡GrE(e!1еIقpqz]rk]Ï\Q:肫ꢢ>q۸鎿3 T'mHxV)DMRt==5ak22$ F11F!!FAA|ܥ5JiiUJSJRk`36$#(6ԺK4J%)lM"̤+&"1QD*HTR))[MMSZiKe$%b&FiR)5Ū*"ClTlYR5RS(6̤ImlQi1iHS4ɪ4%65ęIflLImcDȦIYMb LԔ4̴(e2C6e"Q))Ґɂ6f4F-XE Hda*4LɊS FHʃh(QcdHqIu~'UwRŜDSMnN,YMFH 5ϝukmA$ K;(OqNCCT:ҠIWQ{?*^:5UgXlflS\XGHH9(!iTD@ R:ڼ>L1̨|ne(;A3N$ȋ{}Y>b^F&T>ǧ֏cgSVnlןԵ9W9}/Y5oЊ(H DkrD5>RiAONԱ`VTkѭץxzHmú>|os?n6!?.-~zyj !D=k/wjeCD_Zq瀭MUde2ȡ~?1ˁtT\r歭 nsd0&Ro$Rֈ=JJmckf86٣5m >?g70Jegg%E܃Ppu}c潯gAViT`zHOYzinH+9$ԇ[eEpSZ$O*$B&GPHP@Pր?[I#f HȈH~]'ŝU.CEUCÀe VUn\$k7W]HI-ߡy.$)E{7:߽W ae(DQ~<>;to"CB#+ PZXk-몤Os}pDMuT&kƣhi#fVEj6%l"hd5cZ,k ld"<ث"]<}IhZD~@-mhڊ:V5X\(=w2Zg%q .E'+9JI|L`@<)U#Ϸ9ޒƅ'+advBmjfrb"DpT˲Sa*bk4ܳTf+{UPt-YZj|~*W$@Y=ƅF4bc0j$0ia3\˛YRBnhY $eۮ=^YvJFcLSm6̌MB*1\*"6)MtB?RB l\ $ZAkk2k@dHE?zG QQb/N39꺥]!BHbs#GMA׬a4NBLdJkqDT(N}9˃t7'V\s:%8G8Wt\ԺR+^^u.N~Sرhcbm=ߛ{-ّ )$Y T-r]#⽆~-* I&)b#SP:k(q{'ABTS>)up=m9Ω7q=_2H.^w,: QmcP|HTEAސ9?`B !ϳ;WvaR[VՍ9yUvErEc^kM("?K2ݗ.Y הV( @i~ܹJP䀪1[f߅y~OOibڠvnkzdكM)$v kDEmaZLћՍf`@$P8w̑W*`OboG61JX1J-!%^JIF`=}Yܵ-WV۷UC2+RH{ ^!GTo0"AJBm XxD:$S ̖&h̺Fk-\|gpFFQ o(tΎ񡚼 :J`1@F_(׺n؏:sbT!Pt- "H.qbS2,VSC͡aÖ"2#18u!M1N4"Su<3"&JHMCP `r6&E(1"yVBPsdf_`$I@X#F;_+vDW\ko;B,ΤQQ+R"ȷ߅K5;B,jVD$t Q 5hsyͬug#rJBʈh*;3GD kZZ[Ž ,J(-ݸř|Z-Yrc0K# MHэe8!ID9s kŤ#EI$ !O^631laB6$[Ll1w4ݠ44Y l\*`ba+4Yt%$cN250l#8_Z4o쵊Q!$G>7~/|ѵ\WKkSecMoLȪL3UR0qD\[獮0zۜaTŌU^Lf܋HiA) 8WbDnl4›lb1dN[8$BLQEa@5RO\\샡tyUXbl\8lL;H d" MPВf ,W''0KFb%63G 1bЈ[4 9_0_E2As@Jg]\,N+s3&Om5C[f<'X2b>**xrhM׵}0[&>|Ŝ&bV=a`Hf ,8ը 2('UfD͜+0=;dMV=x:ԩB``Ok%O.hQhѢ!\3k6WcI]9?Z NH(`:h$6."P)QM~ȨUDTYFآmY=$S"ƊxDW(m27x,#4RH䊍ET 2z8kWyBT5ߓ'o+ջ*r2ViHlJ`وi_4}r!~6O:/k530B}:9ILb꽋 c]y~rgc pܒw$?W+W~dBT};PYBΠ}A TB!II0~!BHvXߦLo*(AK$12?m>\~=n"B%RL uE<10uJ}Yd芶l+IӃ$ aI>-x +܏qc bLyȺnM&F8@dD7[M72V0d&ۭ ?MBJl+[ 2^ hH,1(j' Xf,ĝ(e N-٥̡'Ϳ(t? u?ump/BD"'$r0"y>[ٺ[|lx.П-&c%lTF򾉇-e구t;}XQXܜb'(mOӥY'^(\]C|Hk Ljh̏L8~7p3 YKMC@4-_P O.=H9#^%4._E$IVqj"bxi8 RcjH 7]gpk:|_mX6}OWs'Pm\j#qE~T庅ٹ;Jėψ9ʜ֟% ;V0[yKy)fH#2TTV664m%i( d-Iz^U^?_^v-T H_ȿ)VeCc݆ .[̶B$12pfM 36[൅EN2(ak=3xa*zrԹ;9,GbN9yTDcrQF )ȔHYjx9ryel\9?[ug efҬdl 35~UEֶڼ1|n,+ ȼ0FJ:_Pg_eed߅pq]]ˍlL+r_=Z? pŒ[&6WP@IGn*8O'kTq̥tG_;j[1q t(ɣ w{,ɛ6`! I#$Ln8ssXX&*h$$B*ƌֱ[<;77isBz-}N{n2@$  ܸdV\lpm㼛MrIRC0W4V9hSue @VU$`RRj(!M&(K^W~D!@;[iځG[H\9R$#" $&.$$o\rY=:,q&poqĂD.|/|&o%I$]$9ЁO+PYhg0~FB[ `ٛM;]ӻƽ4sb53:Yj#66˚. G(_AS)Ir3r\RDCX_?l+!n""\mORj 6/9,o+?eCX!2 n)sOrgL 2@78@DTD )vgV$VV ȳm] c9=fI-Z8;mJ}Lgaps;lӹ ̸ˣ4D$F㬙 -Å)P^Ђ)YR*| ~]8Vy.o;o5Ԡ')k Ϟ yx (D8v SwjZr5/ cK42GGTP/cg:Aέ)⺆`Q]CV<|.Oa4QhHM4 nF}ަP,()m]# `i(G* PNj@7|Nv?|mo 7z]A_}CB;~}7$4/O$gڽV1'(vqsooZoe~u1C+6҃rEs~1W3fZ|C H2 BI!#I'}z#;1Wς:]-"TEbzCl̡P$g,7׵ŵm$ !?<$%% g`(0ϿEMU2kfp5'ၾ@yjUO|3p#d){*hܨg&tcBD"scGA9k!&T q-e6k;̼%Rp|c[I$@{аbg!b AWa>G7=tZZsgD7ƂrgoҜTZ+y_7%u^΋IG #4(?kR;F:qͯE((wr0 nswvɶIϱxm}Oi\BhP2 ;G)ǷmSz3ĤK9y 6؅"maס"@e>)R<ǜ|Lf0-zvԄim{oyrE݉ep:afO {=AФZWk,NZIt*we?5dw!2^ѝSCӲ?V {VAA6ɾb}^"mk$iZp QB^pmI7e2V84gslM?oȼ;9EBm~ 9cFow i8ApѼ/'HkRzI,$Uf kb;%MOZ{rgϼLMm0DIW<[TpeMΰ@ՁEg쁶f^wFD6 *ݮ9ˍVN"8Ij[lؙ2zce1>ݏ4j Ș/KbR11N%'T>k[9"XilavQ 6d hIU~I!_VI9wS ˺ݟVs_rR V Wta.W"Gsue5C~4:NQL1$;d8뒡h} sFf϶מf n&fVdt?Wt/<z6|}8u4M!#7((k "odeLYƐ$pj_ogr<>}vMbuOXz깘T^.xfK"]醉L ]g$j;䪺NeaG`N(`>V6Lxz,7* N|N%NN'P4Gb7MV٪)gfoѫBdT,ї=؃qt4 ^ʁɎjk##{f :Y*ϋy.kpBHmLBi߰ &ADBBPfv6Uqn0$qM͒:iCFB4,& 3*RS.dCJZn!Gِ4eB\2]P@$c$1Llvl}uKmʱ99a.|) ,T6˒"`gxJ$-ٳXzv9]y5 2FVĈP=\L`Ɋi g "V@@ ]Z~&. ֎U+aUqxhݎ+ɘ $0;YћEG<%a*go{7謘I øjߝ/|\̄ 0c<ƺ*-M!vgyݫ> L tTe(۲r2-3>E e;"KL3/3Ez3<ɂ2Ax9{p7C8)JQwgeԟdm8eCn)?+ͦc$E: B(&09A *~p姞,YBC!L.bs ;ff~Q=*XoM7- &"tH#tM$!+ ܄ (sl;׏dt@14h\M*l;S5y^$Ӿփ鮮vXrOqYb.Ԥ MA\IIʚa8݆9MV)xM36߲Te?ssLh@:1 +zW z^ HHEW.ƶm5^_aqXrl9]tgL<"[[gS* vFqZ=}Spʜ KyB"YVH!S&-K5)! nhWw.$D߂7\QAGPehF`8K9똚d{1HM|O&ُy4yEYGhPC#$Wr&zN:czBzٳ7Oa0+ZMҺo8O;7C᎔Ct d}ECEMZe46hlwyXȞו6ޠh"SAcSϐA6>r؜Cyp`i,qP'Ҕiccfk~S ߺ:k;96f_cnvlY!k?P'ǟ_Ws81ΞH2̸5i O&hB] p~VG ?1AI#CyUA|}l>kn1 ;R>^{ղ/Ƨ9}ze}dzJ1f/2j߮k+#޴*c0ğ"Qf.降9s^4 &$V7bd&KS3^y؛N1} ČqsiJćWR"_)m}U޸z򬂵XOP I qZ9+*͓nszxjFg 1۰# Y3ԐeGI#:;J>O-j(W}+QyZr}[V8fFXQ &T0j:ey@2D: H@1gV(LM:|)t$Qzs1@"IZ5rKW 08{|u|fEE}xZhznIQb1"9(($3$ sOn\[SUׯMe #. 4HWzkYXmv?C2 'QQ޸+eG2eun'^}"0XNJ\p/k 3OoKqΨ~U_Kma5JC^.HeN),$!ähT]190p0vׂhS2ba0iy490jD-j@@&2D3qr<|y/3x*t@afxi[ K~۲ߪ g>d=RVE3N314<$3xle{MC@s鲐,^[\RBIHZ/ᬺo@mnXy8M:w=uۄ%}O?ȼ򯄰X0ؐ )$5k_&ouM>~D/prD @̒H0ڳ$/~_gܵ5{54װP/󷴦U84u7NȞJ~@ASfc4+ + gŪ9%d?i%֓>a5g!"Jdɓ"d}#S0rnB偤#ĉx\6 \J31bJ[p)Q,fA5CVe" DHM4'Z[|O}"=[mz T$4u͚y8w6BIHM [yT[sPy|'ɠfE%fjw <$BD(`XA5G(ǾsA!  B7uW>! $@#gX߈1"˸t7.CaCV$ BQ?o?]nI" Hhz鄥{ч((:60젎@"@zϷU Is]h!*¦EPc&amOkq'䘝{G߶@d!IGi8¿Zytw{< 4I!HFA"ѰZ=_֑QL6tU:02 ק`a dG&]Um9t8ɒqK31`I9OB$}=8?͓F{Ѝ+ܶޟ6Y1\?] s7Am(́ 2#lbX>N|8i%fX6N!NMnCr{O<_YQMve󏕀t*bhLصxQCGcP!rD?.{.ڟ:/P^7c C\.6_OZ'r52rD5>ݟb}`NY]cT+ݻ 8AuK3l4#{0)CG"0`6.O.+k4R,AUF}Je-)iuk}2vPO0ml=oI$t{ذ1ހ%"]/c?vp#,J;ѱxXv瘍ֽѣKN M@y15h HrS&8K lºJt'ɥ;bдlc@!|ʳ+^9.Ԭ+uuUcY]uʄӜҾ%AHDPӮkY 1aIlK FMi+̙űu+.)e RTiK4+ Ǻ>*/FcPv46Rz8 9R"X\͆@HB.m;7ȶ:犼dBlO& 6[E0$$#C_Yث% J*B{\r{YS~A{f[Bgmw\-S3XD_{Tnξ(J\A޻ҾJB1ȶ !b2t+ޯ9.h(,̴}߬I h^^A (tDRhFDCx%84A,c"y~yw)BLd&"BW]*˫sf_CbYPJOBYZT۷yoND\MrV)Kʍm81+DFyeٯZQUf5BUW5Tkwl|ҕXY:Na///)kx,c%G! r>"\uzKD5$$ nvwSpQ&$=@DQwS]f[Pf]1">[8Q)7- ؇pf[cv H;>Ryl#5} ;m8# =4YkN/iCxxĥ5ONw">9nEh/jw? 9q-1͓?i-~H/wV \p)4LAoj$ cxWa|tŹ; wk0޹(t4 'y_ Je*dbK12PYd9tz(~٫Ħg5&F;Bwo O^;iB,$P>GWW?/ )$j4FKhfoS)dC%mТY&/n O=ۖžRqZwVݑ Ŕ<}R Q"R$ : ipbV> ꆶɉQ czᚷJʽ2;Ik! h*$C+U nwmeFy媦,fc]ʎB%9 ̢&|;K[vCsr!twtL=zr\ý{u\[VsEOckrЉ⨮"`A?kPF4Ʀ,rńo97DŸN^>Pu\jq}ȐO&.`1vNq|a{^_@H"YjM3*Vܓ9y@Srh-H* x ¢|n0Hd#YhiFj'8v2(" 罿9D׆&E6Hi1ڻ4̣+W5M{| oϐ6s1 <1\MN8c񬌚V"N4Z1$ٖ)~},cz4L4G1; 9qqaxc,-b-!5480a0K&:{C lhl&DxLaMiN@e"#ӌ%&ȟl"i2ڲJNR5ƅ-n-ζ^4j5g-!h[Ej -ܔ F^='џx>#+twdwzLESB*NPdÕJ}d$w鬅;D+ R%E(dN6!!?xAA}z6n~xֶ1} T]uUnvבٚ?={yf=}ww}6_ﭯΪ?Wè>\I^UKpvo:lܟ0E<{7l ZĉU){^g!Ӿ8u'0'Ŧ\˷nfh!=)EVBqP(S Gn<ꀘA@ff]YmYWsoY-YW$nekZ:ѝ>њ)ɔcC t!0 BI+]F̺6H@Cw~lEmT49~o|(Ɂ2GEU Ȉbc6Gǀ%E@Gx#R@ 8,D .{dsEBCTgb!B v՟y0Ag1Z䠜FABjP.n'7k˺o+߇y95:SQTJc0fzRT*`ƠopJ=S)ew]:L2f*́ l|O ި$TηG2"ґ&{> T:FPM) Bb2o#ri0RFZ4z7j]t.`M CdyoUq9^^_( )\4F>e"J[ړ,,\s]BYR~K5K4;yėhRbrQY ܦJ$X0=W:5KyK2MI]LXeó}`TYgIc(|=% Ѧs|{5aO+4n3cha1U6o{*W@Jz~k32s#Ƭo r򆖰t"+35eR(yA1b&D@Ǹ c}ce] %s~ vaxi#$!]h(+ݫׅ򱭜җ^q$N ob[M6,שsiw@M *jG4f6V(46vݵuefa!O!%6mz&ڎéuI%@%(E{u>z1"E2@Hbxo(I,sL4Z]CRwҖQ HkA@W26́jmr߿6Y+}+TUmU`Z‰a< c;=8.g\s&WfkAFU*(TP(EaT "b6 r?uuS*x #!JRiHR B@A#h@TZJS"< (1S#Fק^N5QZzy*MdX#Z[|-N  \i*ŶXIEz%QH$"A $ όKG83ȫhY ͚vl5̆3~,JbΥX\uC+zW% ɧ>5hc5F-naκw=: $PPSy{M{!qi~r)sX[jcixyq}a Bs=D ?RlG˺bc]tB?;Ai]؃q*ǍEa{nݎ k1Oވ}!qC؅1ݢ7@ n2¬O`.ؑwIǞ|h#aD^s'BVM{љ#:"nmZEg&O=!aR/]Yq0.>ä*,O~_qވws_19s-s:XmպVٔqJ-6Gh^iue;P~iZXYM3q1'g3tnCfoUGScՇj?':H^Dtt:7sQ+$ ъ=ܙL">B'k%&wO{Gת\Xydw}&#*:Q]n^/CQZ'+[W v&${z4\)r_[e1k4coH&d(ʊ4I*Ug D@ *0XM](V]OLr}Zy6#((2qiRdN!QR(P+y#( SKnZxj>47uuE-Ezy0nG;A.=&,Jeo87zJڲAYrۿC??iTple=f^N.놟Gp >\I_'[ϯH\FʭcZɔJYGlױ I&26u92s&ݗML;9uȪk#/ccEKGy4}GЕ\W%ӆet3x1't#կ n`ݩvӑ1 ӎ׳t]?yܤ 3LYD(hOUDsc'`kt8-AM9C"q7(aDtKasp`و83661Qd/t5Pɽ^DCͮNVUڊ/zYO.5ޟ4ogJS*&XLFȊ=q\,,ʴ9 #=]s=oG[E[Z{_k3ļH'hʶ * j.;K%ږ?Ye;]m ~SpQl,ށ#ŋ|>x#f;u_? Y2l&Lq1*)I1%ED:Ω[pdYBau"]rhÜG) bH-?b\|0jsqqixjULrYrEi V{y/x=Lnj*9ݿ3>'l"᪄H=9SsR˟ULI4o(ʹьz ͍2*e\=5mx.5ޚx+&o_ʹ6s~SI0 R?P|EKSy8 a9bQFAr@:fxf!4:W&}[-eDc1aX h>cʷR.:7]ZNz(j@=rEv48B <[h)9 gG=չt9ĒSJG}(,#{W)cڌqۖ4!S/!ܻ*UZD&d}G}zppv ^ڽ@zHsbWL3dYk:{ ؋͉VWXnZw0pEyJ ɞ(kZtdIaqCû։YA[uƹ7!dc{`:_?9o)M?uf\A-9MMLe>j֪[6vɤnl@˻(7'apE&Uz;F Py#ғ極 .,?Y֊HOb]mue@B SQ%Bp.t%:T'xYQaJ@uiع8/n[rM<t3;VdE. W >>wý+-Xkq+w^J? 6,=9FZya0jgIaBV—#/fֽT3jSNs& : 3t;PǀY p$6m7S/njߢy\ o5+A~k47$?qONQekm{JI^Llb<:1Vh*(Qw7'Uο t1@(l)kK^9`2 ?.hN nRǁP! ~Pϛ\i~  RdLDT_*!g24C7!/ k-s:ybs]]DJ+x7GKz< m(PЙuiloF pt)l>x;[O{"JӲz=A=O % A #)JǻkgJ3u _`2 0oS-m?b<5MȈmE <+>x+mCVL&ֺ~ØC26xsBajM7ס,]},RtjJ G4T IJt_>slh5au3` /SCۿOȚKE=D矶۵5LhcZ H̬Z} %F8y'l|i1gT$qLܐX(1]z)v UndKŴ,];=m֬oAz3dk; rk4=a`d`\oTEjٓ^2RefLTg1øiMI|N8]1g|%&i|e@^1TMA_xldu-ӝΏ7:ve[1~* ]FbA ֻ>.:%[/vAp?+ >sO4$C1onOpolIv#yw'%^zoF l'A <%U7-i/ѶվJj#O~;k mHOeF<=DB8N2Lu{-+=sE vA4gPY2X.4." kclz5s(v%%.V"88kɴ1pOfX1#A k5n-oRS% G3h9Ҍ&t>W%6}dSԢe(I$Zo[ pS,[\55O!¥'٫3?ZdRb  .Le}0Z[@Mv=!ci q{kA`8<|=Ǜ|UHj OW 1ԮSX09(j mpp,+ M 5|w.>n}+Wivcf遛,k%ßT@ h=-XmMJRgaʯ/B] JPu^v:M2J "JH;UfN"UM T:@-Ld/Tn<t,l68T [KguhK?dy=wcy'XGƁpЛŚྏO^+~^[/=-u1|`2e:9$SAX 7NܙQ6(&`^l?HF$:J)ɯ炕^h1Ul`X hSz=*nE1@ji@:ugyq IǤ춟ī&ѳy;}h^NJ}F/ p=ScWðmFv p!$*hP0^#0N #Sl׌߀H-9-6̺4YܯI5"C[}Ff"}e)`3DB**wk`ꐥuXur c7?{luCˁ0&@IASoi`7>!Y%S 9a*\c%Hľp̧ئd֎g|_[+wȺ%f+9" Dv&qM-rSIIwmI| PZ~W-!lUpڷȈCӖTi/zcFUT -Wicg Qpʺfŭܛ$h<onI#PL ;`UtNc8B*` 9FعC0:z]xsCNTHsϺ߽--R&fE:e7\)/v|Y;v*2`@QnX#LTP3~R県MKìzJYMBE X >Ƣ#9}s7b SԛIܽ{i "'KK)iLn% }Iv?ߛ'huGCɂn.N쑒jz~:\a .m sDtZ #b*Q! ۂ@qS̰ (r2q%كh6|,M!DBIoEʵs?hٛ\{\AgXַLnU(FgIG]MQk):r,PHCd>V (D6$ WĹ؀q뒅"rw cc68AdT?VȜ;l3ov6lߺy+:Y˦zj09[O5olY!_ G4FUH*  4o@[; %_9?/+>EPΈ8n͉{oKȸ)p2e,w7<[i]#'ϕh+an`ԝՇוCa==k_:fdx/r)k'ph3*j^v"}S$Vd616p6o|G.xSރ'KrgTR8Z*TZ,~_+ $:/ѨcmsBU5#&2D!DVs`U!؇?T6_|!CO>,=ԳCŃl7'ǁL݁m̷^Lw~,y  #Y#m{.fʹO:޴=x"Gmb}Vdkp) {&s,(tPjm6•rHpE01ZX:Ju;5G[;Q`FZOZ7a0m ! K/m6p T0:֣z^~UG;;*t~8B}tn2m̺zIʻc9auV 9=APʵAEz5}{i8 Sx`fgjUM0k|5-q4RD'C*` Td^8K7W{x3hj&'u>_(z'; eeP !*`64y8|diJeK03[/u-FШ4 w`S~1Ĝm9-W1Ca|fї\:,/|ό&4HCG*j2.KHQ[Ĕ_tG0F|_1aVI>/*V8ʦvw`ЙxS#%tU9va?nSNz* ܵidARKS#=b'|WŬԳI& gusD2i;ɉ [Js\ŕ9Pmɤ_1a.wZ2UFf<ݠycsQe2{ mQxlx>fJyfIvf9z_\[AH.~+ŢFڊ㮼~ 瘴|ќjt-\熵yE*ֲ`kyc5_vBG/Py1-*wd>C*~D jh{AG^2&%Iu+lQ( y* !+k `dK2.Sբiʸ9bF \I:SsRY6=]AkU7ԊǾ5X(3^ws4y.rPn GDfNkdW} &&y_Nʯ#Ж%RbkJH._;p!4qqU)4{ ĨiUf8L%.c-@~^Mѻi3yZ |}Fy'uLvf.elpa;"`-eg@1dE|?S H+Z/MM<8.ɋx FTexqZw9+7: O2 E&gSJ KG1bvNJw* 뮃xq} LPհ*6%7pÓ@kw}6#\Tzxd![_J(B8%U6cUƾ2q*ABz{VdB3kV_=5\ p9idM{> #xle:SκО-wR_]4E|7(nmA2 ITrq%54(ӍW6S͸h'1#;l})hM_sk)az [GLkYkc`p\E(Kd5"JhI\"^^A/uQW1O!V%m=/rZ|/$ P)[z +b贳'`h]7 fuSw&%rT`^wL2OF.*;)`h HFKN:mSYP,X6j=O 5Cg]aKs 205O6|V *q{ḛ W.,vJ[.=~ĉk0 &Xo3 `<v؞h[eبpc>66p>U§r政l[R24$KG1)̨GV B%VNL#~Uy5 * \e Z? zmAPȒ*JRsOqdC_ˍCu&JF-XBXmcy =Ւ9bsa\$D4zcb_WyXxޛ:X(GFpaEï2gKWn`ƢPJQuzb\z@ pkߛV$>!͡*1hjD+GC>=v| :b-&l}\ϰӤW6EOE%ݮ Lvݜ\+(ZX87(l8x&? 2l9ұ[ )ᏽ; w9bɶLJ t9zl+=s9>>"&"Y #fhi?s}8#~#׫L K7$9Nd>@옾v K$QfՈfe@LM֌z,!kqwwlP]mM嵾b#?~!vh0{T-"Ad3bPqTƃygh9xI,ϱ<AзdYd㪄x h Q63 !@>B6oǝ(9㰶v*`JXW.F?=*~"ؾw*Vd!\#ȍ`ГӑqB]PnÑ޷|wOOdw4A2hqH;(lC5#?+oO6j ɳ3QoF#q ͞Y(]XS-Zz[W0($i=1PcMzկ$μ2~`cYi& ,3r<,"` ?pDC"0-n|?ޯXuV )%n[ Ь~[9< #M[cy}ok$̢+T'Ѧ$ ?7Ou#.s%vonm+%3参 Dd@Z(P}U.'4"" L~nqbg2WpnI[X ('Cv&aa!sf^)>~H:udW ^e:mHZ8.$X%T2TORtYU9`{V-uR+`a3C_󟩌 <uʷivGqW\)r O?+h[4-HiִˆK()A l8$+lhW@o,!: fa b$9ԧʅNU,1Y _ūMeɍX9_Uŗ&\Ϸ1 `dy_۪kKOzgռX{ BPL!{ 4X}m57"rsED@(? nlwe_˪-ھFٸ^SjG$-KpX`OCG"FW_"%{uDHD_zRNy%~8)V1*A\=ޘrcs\oKUz.PbaTSE]f(HfZb>&?!\ΛI֔^KqHvn/v9)t;yiZ$ 骶V"j('#e{? ŚTUɴR1G`)_3]4;Ե^T&_|NŁIQz7Ppp&n󓑂1j2׾2VMS/|EoJxZaջ&h^dp(С=h<O;؉6>i]2_ P pL& QuH jN &~ea>z6>HV4/  RDꂣHic++"Fd(:_Jbk}ޝjVFߪઝnh1LTnFnRZlh7L8 q0]khIV"{ H0'r-H eX# dh]_V,4U΋M zx6.9dLFZnSo3'1f8ɔӤF^AIpzpWTm4h(M5UvFM(9( 6)s6_,W"&J,eh^ʤjm|l0Asg|.t/ j`ԱKW|9MuoҲYJ!{GBrvTMuY2.ʄQts"+9Im^qfIo: پ~FKt"І2F^fcwjLmer瘈EDzqD\qi5a:GM1ۨJ6`YU J+3ZZwaRLM=QjN3uDW(a=8lMQ3шtoCl,KfUΰʝ0&B qtjqAVoh\5/!@~Tl{ ذiqЅRvEbX }B&'3٘qqQ%g-VѿIN2~ܘJv/GJ6d4MuS|Lcp]ex0xXZmbdA\~jJrQ}`yam;IbiP O""'φ(7Yqh8 }l6)t*q٩lJy8UOjB>F;S28'.Q[3}v@LrؕVw ͅ={oVaݗzp+=(?M(yS=7(Qmt.5~1CEcPWTwML7O\b1XZ%Ԅ3}oe$LZ `Tuum,է4f^ >ECZT{а¥)i:x"U '3R`k`Ea# KkK~ci1+f+mVCdcoxkm+At?e4 pc\W3#GRhÁ %ٲpi9' Jޖacз"S~v|R[&~hqfWDh)w-LQ)>.q^. m/v&v'Vlu7~`WiG=n^^:U%NONh@OI{ pCfvu̯wfX~쓺OC<ݖTlIŒpDҀůG\]@AǕiK]q[w0R`օ[s% {E2p+oPO阗u8;Ha x\ ;] ;LxQ'k<죑$9ʥMˋ;n ]_ҲׄذxUQktprխIoh/$kHQ\c7i|gf6kv"tk{5n y_k(:cȋkx1?Kz ˞ մKKY$ _YhrvFaDԳNxH!+RfIM_FZ(H0wZ&Cv`LHUUCO^s\HODN"<p)u2Yףrew/M_>g͞9j5If 4b`)djBYbD#ϨA5~0#ڀ-'w{efE|{cƦT9eCDE:TF(LͶ$&U?2%hι%'5 q[ĀV1{$f6آ+( +oFhn'#Ui.DG͇t%xHH0x;K]=5 F/I!X/OJ]HA!:U"OwIvQCp+UF#RIai%oEp7U*!DLFɁP ݦF|jcuF|x%ްtqnFm̐]H)&DuW& &;en˂!P=D"x JjΔǯ_`/6yOAgeO.<**V(VQ=.j6BU&"ph_,r|Oy=b {",="U.A=bUnf$\`$u]v'5*'GnӚ%j o8=8o n-R#io;u#t`6]{g?\j,\ }6.2А%@I%,2h +1;t479 N.ܒP޸Q=A؇]=1oqbEq#6q %=耆,Yb[ܤK]:"jb߲߾c} ];;X;(Ӳ3Bd9 q3z ؉ŠRtC7CU@10Sż ,: 5Fk*bp~Jkp%榾 e⌍mő' xRJܥH1sNx\a3 [̏\ Bv‡tb2 Tj2aHkʈ"_'Kݱ.F T#/_1{3ͫCة!;켁FAn9!9wRȳrSUΛy"Lo j9w]&;vrDU6lC̞FF2>`fjL/ y{5>6\%H|O?+2'yl)id/ZZbxAO)j3KdqB},[SW窭ߡ&\8]lw%x H&V;$-n>m@@6E2.`O<'\r :[yoxD?!oOḁ!_K_;#_6|&ϤiN̈́\6(D֣ +uE܏ҾksfJo5"F L`<'ߐp(> FYk)8 лFO-L|}KK{|ɔT> t$r=V1yt^O5a\Q؇H"#6+5{tܲwoKB8P#RS6*42oJަF,;H,Oij UF![HkƑ]-:ybK(ՎU;TNrR_`>Y2, 4ߞZ}4xC ɇPCPim_ʽ'h]XʋRuF ^"4*zToK(lxN A39s=W7C;/`D֚0 TMX)-[!;Qz@k2r-GBN |>8! IKc-L Hf5 dZ9HĄde_"A4zxEԂ3^a;&¥/W:/xFZhPGlru3cϘp[ԃ~-\UL-vq+klzv̟}if"tYV)\!{=ߪCd4m"jg5#&  X]d[D\P_еSda  Rϔꎫ&،zEgזU(oGJg! 2D~mqFVD, #N9PՖZxOQ*͑3MQ򍒶14UyCr ^~`Qoba hDQT1 LYbȴ 37%,x; ԝÉ.k9 ť' #r 5wtJ$.$PXR4 Z7B(#wm i {Ffꙸt`2z4]UL/ ԃ/Oŏ@}2PL\qS85 ,c64 kbTw ^GV-JREnOET00}`ՍV -X|nĦ=b ߫? SW},G]h{@8z١#IUT Dz^2hx10tM4^uBT@ .֌7Ϟ |xC^S2?$R;CMn+4.zw>ҝpŀW|d~CS5 Spuܗ&DY ܲf@2ѪJ](s͇tJmcnw1"> N_mQiU^xld8ʰ߹'x%|*/y?"MaHĥgb#GZu/G+( k"M*6=+ Ή4F&|SG0ljUv!p0;TkI>$m 4bsՅƶg.K34URuFg3$Kb6cO,i~”O_S7)gaxz2?:tQmI1 &PQ>;z\Yh`żW(Ph`# ]qEͷ-r;cկbB\T4A9$.ב8bUԺ'B1=-L)Ceo|* oN$+Z vS2=ZtvjII4|oVpRPF^۫RF)hӅj{X}!OxOJ:FHeEi pˤM9,2G|VsX8''2i.)q]JbA#BrnH{̕ܣ4Aĵc1翏8/&mrGfH8Ϲo]n v,U6Mo==eY?m".&EaTJixFQɳ2H)1Dش@AwL\G?%d.Gy4Mn0u6y1!+Y̬vbG[X$tT{wPۧ0UUBnA!/v78>gGd葝m 3h#86SYT΃Sx_8H5HouuNhePb'U =a|!="R%9\G:/EꅅA )?Ry$̍x[ةD$TE$fZtfI3J̫ x{tly$[ LP_f{hQB-0Aʕ&+`Y-r8nʽ6Pk.\0#kUdvyB˭` ,`]KXs&ո@ Uu( Kkѻ=y훐L{P%hI[}FOH :+A]%![R )[Zʌ%p' MZcj^j)KU D Kp MF8D@l{l 2iQ̡bj"mTJS4b~SBW] M4y)h,K`Z#B>=U n#\f7c\5)ŲlЙtv-SiWD^o G뱜P"F.2<L ԈhYeLUCqy ,-ś]1;1hix']TbN"WظwVvu|a4~euBr>N|5cؿ'n1Fa۾VZ`3VcԒ"㧕 ˛Y9uFaPx;^%d.S~ q5'BRO{j7K8tܨB_1Drw3d{?".-I+,h2*r0B%?J\ Wr|$7Ou&Bb! {*M)52@윪[N'sQHƔ* >)x|"QN L(eBkM.0j˳GL7SP59[ ZE1 VHqrh"H>]☧"剔RlXZ$:ˑٝT1Ƿ0ĭociNJU$Ƹͣ=ѕM R RMV|?i Л*LZ~+UL7%r?]y*Sh  kFͽ#r{&WT otN@\3"rqKorOXq"{?ȓ a7G~.8!r>XmnA6A&Q4kֺ8ԷYy/g4d18K$7n^ʘ연;x=W/۴ԪrP8zmT1P}?rEwbk Dk>5 #ZՁѳo6P76KC,_ZT,p CDmpZ,P (p'3w#WStq.iN8 Qܸpn=}ڀI Ee)L3\g|فÆh^nplGs@.X0W|U%Mfc{?tz4G2e mx&`2*μ#= T"A"a`KBUݭO5n!nϨkȟqcc!=4오c_n85EKlG!NQֽ|HP0@byu^ -W(Y?Q3c}(e(i!'7RübWv'C6h8A#b軂TQe]BDXL(G@Mq=?D8nP<7^äX^o[ 5j6dXz>`m[~𿑋P 1b?TʖnyEJIA˸@ d 987݀v IOgkwxbSHgeX(RqS̚@oǂ0u=]gaZ%}gcO~ԈYxtU?QR_}n.bH[[?:z~/όs ySf m.pi(x5aeI'T2ޯJL>hs-?Xh|/gò׹-}cfױX8, X^ 4heqoCt6=|ߋ?}4Gm/ qߎ1j"^&U(7Mlg6c=5 s`]҂ Ou^9./6YQ|Ĕ:p9'C'q݂Ȩa:WjU  W;lM>cMtBjcᜧQa%p(OHWF.$>*4~Z`[BQx2 IWMDEo[YLg57Ɩ$瘖!_'__&Jiգp5|C[2Ef0hḉj[dq0vS 2v 2PM $#*&Љ[SG}?0g1(_-g#AoMnaxqSRTۙr >Df!T.>0G^Zo`R2<VXSt_,wt~iŶ796=UȚV)[-ge 8aJj `Yڞ&f`}d-%װOQ0:[Zo͙z6=q }.wA2PДY2Ғqvi5spǚ_7 q1hU;Zԟ|~Ur"Q r=Ⱦ3 yoqF22(b7"5Z2 v'MV+n-7ؓdjIs_Dӗjcv==+iΣ8E鸵j:j(9%%$ny~ XK{*_Z7|| rQ# mNlbENZ hY1[goӴ[ӏe׏؞[Ki)M$AzBl"ɹsI誠i6IH>X9H0r@@Ȧ2DSʝk?F[!Fˠ FܡC,FPn^Y'&1svg]һkIyeKJ~wv`G6|VVRNvL(|4J &[>`-mqrEeeI)+Vެ6?ma~ڈPp( o&vN \@X#x" blaѿAc~ ;YE;i!FaO.Tt dߜ*ҸpJ{pG*߁ح+#[IhH27t➩/$ mit<,($(Ǐh2Hah={ A~ 46'E\/I]DJ7H6*uA`Y~OȎX5?ܐDGF(۪oH8]z* [ˌsm?|S߶A8`rճJ 8OrD*c,:͆HYުh@Nt }tjA(\6ljSe/Ż'yP~]~(8+ IǣT궐>\ 7%:v=\sXݍ&9Z@Br*x dPy3_B!zF.#V\~Z!~@JTje3hrzM@}ݽf5YFΡ;85a1~bx4"|M[ s7BPp<ȲD71vFeLn-18I`?wwC7f}2U+6 QUFJtNC( LY(<`,!Wo`_n>)2j_.@:(zB_( ,K8U+{Ыi8V@.e"4k{K\+¬ y;b$%T6NugVwS%=]F4lă={i ڜk?b]/DgI_d4+zWV}ok[;ZWY42u7]8Rvͅdc_ʷ ` ǁ=s_RvL2'koW WJq$%NG#1=wdYݶZ|יؗ3M_ûUKf`lCwx$m8d j$F'+(V'g6p3+h0>H`]Z^$yIRJWC1s2Tn]_W(>)U.&£(:[EbD.B \)#fmBflTBǬ5QJy8(j #5% ]\Pǻ$b.O qÁcO=#س_6-ʻk/;b \L}@ȽYӦ4RšfTŝ]Kdf G%G"+ţhC97M# ߭?`@qtK\li Iۄ769D=c2==BqͨFfQ !G>c4Yy28'9Wuh?6&Rבo㡠IY Қ\T ͭex 8hhLF}3bNR ֦Y +\qٱN4npR8vthԇz3b_eZ i&p\ Xf׏&w۹{jl3,EzFmoɥEg!4VȅOj5~ZrTٔK׃1`9˰ݎ:פ$ Е)6W*^o nPEh_(p=3o'Q%EmI;b6U3t?Pv#mGmdE:gsludfݬ$W&5Flı"2]EOH F[ Qzά$4acUƅ,xʿha{u/+-(WnӉqR[a NN1H'/?4md:>|Kg%^HGEv =N;d7q@B?+{ca~^ 錐O3-ĩH)77r!;&5oYg`JזznhsG&jE'#6guU 6?'؛'Y /jkue٢11%5QRSðR,/~͝uqUϥurf+4/'ASօJ -P9C~4%(\Hۼk+1Uz-5OC:w<WãX!?76Ŝ }tM ze t79/*U eJڔoToBW5^Rjvgp'=@ yQ|T負/PaS/=.)7T?ŰҭMFwxZ*Bm6ufϢE\ZGh2% M aSo3Qsq۵қbΐ3ȽpUSѢx*?1Uk_EڦDr)~8!yLNCǦ-'!5@Cvv=%/DITnh~BacoтG/r #ڸj&w(Sܱw,&yZI޿ bmVq.D3hU2 &RS(Z 8.G|3NJmXq)3:C|fʶ[UEǩ Bg^Ջ[o^qu럇ٖR+^tG-W>"G fQf\7&5 S"4ԉ݈DѐhErIJ2o#9`=hqjG>kπ% f=H2a?6T4-$w?7D g#=0+[;Bo7<c.#΅lxD|lel )u 6_Ij";d*Q;fmet D D ӉW@x/Ij rli󖊵pnp㰄r6N .h$(#urNl$=kw1UG@ r:6ZM^ϊZ -/oC>}G 66>t8#9_x6$!'с-1KFqaMBW<q.,c};5||;;xe{gɋsۘewSg}cөB5V\"xōݟ6]Ǥ[BVж{Tl%Ahߨ<%E*bDSr"D$+5a"|>)ʖ7_ ]@=ȵ{qd&-KjS=GMш!d 7t1r_rgin$4,(q1޶)ciZ,0HMgڠ=Һ~)uv3Cr2D+LOjЪj,Cl"RJ [Q`Xflbҿ"̌7P|pPjÍ#inOk_Ԍga(d=ذnKnNH︲, ^ؖkVUCpVZm?Ҹ6.ٯL I25fzH!@ɮU}DT}KoӳFfa .{4P8^WR,> iĂC{*.]s;" G2n҃=!}֗5UeIvk-ڐnB9QۏR_VLQFհnC ǖ?q:@ō[nxُYތQfLj*m$] Xm-օd+{YdS.N??_S#cͺc7(CR DY-CGkٯVy:IvpuT¯uejR<@9nMt3Px2NOf0_J>|,hg3k%ۭՉ} ?u1rx.)%kW+kz wqF ɊRԃNCxӳM؋aGEmdP$/ j;sjΌ 5֦lu7Vw4_rfq˨WOA>T-"ͽiE T^8}]Y׺}nʡ'TWE+8 kiVO&nYOu#4<3Lw>^:5 _\zF^ 7)&c %9;J=*Iԩm^s"Қ#$YNgAt;d;>TzЪRž%d@84p2<ezOED? H|]V"rꤱD&Qp cpfΜ.+8G}vaʃ;Յx"CG[pյ.'2Y7&= rGYA=]Vq|4!ja7 栝j[vuAq{21wY?GheD^vD/w./98X-YU s#I1ZZ_ \)kX8xfi<gB;s5(sK[Mb M i#|vѻrySAYB+̫Eg;e"Zm\}E!:" ? L> ؽYP_O;b&~Ú lwX>jBIR @$kis]X l#O_&@qFm bKp˖ [В&[nKF;"`P'Ef;|w冯Nl?$w%Ÿ{A"R._Zp<> GX&6%Mc]OVh rbq[Ӹ’3 [oDwu]ε$rܘ'!1 k9hXn[z6zk r.0 <NkW)>6+XZ0c=<]BXYm%*fgr$bx2%߅fmREm8 }$ F ! 6)؏ h>_9T_#rfK@T&~ݝeu`jseag}) S{wShNT"y`x"Ux@z>97>GAuz2'`y'6S&8 L0wt>eU߻/Zwӵ=zMUE.!/<440~aT}TwŴ$KX;J{FY(VQ{/ +[3i/F%6W]DOK.RjVGϺoK8|\)_(6@2)/4눃mԯB+R ׏*09{g@3.H|CY.0GXiѽ@Z&98 X4V 31}pjJ0-Eݪˬ띬rS%9ϕf&dqs`$\j+5'c[JT~^]P{5-P;]Ar? >VtFLOfjzIDpX7ܢ̂ a3Yj'M-u_ u_F|XdװHTQE # D{wmR.3ZoDqf0jd,)5o>s, ~MOwJ+]Z OP~߳ ⹙:{v/wQu>Ӂ9"0XMv|0'8̀-JP sgZ+Y |pxy9/K@OT@TFwWf̄Cl=oH=cT=p{`^0Jh ظLUe-[WsxL?-Z*L߃6AtC:me ; _?TS-oM{(]/#mn[Gٍ 5ӪIFh{ =k'W BVve7FULu@%JF(LNn]:b0@Ͻkv@6*`N7W q gΖ'A`yhoHp7UC ?} m_*PՉ\G^gkӸj14x`H4zS>yשuYS*yЉ$]AP&Jro` +lM+W,PJK#.jؒX/,Џ͟qR˖o4'vXc4.m58}[qD'*]P.Y$Flq=s75y& &09`C *uC,'-$ߡS1&?e#^т3z()5.?99vJ &V88<_8 HY8c6փlś0 $nmx1]ӿT<;ZGPFo ڞkRg0ҝ@wi2M2lrO?b\156t?d^°!<"dn6oU$һd5 e,=0W)hZ@-d }CO5J~۬j Un'Da,L∪h}#*o{f ]wz&O{u:rcTIfMLu}9ȤGY86)'72ZՀ)XW^VA7\U] ҃Jʘ9},aP:&.<侫l$U[MwS\O76:Cmq/"Igqp[4Od!How V͆ m( ׍Z$3n^;J഼̺7.=#.bםc1pGtrcCA5ltO'5I~HCNg2_\rB5[k$Ye?3]Q&gܲRm&,vTCxK{T>~Er?)Ŭ5^ Kdo7g%oپacs% [%riޑ a98Ok8B*K+W'f*E ,?^}:.WUBGMgjwc!ML|>m1ӸQ(l;I2)z8˗u"i3i%[S|aMdb /XwhVq %=ƛ:m& ,AH\yvI;TQ!XیHq *&}/qJ꺽bS}2emkk~DNBbK<]ްo.n%qzwhy^@[S  (L$Ҋ;«9%H,q&-L߇83#}嫱^ ,Aؓؾ=Zსs"aE^2 hm!sK"5._J$U$mCz5]vv$f%u>]E55O p3aR]6%baI$FD)J<yDwo_g ;@4bDHۺ} 8O+@Ɋ9q* ǥ|}emv[vr͈E6c2)U `ހ/G6= N/E& $@ i+|YFj8#9`s(CZ0[]W:I#S] e;x+NPU F 輀Gu=)SvB4FBGl'4}Hl6ּWS=\jXQZ"pڏ^ljVm7s>&w&F! P_,ibEnJSsf«'=ɸ˱8~r7 [)<A 䣪]Ƀ ߒ#3_mjX -SpF^l%|vS)Zș1gz1XX-43ZSO/ Cs3΋A뭤16U2HgeWNdhJҙt'$q[J̱<g)ʡrwa"\_G_TOe)Wk_whb9 _ q;䥽<.f85ȴ9oÑ }Eq떪= #^\kKN|.˃@7z}op{籉cz,쵾}iFbH}A/y  p W4!,x1d*E=tFaHlDg!AA{<Ȫ,&nta JO;Zy&yj4+ # (l~n5;)z>S?O[̝;KrS˭}ϰҫꢎ:7X^fͳ ?wbC e!B=B^c).|yI. Ū\NN3eOwN'W5'ªo쾞Prp祾3_~R~[qj=-,hf˧OF@!^] (Ո\ sֲLAztXB5L) *Q^AzI;P܂UeZ}.rDJ'ѥRh_LlY@h>XUJ +n4O'VxSCzGݰxh=;8 F fHC 6ރm ȲRs88a}cݸ(:"TV;*,0աۊ*.jzMkS7fl)@|+<7k14I9lILIG p+:/,l1^CFqP_X\XW5xN\(C Je2WL-5܌RQCc$UjS"EkfEilu̳JV]K0imPT_~B1,5AV"+I4~P5t?WI7qkO |4\Z* \%=SKv+YPtŶحM7FUvh|씟|jj29 ' (d;?YC KG#/߼X0oÂ8JCX3(ͼʷ2Eb*&!PAѧ ]c 9/hƓECDe>3Y@oo]m3MBQJ ~Av'_4D"-.t XC:Q|_0]L0b-9=l'tH 'm=5\8@ށ0+̆B|x9Q 8h&\Ɯ)_G⾗KhunIU&i-*Q`b2˚IƅKҺ+o|#]M \6{,N|r*t呸v΢̓=V~6o pdMU;(c'u3pqu/k5>_[+GyL1f[cEƕ$1(oV Ү"[?LC1iw#Xw6{:G +nIKډ } 0U68dĩK}tQ+Yl7 {_vK- kI]ft{7xy[?;$9 |ѭ*Sv2~r]sBʉiЌgnx-\>P^25d@͇MJ h׃ wtiiq Cd B̔+[FK߿DKvJ\ecLdcҌx*L"oTX:Lcc;%_1qf |fjM};]Er`q4ÕG4 oE=4zg@{~[G - DD&@x_3HGZ?I+ʨ]d:a6JTh:z@V-> focxƄ⭏LS+yU$4Ɩ夗TaNM,0s./E7ԥUgwm0;5 =u U#H!NrZ"͹wSZ]e Xgjkz#2}-;>P딇̛Gb~L|yG>Q`[-+5S^rH,P!X2ᥒ/iztSB\l8fe"W7!gԸ> RZhysz:}Zb;Q~n]&NwCT)جO5͂*f>UG#r!o&7o<(/Jk&78[PTWF˭Z+E4 $TxSx,Lp)' e1YYb^98p^6t`wS> !%ޝb4^ otތTP>8[ '&`}am>pY|2bRXP @Q\]LrNFWh8s!*mBr}MKi_WW? hw*Mʭߨ5c3}$By u+ jW't2&4/+.+—p;sS4.,X?i)Ԧ[EૣX_XyyHAG8E QPAm-5G'!M tQ'}yz'?@xX~W\9Z^6;cM`8Fh;N3]/M9R!kbO?S~#@?~xvۖwK <81 v{W`@9Xt:L# ޕkJU.l esR8w;eԛ8KU1E_h3k㽋J/epx~<\2dR*q(4 ANYny_f%Oe#mC]حĮ HUY=`2`$mpzNS G.֨ޚ57rCZ1r-t:m/!r35Nש!^Zê&(٦Q.^`5_jײzz"Ja *fȁ'K$?>4' y12,#\]mP.JOBvʀwW;RpG6PWkRU|q-ᨇq![{OPUVLAr'&S5RXS)ӠH `e(&pᖒ"5H`@݄VCi*K1Nw_7Av{0ǒbMڪv|)J?c"ijy0oS`#KqPtVJXnx@!HO:KOFƨ 2Ĺ,5\Aa97a۠-bh 2k~FEVg/.D,: (ף8FlYϲ V*4 iMFrj֊4HZdr:e_qaMjk\ SO_ RJz@j/`8Yc7l:[DYFbl)cQSìh*}n0p@a(3ϭ[dgI}T[xsPCן-3kK#O%oL;-y-G6 Ąp e,U,X`I/Xz/gܨg.!aFn[%:hƱLS]hZyf0Go*.wjXo|-謴ARc:ܭbAH}n.gGZ]X{kOg7JQh˶|,h9+MUTG Ѫ ]&&QGK)RG[5%2'cmh `(ZgEn3m' RUY~`fyoc05 l^ Ď/5.^_̽yH>O Wpു=ҴdD`vtY-_@;Ni{_pyϺ ~H/0﹄x#/Ǜ~ hQxT㖟mDRE9~7/5g)P+hk}X6_d`Q(M&qmHT Kr(9ճ̻337xjhX+yGQjNࢲ|JBtoBI=~Vzqc=Cһ\<6ts6~մ̈d'nIEJ+p [/DY:ZU4Z M0Mz|&FLk}@%3 y]qzHyO2FL3!bq \-sEý _|{ fLB7er j^oXޖIP]]8pSA$OQ୴)`؜x/,/ w$i&bnOk'l z#yk77!{8q$7:ԖZbNHw1 oA6Ry;Qrfw2RHC=۩- ꒨M:DP/z[ K+UhD=z}VE|{7uNb*hW}evG/#l  )H4/8nlyΜј#P:A;Z?IΣC',ϥEȀI*ᇂbwm֒>#@ ڰc8N\Xi}2{ OG#}QP/hkʑ(.i"nV58Sw#T@tWE\l St}\4F0z.B wP#V&89R̎ %pPBԦ qB/\1WqL;SQ= ̒Ò6;:mqk'pϓ]ʗyHX ] \eTu(}W6 x$ƧHq?`jۧj\0Yo=rXV· shɲӀ>-wy)hV2]aewI!@"!H`DqtN|}y~!ǣ@{̀ Ȑ'[?0r~ ^YoȴZ6_ƣx)Fik+YO)1ѓL+<߂T(61Od`eU|+0p71-#V@!v0H҃KQ/q:"\Ib]Q*(W VGhaϢ- vQL{cAcwBpk·BϨY'p͝ƚ14gw4Thżp rJ_o~reKKŸSej|bE3q ʟLS}96^R8~ ڡI;׃+ҩK ̸t(=n"p=% zEiye`P#y"_ qP[|{]X#,˗ZW}*YiMʉ ʂـKUPR [o1~L$GɋҹbC,࿑ٳ޵3t[z3&]h0^M~v>؝:Ŋiz:0vO~xl}c:9ͮ%+:9hczVOD ې5(Ůt,fFY#ۓ{mβi7Jj};GWAR2*%ы 9l,ez6]Hý]M/Tc7k#Gw YOW^ 8>P xjV,^ K*B[( W2Aa~8u4~L-n]OMnXS=Y0#]u^#Kݚp?3#~ O<獿 jH5g j Y|^]DKZR1Gts!I7^Ac-+ȏAL., #U#*d{ \5Mt߮;}{) |{ +b׭z1v"uEe`p[@ܡ >.Ftb^ɤRQj xEM.y/DTH2gv?U_yE 0[;N6M!˕2XمBH/JW&Slgx2L#$E[hEJQy#Dv[ 2(^Y*4Et'`0Zú;t2?^ĽuaN U% Yp0C":\KǾqWl qI9jgIKf'R\]]eS2Sn\H!Le\ICssS6aݘ)1ZRPc%d$]])@xPŰe1e܁NdH˫Kjqd2ΛPBq:4rxZEWMܭV;C0Rq|W%! ʊzW,?r;T_-̃D=:EL8=n%kB U* wL;NMS=xνSmUekfoŃtQN@2 IJnJw1]+v@M1ieM" 6 vw|jCv:!?x3^ (6|XFTR.V_}ܝT-dQVCw%pOPB.8h]R$%Y=tāWU %g;Kֶ)c-fr..,b)PuǑr\1HSF5F,5x?tYGd9)9WÓ+i9 nw;`?J7VH4ᕪZbʹ>_f!khrR+Ivb3fh$É+hX?"xUoJkء,0#LE|Ul3BԜ0OEʁ+RBoQ THf5ŌOᒪ.ae}KAHaoj@;X<9' Fd˩!ROߪ9f*xS5UZ"rO3l"W4*o!>o}C]iLEpiקEZΌcuҝZmeđHFZiZZkQ&vRC9}t`-~8@ Aq7~_TZ^lZaʼn!P 4o~ !&#B!iTGlnƏ,es4sK?OoAwAT,G;jL fI"ǩ,5E, 2pX_b K9 +؄7t߻?ҩUƛ* 4;CVG!D(*&E)\qM`=Fh.ʫn., ͭհ E6@z9߳LʶxS&=9#ZCpwEH,oG[g;weÐ ~ZXuKn P+~Zm^(P V! -6hvV ^l\nq92\%[zyaOkO]^0 pGp> { (9_[PQlfG~{']0Yk7s#$Alh_g>R{`fX7G" I+⟇7|y읲!TwۘWtCO_}+9gl"UE' I{E@+9М^GotӁ`:\iY)HwI58?k>tAՂΚg_Lry0ЧPØlQNgCC&"xqX en(k%G޻ c$` 2DN70<#epXpH"!f|D<+cF1o7=M]a>?`@؉O2 ' O;%Ҏ7W.5*LLVG&mf#`Aq'ҁx!_Q11t¯-d؃U M - YZ