ruby2.2-devel-extra-2.2.6-7.1>t  DH`pY_/=„ָvM'\l5اLUG"M!\ JJ&+*Aײ)(oKk7w9܆^ (m\xx)V(*rkyY?vpA?_z JWR]K :CK)Q!ِ!4>h+O 'iO3MEpo n^pGN)Zj' C "/11lw& *$qJXajV621fdff9ee7df72eceea3e2461814313adbdc4ce6s͉Y_/=„f˓WV dS)tODzs4}!YihZC@%gUg16t`4TC8.6 uا8a͌b=,XAM)#lΛ^<gձy6< auٕ9>bS]U7fA,eH O?t> bu6/ʽ|9jil\7̉K[OPaL/>9l?\d  Z  \ z    [,<(8999: 9FGHIPX`Yh\|]^YbrcdYe^fcleuxvwxzLCruby2.2-devel-extra2.2.67.1Special development files of ruby, normally not installedDevelopment files to link against Ruby.Y_hlamb66openSUSE Leap 42.3openSUSEBSD-2-Clause or Rubyhttp://bugs.opensuse.orgDevelopment/Languages/Rubyhttp://www.ruby-lang.org/linuxx86_64.7KTAuvY_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_5c2d09fc2d56954ab74fb0aa2dd756bef85df9da0f5f6e0e4ae9cabb1b193a6ee727ec2f956d18af1752f0235b2833543f39b6bf9956dbc0cc03c5958cf125443ef1ef840eb9b0dcc5c48ad30ecaf1e9f2906726826b3ebe98d851a65b438d132afb2135801118acaf3943a8a130a8ff2f82c49b138f3ba14886d4b69ed85971b89cbb88774ad878494a1b1f6bdf704536df04e89dadc04544afebd3c1438ac41dbd30e348757cf31e0649f6e67e5f375f21800dea0063da4e7e5d1625b17b6bf23e0c86addb4a2a1e9fede87e632aa1d914128ed3778f3632104859254ddb059cc5249a37d9c1ae1c9cd05b67aad891rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootruby2.2-2.2.6-7.1.src.rpmruby2.2-devel-extraruby2.2-devel-extra(x86-64)   rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)ruby2.2-develrpmlib(PayloadIsLzma)3.0.4-14.0-12.2.64.4.6-14.11.2XX~@Xa@W VV^UoU@U/@U.@U.@U.@TD@Tء@T@T@T@T"@T"@T @T @TTwTwTTTTTSi@SSSSS@S@S@S@S@S-SSSuS@Sz@Sz@RVR@RRR@R>R۾@R۾@RΏ@R=Rʚmrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedvaleev@suse.commrueckert@suse.demrueckert@suse.deadrian@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.decoolo@suse.comcoolo@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dekkaempf@suse.comkkaempf@suse.comadrian@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comcoolo@suse.comcoolo@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comjreidinger@suse.comkkaempf@suse.comcoolo@suse.com- added patch by rguenther@ to fix building with GCC7: 0005-RB_GC_GUARD-stronger-than-gcc7.patch- switched to git branch based patching. we replace all patches in this round: removed: - 0001-GC-Use-__builtin_ppc_get_timebase-for-POWER-arch.patch - make-gem-build-reproducible.patch - ruby-1.9.2p290_tcl_no_stupid_rpaths.patch - ruby2.2.x_rbinstall_gem_buildroot.patch (unused) - rubygems-1.5.0_buildroot.patch (unused) added: - 0001-tcl-no-stupid-rpaths.patch - 0002-make-gem-build-reproducible.patch - 0003-gc.c-tick-for-POWER-arch.patch - added 0004-manual-backport-for-CVE-2016-2339.patch CVE-2016-2339 (boo#1018808)- update to 2.2.6 This release includes new SSL certificates for RubyGems. And, this also includes about 80 bug fixes after the previous release. See the ChangeLog for details. - ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing protocol list. The protocol list from OpenSSL is not null-terminated. patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082] - ext/-test/file/fs.c (get_atime_p): Updating of file access times is enabled or not. - test/ruby/test_file.rb (TestFile#test_stat): fix noatime case. [ruby-core:77943] [Bug #12903] - test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast, test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast address is not available. - lib/net/http.rb (transport_request): other than HTTPContinue in 1xx (HTTPInformation) also needs to continue. [Bug #12890] - proc.c (mnew_internal): follow the original class, not to loop the prepended module. [ruby-core:77591] [Bug #12832] - cont.c (cont_new): disable optimization if clang's version is 3.8.0. [ruby-core:77894] [Bug #12893] - sprintf.c (rb_str_format): format exact number more exactly. - ext/openssl/ossl.c (Init_openssl): register an ex_data index for X509_STORE and X509_STORE_CTX respectively. Since they don't share the ex_data index registry, we can't use the same index. (ossl_verify_cb): use the the correct index. - ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. - ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. (ossl_x509stctx_verify): ditto. - ext/openssl/ossl.h (void ossl_clear_error): add extern declarations of ossl_store_{ctx_,}ex_verify_cb_idx. - ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and X509_STORE_get_ex_data. - ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. - thread.c (rb_thread_pending_interrupt_p): no pending interrupt before initialization. - thread.c (thread_raise_m, rb_thread_kill): uninitialized thread cannot interrupt. [ruby-core:72732] [Bug #11959] - eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj) searches a tag with rb_vm_tag::tag == obj, throw(false) can accidentally find an unrelated tag which is not created by Kernel#catch. [ruby-core:77229] [Bug #12743] - test/ruby/test_exception.rb (test_throw_false): Add a test case for this. - lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log rotate when DST is applied during a month of 31 days. [Fix GH-1458] - object.c: Improve documentation for Float conversion. [ruby-core:71661][Bug #11736][ci skip] - lib/rubygems/ssl_certs/GlobalSignRootCA.pem: add for RubyGems.org. - variable.c (rb_const_search): raise with the actual class/module name which defines the private constant. - vm_dump.c (backtrace): use rip in the saved context for the case the SIGSEGV is received when the process is in userland. Note that ip in the stack should be used if the signal is received when it is in kernel (when it is calling syscall) [Bug [#12711]] - lib/uri/generic.rb (def check_password): don't include bad password in URI exception output - test/uri/test_generic.rb (def test_set_component): test for behavior - io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the fd is associated to non-disk device. if call fsync and/or fdatasync with such fds, it causes Errno::EBADF exception and the behavior is incompatible with ruby 2.1 and earlier unintentionally introduced. - array.c (flatten): use rb_obj_class instead of rb_class_of because rb_class_of may return a singleton class. [ruby-dev:49781] [Bug #12738] - man/irb.1: remove useless -width option. [ruby-dev:49767] [Bug [#12692]] - ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to free allocated hash table to avoid error on Cygwin. - test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset): Attempt to use independent strings for destructive tests that directly modify values on memory by using Fiddle::Pointer. [Bug #12537] [ruby-dev:49700] - string.c (str_buf_cat): Fix capa size for embed string. Fix bug in r55547. [Bug #12536] - string.c (rb_str_change_terminator_length): New function to change termlen and resize heap for the terminator. This is split from rb_str_fill_terminator (str_fill_term) because filling terminator and changing terminator length are different things. [Bug #12536] - internal.h: declaration for rb_str_change_terminator_length. - string.c (str_fill_term): Simplify only to zero-fill the terminator. For non-shared strings, it assumes that (capa + termlen) bytes of heap is allocated. This partially reverts r55557. - encoding.c (rb_enc_associate_index): rb_str_change_terminator_length is used, and it should be called whenever the termlen is changed. - string.c (str_capacity): New static function to return capacity of a string with the given termlen, because the termlen may sometimes be different from TERM_LEN(str) especially during changing termlen or filling terminator with specific termlen. - string.c (rb_str_capacity): Use str_capacity. - string.c: Partially reverts r55547 and r55555. ChangeLog about the reverted changes are also deleted in this file. [Bug [#12536]] [ruby-dev:49699] [ruby-dev:49702] - string.c (str_fill_term): When termlen increases, re-allocation of memory for termlen should always be needed. In this fix, if possible, decrease capa instead of realloc. [Bug #12536] [ruby-dev:49699] - string.c: Specify termlen as far as possible. Additional fix for [Bug #12536] [ruby-dev:49699]. - string.c (str_new_static): Specify termlen from the given encoding when creating a new String object is needed. - string.c (rb_tainted_str_new_with_enc): New function to create a tainted String object with the given encoding. This means that the termlen is correctly specified. Currently static function. The function name might be renamed to rb_tainted_enc_str_new or rb_enc_tainted_str_new. - string.c (rb_external_str_new_with_enc): Use encoding by using the above rb_tainted_str_new_with_enc(). - string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX is used, TERM_LEN(str) should be considered with it because embedded strings are also processed by TERM_FILL. Additional fix for [Bug #12536] [ruby-dev:49699]. - string.c: Fix memory corruptions when using UTF-16/32 strings. [Bug #12536] [ruby-dev:49699] - string.c (rb_str_new_with_class): Use TERM_LEN of the "obj". - string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware of termlen. - string.c (str_shared_replace): Copy +termlen bytes instead of +1. - string.c (rb_str_times): termlen should not be included in capa. - string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX, termlen should be counted with it because embedded strings are also processed by TERM_FILL. - string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto. - string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto. - ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): avoid undefined behavior - test/openssl/test_pair.rb (test_write_zero): new test [ruby-core:76751] [Bug #12660] - compile.c (ADD_TRACE): ignore trace instruction on non-positive line. - parse.y (coverage): get rid of ArgumentError when the starting line number is not positive. [ruby-core:76141] [Bug #12517] - test/coverage/test_coverage.rb: ignored test when enabled to coverage. It lead to crash with `make test-all`. - lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque only if the URI has path-rootless, not path-empty. [ruby-core:76055] [Bug #12498] patched by Chris Heisterkamp - ext/date/date_strftime.c (date_strftime_with_tmx): reject too large precision to get rid of buffer overflow. reported by Guido Vranken . - regcomp.c (noname_disable_map): don't optimize out group 0 Ruby's Regexp doesn't allow normal numbered groups if the regexp has named groups. On such case it optimizes out related NT_ENCLOSE. But even on the case it can use \g<0>. This fix not to remove NT_ENCLOSE whose regnum is 0. [ruby-core:75828] [Bug #12454] - missing/crypt.c: fix size macros to use configured values for platforms long is larger than 32bit. [ruby-core:75792] [Bug [#12446]] - ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from GetBNPtr(). This doesn't raise exception but returns NULL on error. (GetBNPtr): Raise TypeError if conversion fails. (ossl_bn_eq): Implement BN#==. (ossl_bn_eql): #eql? should not raise TypeError even if the argument is not compatible with BN. (ossl_bn_hash): Implement BN#hash. - ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash. - test/openssl/test_bn.rb: Test BN#eql?, #== and #hash - transcode.c (str_transcode0): scrub in the given encoding when the source encoding is given, not in the encoding of the receiver. [ruby-core:75732] [Bug #12431] - ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH has 'p' (the prime) before calling DH_size(). We can create a DH with no parameter but DH_size() does not check and dereferences NULL. [ruby-core:75720] [Bug #12428] - ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does not check dsa->q. - ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt, ossl_rsa_public_decrypt, ossl_rsa_private_encrypt, ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n. - transcode.c (enc_arg, str_transcode_enc_args, econv_args): remove volatile, and add GC guards in callers. [ruby-core:75664] [Bug #12411] - common.mk (build-ext), ext/extmk.rb: use variable EXTENCS different than ENCOBJS, to get rid of circular dependency. build libencs when linking encodings statically. [ruby-core:75618] [Bug #12401] - variable.c (rb_local_constants_i): exclude private constants when excluding inherited constants too. [Bug #12345] - lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342] - test/drb/ut_timerholder.rb: ditto. - ext/json/lib/*.rb: Removed some comments. Because these are unnecessary class description. [ci skip][Bug [#12255]][ruby-core:74835] - pack.c (pack_pack): use union instead of bare variable to ease optimizations and avoid assigning x87 floating point number. [ruby-core:74496] [Bug #12209] - pack.c (pack_unpack): ditto. - ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share the fallback definition. [ruby-core:76646] [Bug #12645] - vm.c (vm_set_main_stack): remove unnecessary check. toplevel binding must be initialized. [Bug #12611] (N1) - string.c (rb_str_split_m): simplify the condition. [Bug [#12611]](N4) - thread.c (rb_wait_for_single_fd): Clean up fds.revents every time before calling ppoll(2). [Bug #12575] [ruby-dev:49725] - lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY - test/webrick/test_cgi.rb (test_cgi_env): new test - test/webrick/webrick.cgi (do_GET): new endpoint to dump env [ruby-core:76511] [Bug #12610] - lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong entry reference name of double quote. [Bug [#12609]][ruby-core:76509] Patch by Joseph Marrero. Thanks!!! - gc.c (gc_mark_roots): should mark the VM object itself to mark singleton class of the VM object. Before this patch, we only set mark bit for the VM object and invoke mark function separately. [Bug #12583] - test/ruby/test_gc.rb: add a test. - lib/rubygems/package.rb: Fixed potential perms issue unpacking of gems on NFS. [Backport #12579] - lib/rubygems.rb: bump version. - vm_args.c (setup_parameters_complex): don't raise ArgumentError if an array is given for instance_exec with optional argument. [ruby-core:76300] [Bug #12568] https://github.com/rails/rails/pull/25699 - lib/net/http/generic_rquest.rb (write_header): A Request-Line must not contain CR or LF. - lib/net/ftp.rb (putline): raise an ArgumentError when CR or LF is included in a line. - string.c (tr_trans): consider terminator length and fix heap overflow. reported by Guido Vranken . - tool/fake.rb: don't fake libdir. use libdirname instead. - bignum.c (Init_Bignum): revert a part of previous commit (r55598), because the implementation of Object#hash is a little difference from trunk. cf. [Backport #12391] - bignum.c (rb_big_hash): make it public function to be available in other source files, and remove documentation comment for Bignum#hash. - bignum.c (Bignum#hash): remove its definition because it is unified with Object#hash. - include/ruby/intern.h (rb_big_hash): add a prototype declaration. - hash.c (any_hash): treat Bignum values directly. - lib/optparse.rb (OptionParser::Completion.candidate): get rid of nil as key names. [ruby-core:75773] [Bug #12438] - lib/optparse.rb (OptionParser#make_switch): char class option cannot be NoArgument, default to RequiredArgument. - re.c (unescape_nonascii): scan hex up to only 3 characters. [Bug #12420] [Bug #12423] - regparse.c (fetch_token_in_cc): raise error if given octal escaped character is too big. [Bug #12420] [Bug #12423] - process.c (rb_exec_getargs): honor the expected argument types over the conversion method. the basic language functionality should be robust. [ruby-core:75388] [Bug #12355] - parse.y (new_if_gen): set newline flag to NODE_IF to trace all if/elsif statements. [ruby-core:67720] [Bug #10763] - ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime documentation to RDoc from Markdown. [ruby-core:75136] [Bug [#12311]] - variable.c (rb_local_constants_i): exclude hidden constants. [ruby-core:75575] [Bug #12389] - regcomp.c (compile_length_tree): return error code immediately if compile_length_tree raised error [Bug #12418] - include/ruby/missing.h (isfinite): move from numeric.c. - ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on cygwin. [Bug #12417][ruby-core:75691] - ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always exist. fixed build error on Windows introduced at r55123. - ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider non-finite float values not to raise FloatDomainError. [ruby-core:75682] [Bug #12414] - thread.c (recursive_list_access): a object id may be a Bignum. so, the list must be a objhash, instead of a identhash. this fixes many test errors on mswin64 CI. - string.c (rb_str_modify_expand): check integer overflow. [ruby-core:75592] [Bug #12390] - insns.def (defineclass): Also raise an error when redeclaring the superclass of a class as Object and it has another superclass. [Bug #12367] [ruby-core:75446] - test/ruby/test_class.rb: test for above. - bignum.c: [DOC] Update result of 123456789 ** -2. [ruby-dev:49606] [Bug #12339] - internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG instead of duplicated undef RCOMPLEX_SET_REAL. - complex.c (rb_complex_set_imag): Fix to properly set imag of complex. - win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new truncate alternative which accepts UTF-8 path. - file.c (truncate): use above function. [Bug #12340] - test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed to avoid test failures due to the tzdata change. https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95 Found by naruse. - compile.c (new_label_body): missed backporting r54548 in r54698. this fixes randomly test failure introduced by r54698. cf. [Bug #12082]- update to 2.2.5 - README.EXT{,.ja}: `nul` should be uppercase. change 'nul' => 'NUL'. [Fix GH-1172] derived from a patch by craft4coder - doc/extension.rdoc: Improvements to english grammers. [Bug [#12246]][ruby-core:74792][ci skip] derived from a patch by Marcus Stollsteimer - encoding.c: Fix return value of `Encoding::ISO8859_1.name` [Bug [#12313]][ruby-core:75147][ci skip] - ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new` - configure.in: add missing -lm for AIX. - configure.in: don't use the system-provided round(3) on AIX. In AIX, round(0.49999999999999994) returns 1.0. Use round() in numeric.c instead. - ruby.c: cygwin does not use w32_cmdvector, command line can be other than UTF-8. [ruby-dev:49519] [Bug #12184] - eval_jump.c (exec_end_procs_chain): restore previous error info for each end procs. [ruby-core:75038] [Bug #12302] - compile.c (new_label_body): initialize bit fields, since compile_data_alloc does not clear the memory. [Bug #12082] - compile.c (iseq_optimize): disable tail call optimization in rescued, rescue, and ensure blocks. [ruby-core:73871] [Bug [#12082]] - doc/regexp.rdoc (comments): [DOC] terminators cannot appear in comments. [ruby-core:74838] [Bug #12256] - extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors. Renamed files, wrong method names or argument types; the example GetDBM macro is now updated to the current version of the actual code. patches are derived from Marcus Stollsteimer in [ruby-core:74690]. [Bug #12228] - ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo. [Bug #12202] [ruby-core:74802] - ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0. patched by Anton Sivakov [Bug #12201] [Bug #12202] - lib/securerandom.rb (gen_random): to avoid blocking on Windows. On Windows OpenSSL RAND_bytes (underlying implementation is RAND_poll in crypto/rand/rand_win.c) may be blocked at NetStatisticsGet. https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues Instead of this, use Random.raw_seed directory (whose implementation CryptGenRandom is one of the source of entropy of RAND_poll on Windows). https://wiki.openssl.org/index.php/Random_Numbers Note: CryptGenRandom function is PRNG and doesn't check its entropy, so it won't block. [Bug #12139] https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx https://tools.ietf.org/html/rfc4086#section-7.1.3 https://eprint.iacr.org/2007/419.pdf http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf - lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path. https://github.com/rubygems/rubygems/pull/1554 [Bug [#12193]][ruby-core:74431] - ext/openssl/extconf.rb: check RAND_edg to support libressl. - ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg is available. [Fix GH-829] - configure.in (rb_cv_lgamma_r_m0): fix the condition for lgamma_r(-0.0). [Bug #12249] - configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0) returns negative infinity. [Bug #12249] - math.c (ruby_lgamma_r): define by the configured result. - math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows, since msvcrt does not provide it. - missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0). [ruby-core:74823] [Bug #12249] - math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong. cf. [Bug #12249] - math.c (ruby_tgamma): fix tgamma(-0.0) on mingw. [ruby-core:74817] [Bug #12249] - defs/keywords (alias, undef): symbol literals are allowed. - parse.y (parse_percent): should parse symbol literals for alias and undef. [ruby-dev:47681] [Bug #8851] - struct.c (struct_make_members_list): extract making member name list from char* va_list, with creating symbols without intermediate IDs. - ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix API names. [ruby-core:74863] [Bug #12264] - vm_core.h (rb_vm_struct): make at_exit a single linked list but not RArray, not to mark the registered functions by the write barrier. based on the patches by Evan Phoenix. [ruby-core:73908] [Bug #12095] - thread.c (update_coverage): Do not track coverage in loaded files after Coverage.result. Avoids out-of-bounds access. [Bug [#12237]] - ext/coverage/coverage.c (coverage_clear_result_i): document. - ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] - parse.y (parse_ident): allow keyword arguments just after a method where the same name local variable is defined. [ruby-core:73816] [Bug#12073] - eval.c (setup_exception): set the cause only if it is explicitly given or not set yet. [Bug #12068] - lib/forwardable.rb: Convert given accessors to String. r53381 changed to accept only Symbol or String for accessors, but there are several rubygems that pass classes (e.g. Array, Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s returns its class name. After r53381 given accessors are checked with define_method, but it accepts only Symbol or String, otherwise raises TypeError. def_delegator Foo, :some_method This change is to revert unexpected incompatibility. But this behavior may change in the future. - lib/forwardable.rb (def_instance_delegator) fix delegating to 'args' and 'block', clashing with local variables in generated methods. [ruby-core:72579] [Bug #11916] - lib/forwardable.rb (def_single_delegator): ditto. - compile.c (compile_massign_lhs): when index ends with splat, append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT splats the last argument only. [ruby-core:72777] [Bug #11970] - sprintf.c (rb_str_format): fix buffer overflow, length must be greater than precision. reported by William Bowling . - test/ruby/test_io.rb: handled rlimit value same as r52277 [Bug [#11852]][ruby-dev:49446] - tool/extlibs.rb (do_patch): let "patch" command change the working directory and open the patch file there, instead of spawn options, so that proper error message will be shown by the command not just "chdir" or "open". - thread_pthread.c (reserve_stack): fix reserving position where the stack growing bottom to top. [Bug #12118] - .travis.yml: removed commented-out code. - .travis.yml: removed osx code. follow up with r53517 - .travis.yml: update libssl before running tests. Thanks to Chris Sinjakli for figuring out the travis settings! - .travis.yml: removed Ruby 1.9.3 build on Travis CI - .travis.yml: Remove redundant configuration option. [fix GH-809] Patch by @gxworld - ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb function rather than OPENSSL_NPN_NEGOTIATED macro. it exists even if it is disabled by OpenSSL configuration. [ruby-core:74384] [Bug #12182] - ext/openssl/ossl_ssl.c: update #ifdef(s) as above. - test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled. - lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example, missing mandatory arguments. [ruby-core:74540] [Bug #12215] - lib/uri/mailto.rb: raising URI::InvalidComponentError instead of failing with undefined method `split' for nil:NilClass for mailto: URIs without opaque part. [Bug #10738] - test/uri/testuri.rb: Test for above - signal.c: should also clear ruby_disable_gc. [Bug #11692] - vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+" cannot enclose non-identifier characters. a patch by Sebastian S in [ruby-core:74278]. [Bug#12170] - test/-ext-/float/test_nextafter.rb: In AIX, nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, but they should return -0.0 and +0.0, respectively. This is a known bug in nextafter(3) on AIX, so skip related tests. - lib/rubygems/installer.rb: merge partially r49511. cherry picking https://github.com/rubygems/rubygems/commit/f9232680 [Bug #12066] - string.c (enc_succ_alnum_char): try to skip an invalid character gap between GREEK CAPITAL RHO and SIGMA. [ruby-core:74478] [Bug #12204] - parse.y (parse_numvar): NTH_REF must be less than a half of INT_MAX, as it is left-shifted to be ORed with back-ref flag. [ruby-core:74444] [Bug#12192] [Fix GH-1296] - enc/trans/JIS: update Unicode's notice. [Bug #11844] - marshal.c (r_object0): raise ArgumentError when linking to undefined object. - marshal.c (r_object0): Fix Marshal crash for corrupt extended object. - ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe [ruby-core:73803] [Bug #12069] - insns.def (opt_mod): show its method name on ZeroDivisionError. [Bug #12158] - net/ftp.rb: add NullSocket#closed? to fix closing not opened connection. [Fix GH-1232] - variable.c: Added documentation about order of `Module#constants` [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301] - test/ruby/test_process.rb (test_execopts_gid): Skip a test that is known to fail on AIX. AIX allows setgid to a supplementary group, but Ruby does not allow the "-e" option when setgid'ed, so the test does not work as intended. - test/socket/test_addrinfo.rb (test_ipv6_address_predicates): IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken on AIX, so skip related tests. - test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast): The fifth argument to getsockopt(2) should be modified to indicate the actual size of the value on return, but not in AIX. This is a know bug. Skip related tests. - test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast): ditto. - test/rinda/test_rinda.rb (test_make_socket_unicast): ditto. - test/socket/test_basicsocket.rb (test_getsockopt): ditto. - test/socket/test_sockopt.rb (test_bool): ditto. - test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine): Skip two tests on AIX because zconf.h in zlib does not correctly recognize _LARGE_FILES in AIX. The problem was already reported to zlib, and skip these tests until it is fixed. - test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip this test on AIX. The issue is the same as on Solaris. [ruby-dev:47631] - thread_pthread.c (getstack): __pi_stacksize returned by pthread_getthrds_np() is wrong on AIX. Use __pi_stackend - __pi_stackaddr instead. - lib/irb.rb: avoid to needless truncation when using back_trace_limit option. [fix GH-1205][ruby-core:72773][Bug [#11969]] - ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo. [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda. - ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo. [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda. - ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo. [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda. - ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505] [Bug #11886] The patch provided by Akira Matsuda. - ext/tk/sample/*.rb: ditto. - test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty which is always a shared object and is not used by others. [ruby-dev:48629] [Bug #10384] - ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++. [ruby-core:72736] [Bug #11962] - ext/socket/option.c (inspect_tcpi_msec): more accurate condition for TCPI msec member inspection function. [ruby-core:74388] [Bug #12185] - lib/logger.rb: Remove block from Logger.add as it's not needed patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug [#12054]] - re.c: Remove deprecated kcode argument from Regexp.new and compile patch provided by Dylan Pulliam [Bug #11495] - re.c: Update documentation for Regexp class. [fix GH-937][ci skip] Patch by @davydovanton - ext/socket/socket.c (sock_gethostname): support unlimited size hostname. - lib/xmlrpc/client.rb: Support SSL options in async methods of XMLRPC::Client. [Bug #11489] Reported by Aleksandar Kostadinov. Thanks!!! - marshal.c (r_object0): honor Marshal.load post proc value for TYPE_LINK. by Hiroshi Nakamura https://github.com/ruby/ruby/pull/1204 fix GH-1204 - ext/socket/option.c (sockopt_bool): relax boolean size to be one too not only sizeof(int). Winsock getsockopt() returns a single byte as a boolean socket option. [ruby-core:72730] [Bug [#11958]] - io.c (io_getpartial): remove unused kwarg from template - test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug [#11885]] - ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): do not process kwargs in blocking mode - test/openssl/test_ssl.rb: test sysread - process.c (rb_execarg_parent_start1): need to convert the encoding to ospath's one. - process.c: use rb_w32_uchdir() instead of plain chdir() on Windows. reported by naruse via twitter. - process.c (rb_execarg_addopt): need to convert the encoding to ospath's one. - ext/stringio/stringio.c (strio_binmode): implement to set encoding - test/stringio/test_stringio.rb (test_binmode): new test [ruby-core:72699] [Bug #11945] - compile.c, cont.c, doc, man: fix common misspelling. [ruby-core:72466] [Bug #11870] - ext/socket/init.c (rsock_init_sock): reject reserved FDs [ruby-core:72445] [Bug #11862] - ext/socket/init.c (rsock_init_sock): check FD after validating - test/socket/test_basicsocket.rb (test_for_fd): new [ruby-core:72418] [Bug #11854] - re.c (reg_names_iter): should consider encoding of regexp. [ruby-core:72185] [Bug #11825] - enc/windows_1250.c: Should not use C++ style comments (C99 feature). [Bug #11843] - enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250 from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui) - enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e range. [ruby-core:64049] [Bug #10097] - enc/iso_8859_13.c: Added three missing lower/upper-case character pairs (from Kimihito Matsui) - enc/iso_8859_4.c: Added missing lower/upper-case character pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG) (from Kimihito Matsui) - string.c (rb_str_scrub): the result should be infected by the original string. - transcode.c (rb_econv_substr_append, econv_primitive_convert): the result should be infected by the original string. - include/ruby/ruby.h: add raw FL macros, which assume always the argument object is not a special constant. - internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING. - string.c: deal with taint flags directly across String instances. - parse.y (regexp): set_yylval_num sets u1, should use nd_tag instead of nd_state. [ruby-core:72638] [Bug #11932] - gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name. [Fix GH-1221] - vm_insnhelper.c (vm_call_method): should not set fastpath with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods. Normally, we can not use keyword arguments for this kind of methods, (obj.foo = 1), but we can set alias names for them. [Bug #11657] - test/ruby/test_keyword.rb: add a test for this fix. - parse.y (parser_yylex): allow here documents in labeled argument. [ruby-core:72396] [Bug #11849] - test/ruby/test_syntax.rb: fix typo in test - parse.y (parse_percent): Allow %-literals in labeled arg as r51624 did for parentheses. Fixes [ruby-core:72084] [Bug [#11812]]. - cont.c: fix a double word typo. [Bug #11313][ruby-core:69749] - ext/tk/lib/multi-tk.rb: fix typos. [Bug [#11764]][ruby-core:71800]- 0001-GC-Use-__builtin_ppc_get_timebase-for-POWER-arch.patch Use __builtin_ppc_get_timebase on POWER architecture to gain a little bit of performance improvement. https://github.com/ruby/ruby/pull/1291- update to 2.2.4 (boo# 959495) - ext/fiddle/handle.c: check tainted string arguments. Patch provided by tenderlove and nobu. (CVE-2015-7551) - test/fiddle/test_handle.rb (class TestHandle): add test for above. - io.c (parse_mode_enc): fix buffer overflow. - doc/NEWS-0.2.2: add description about incompatible change in Hash duplicated key overriding policy. [Bug #10315] [Bug [#11501]] - insns.def (opt_case_dispatch): avoid converting Infinity - test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new [ruby-dev:49423] [Bug #11804]' - configure.in: pthread_getattr_np is broken on AIX. More specifically, the stack address and size returned are not correct. - common.mk (update-gems): use BASERUBY instead of RUNRUBY. - insns.def (opt_case_dispatch): check Float#=== redefinition - test/ruby/test_optimization.rb (test_opt_case_dispatch): new [ruby-core:71920] [Bug #11784] - ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of InterlockedCompareExchange64. new value and then old value is the last. - encoding.c (enc_m_loader): defer finding encoding object not to be infected by marshal source. [ruby-core:71793] [Bug #11760] - marshal.c (r_object0): enable compatible loader on USERDEF class. the loader function is called with the class itself, instead of an allocated object, and the loaded data. - marshal.c (compat_allocator_table): initialize compat_allocator_tbl on demand. - object.c (rb_undefined_alloc): extract from rb_obj_alloc. - ext/-test-/file/fs.c: need to include sys/statvfs.h to use statvfs(). - ext/-test-/file/extconf.rb: check the existence of sys/statvfs.h - sprintf.c (rb_str_format): fix wrong shifting position in Rational conversion when not at the beginning of the result. [ruby-core:71806] [Bug #11766] - range.c (range_to_s): should be infected by the receiver. str2 infects by appending. [ruby-core:71811] [Bug #11767] - ext/readline/extconf.rb: call dir_config("libedit") if - -enable-libedit is spcified. [Bug #11751] patched by John Hein - parse.y (parser_here_document): store dispatched result of on_tstring_content at the last fragment of a here document. - test/ruby/test_gc.rb: merge partially r52391 to get rid of CI error. - io.c (rb_io_each_codepoint): raise an exception at incomplete character before EOF when conversion takes place. [Bug #11444] - io.c (argf_getpartial): should not resize str if the second argument is not given. [ruby-core:71668] [Bug #11738] - vm_eval.c (local_var_list_add): skip internal local variable name by its type but not if it has a name. internal local variable names are just unique per frame, not globally. [ruby-core:71437] [Bug #11674] - io.c (rb_io_each_codepoint): read more data when read partially. [ruby-core:70379] [Bug #11444] - lib/net/http.rb: set hostname before call ossl_ssl_set_session. [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek - transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name and rb_econv_t::destination_encoding_name should refer static strings always or NULL. [ruby-core:70247] [Bug #11416] - iseq.c (iseq_data_to_ary): dump kw_arg as symbol - test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip [ruby-core:69891] [Bug #11338] - gc.c (__has_feature): move into internal.h. - internal.h (__has_feature): ditto. - internal.h (__has_extension): new macro. - internal.h (STATIC_ASSERT): use _Static_assert with clang. [ruby-core:69931] [Bug #11343] - parse.y (literal_concat_gen, evstr2dstr_gen): keep literal encoding beginning with an interpolation same as the source file encoding. [ruby-core:70703] [Bug #11519] - ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error in ext/openssl instead of OpenSSL itself because LibreSSL silently truncate the selected protocol name by casting the length from int to unsigned char. [Bug #11369] Patch by Jeremy Evans - vm_eval.c (send_internal): set method_missing_reason before invoking overriding method_missing method so that the default method_missing can achieve it properly. [ruby-core:68515] [Bug [#10969]] - test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up code and check RSS to avoid false positive on AIX and false negative on Mac OS X. [Bug #10686] - test/ruby/test_symbol.rb: avoid a false positive in AIX. - test/objspace/test_objspace.rb (test_trace_object_allocations_start_stop_clear): clear object allocation table first to get rid of erroneous detection for obj3. [ruby-dev:49095] [Bug #11271] - insns.def (defined): skip respond_to_missing? when a method is available. [Bug #11211] - test/ruby/test_defined.rb: add a test for this fix. - ext/digest/sha1/sha1ossl.c: fix defs.h path to catch up changes in r52739.[Bug #3231] - ext/digest/rmd160/rmd160ossl.c: ditto. - parse.y (kwd_append): fix segv after invalid keyword argument, preceding keyword list is NULL when syntax error is there. [ruby-core:71356] [Bug #11663] - lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained EOL string. Patch by @kachick [fix GH-942][Bug [#11513]] - compile.c (iseq_build_from_ary_body): register cdhash to the iseq constant body instead of compile time mark array, not to get GCed. [ruby-core:70708] [Feature #8543] - ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid includeing ext/digest/extconf.h. [Bug #3231] https://msdn.microsoft.com/library/36k2cdd4.aspx - ext/digest/*/extconf.rb: remove ext/digest from include search path to avoid confusion of cl.exe. - ext/digest/*/*.[ch]: explicitly specify def.h's path. - Added missing reference of GitHub - lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100" header. [fix GH-949] - test/net/http/test_http.rb: added test. - vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is stable after invoking a block. [Bug #11451] - test/ruby/test_yield.rb: add a test. This test script is given by Alex Dowad. - load.c (rb_load_internal0): stop separating exits at loading from exits from execution. TAG_FATAL is the only case that `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG but not raising as an ordinary exception. [ruby-core:70169] [Bug #11404] - load.c (rb_load_internal0): extra check before returning TAG_RAISE when a non-local transfer of control happens while loading and parsing a Ruby source file. [ruby-core:70169] [Bug [#11404]] - load.c (rb_load_internal0): do not raise any exceptions but return the result tag state. - load.c (rb_load_protect): reduce nested EXEC_TAGs. - enc/euc_jp.c (mbc_case_fold): check given string is valid or not, and if invalid, return 1. [Bug #11486] - ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug [#10735]] - io.c (argf_next_argv): check ARGV element type, and try conversion if necessary. [ruby-core:71140] [Bug #11610] - ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support if the SSL library supports it. Thanks Kurt Roeckx [Bug #11376] - ext/openssl/extconf.rb: check for SSLv3 support in the SSL implementation. - test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3 if there is no support. - tool/runruby.rb: rubyspec now requires other FDs not to be closed since 7b6ce1fee. - vm_trace.c (rb_threadptr_exec_event_hooks_orig): maintain trace_running counter on internal events. This patch is made by Takashi Kokubun . [Bug #11603] https://github.com/ruby/ruby/pull/1059 - test/openssl/test_ssl_session.rb: Fix tests so that they take in to account OpenSSL installations that have SSLv3 disabled by default. Thanks Jeremy Evans for the patches. [Bug #11366] [Bug #11367] - test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb): fix test failure with OpenSSL disabled SSLv3 protocol. [ruby-core:63772] [Bug [#10046]] - vm.c (hook_before_rewind): prevent kicking :return event while finishing vm_exec func because invoke_block_from_c() kick a :return event for bmethods. [Bug #11492] - test/ruby/test_settracefunc.rb: add a test. - configure.in: check for libunwind.h, which is not available in very old OS X SDK. [ruby-core:71080] [Bug #11591] - test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027] patch by voxik. - test/rinda/test_rinda.rb: ditto - parse.y (IS_BEG): include labeled argument state, which was EXPR_LABELARG. [ruby-dev:49221] [Bug #11456] - parse.y: fix syntax error at do-block after a conditional operator. separate label-allowed and after-a-label states from others as bit flags. [ruby-dev:48790] [Bug #10653] - enum.c (nmin_filter): Fix limit value. patch by Helder Pereira. [Bug #11471] [ruby-core:70477] - lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction digits. [ruby-core:70667] [Bug #11509] - re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching till the end of string. [ruby-core:70592] [Bug #11488] - test/ruby/test_m17n.rb (test_include?, test_index): add tests by Tom Stuart. - thread_pthread.c (reserve_stack): ensure the memory is really allocated. [Bug #11457] - insns.def (defineclass): introduce an ad-hoc patch to avoid an issue reported on [Bug #10871]. This patch does not fix completely. For example, method definition in a block (like 1.times{def ...; end}) still causes same issue. To solve all, we need a huge patch and it seems difficult for stable branch. Use Ruby 2.3 and later to solve this issue completely. (See [Bug #10943]) - tool/downloader.rb: support old versions of ruby. - tool/downloader.rb: now can download gems by http if openssl is not available (this may be danger!)- update to 2.2.3 (boo# 936032) - update rubygems to 2.4.5.1. this version fixed CVE-2015-3900. - Fix document for Float::MIN and Float::EPSILON. - should match only char boundaries in wide character encodings. [ruby-core:70220] [Bug #11413] - Fixed bad performance in ruby >= 2.2 for Hash with many symbol keys - target encoding name can be empty now. [ruby-core:69841] [Bug #11324] - fix Float hash. rb_dbl_hash() returns a Fixnum, but not a long. [Bug #9381] - raise with messages in UTF-8 encoding. [ruby-core:67386] [Bug #10705] - handle O_TRUNC correctly [ruby-core:69779] [Bug #11319] - FTP close the TCPServer when sending the port fails. - (Net::HTTPResponse::Inflater#finish): fix a bug that empty gzipped response body causes Zlib::BufError. [ruby-core:68846] [Bug #11058] - (Net::HTTPResponse#inflater): fix TypeError. An exception object might be nil. [ruby-core:68846] [Bug #11058] - (module OpenSSL): raise a more helpful exception when verifying the peer connection and an anonymous cipher has been selected. [ruby-core:68330] [Bug #10910] - ruby itself (including numeric.c) is built with strict compile options including -std=iso9899:1999, but ext/date is not. By the way -std=iso9899:1999 is not only a warning option but also changes behavior like MACRO definitions for example INFINITY. [Bug #10906] - Fix LocalJumpErrors being raised in OpenSSL tests. [ruby-core:70020][Bug #11368] - make Timeout::ExitException an alias of Timeout::Error [ruby-dev:49179] [Bug #11344] - (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase): fix a failure without zlib. - copy the arguments to the machine stack before rewinding the control frame pointer and leaving the arguments outside valid region of the value stack. [ruby-core:69969] [Bug #11352] - CONTENT_ENCODING can be upper case. [ruby-core:69670] [Bug #11285] patched by Andy Chu - copy the arguments to the machine stack before rewinding the control frame pointer and leaving the arguments outside valid region of the value stack. [ruby-core:69969] [Bug #11352] - keep the arguments region inside the valid value stack. [ruby-core:69969] [Bug #11352] - reversed string is not a substring, and should not set coderange of the original string. [ruby-dev:49189] [Bug #11387] - pop cmdarg stack for lookahead token. [ruby-core:70067] [Bug [#11380]] - Support %s.%N. [ruby-core:68301] [Bug #10904] - fix transcoder loading race condition, by waiting in require. [ruby-dev:49106] [Bug #11277] - check if array size will exceed maximum size to get rid of buffer overflow. [ruby-dev:49043] [Bug #11235] - try opening file without gvl not to lock entire process. [Bug [#11060]] - split --libs if --libs-only-l option is not available. patch in [ruby-core:69428] by Hans Mackowiak. [ruby-core:69421] [Bug #11201] - out of range NTH_REF is always nil. - check overflow of NTH_REF and range. [ruby-core:69393] [Bug #11192] - make public and add length parameter. - resolve refined method entry to check if undefined. [ruby-core:69064] [Bug #11117] - undefined refined method is not callable unless using. [ruby-core:69064] [Bug #11117] - Fix require paths for released gem. [fix GH-929] Patch by @voxik - Return empty JSON object when passed object is a special const, instead of SEGV. Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291] - relax pattern because long_lived flag and marked flag can be false at major GC. [Bug #10852] - use RB_GC_GUARD instead of volatile [ruby-core:69419] [Feature [#11198]] - ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode, ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile [ruby-core:69371] [Bug #11185] - seek to the file end only when writing (mode:a), not reading (mode:a+, read). - stop returning false negatives for filenames which are trailing substrings of file extensions. For example, 'b', which a trailing substring of ".rb" should not return false. [Bug [#11155]][ruby-core:69206] - register symbol names as strings first so that r_symlink always returns valid names. [ruby-core:68587] [Bug #10991] - bsock_recmvsg_internal needs GC guard for control buffer [Bug [#11123]] - test if covered for linear objects. [ruby-core:69052] [Bug #11113] - should work even if body-fld-dsp is omitted. [ruby-core:69093] [Bug [#11128]] - added documentation for character sequence \' with String#sub [Bug [#11132]][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127 - Added documentation for rational literal. [Bug #11075][fix GH-885][ci skip] Patch by @shishir127 - preserve errno before other library calls and use rb_syserr_fail. [ruby-core:68531] [Bug #10975] - check other events when RETURN is thrown. [Bug #10724] - fix memory leak of addrinfo. [ruby-dev:48923] [Bug #11051] - try magic number only if f_type is included. [ruby-dev:48913] [Bug [#11000]] - return filesystem name by statfs/statvfs. [ruby-core:68624] [Bug [#10998]] - Symbols are compared by the identities always. [ruby-core:68767] [Bug #11035] - use same hash values with Float#hash so that -0.0 and +0.0 will be identical. [ruby-core:68541] [Bug #10979] - prohibit from accessing internal objects. [ruby-core:68348] [Bug [#10918]] [ruby-core:58539] [Bug #9144] - search the target to break from a block with nested rescue, from the nested blocks. [ruby-core:67765] [Bug #10775] [Fix GH-820] - protect value stack from calling other methods during complex parameter setting process (splat, kw, and so on). [Bug #11027] - allow symbols to just instance_eval/exec, except for definition of singletons. [ruby-core:68961] [Bug #11086] - clear NOFREE flag at embedding as embedded strings no longer refer static strings. [ruby-core:68436] [Bug #10942] - use getattrlist() if fgetattrlist() is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054] - replicate env from method object, and allocate the local variable area for the iseq local table. [ruby-core:68673] [Bug #11012] - make more realistic data. [ruby-core:68632] [[Bug #10999] - check if the receiver responds to the given method by respond_to_missing?. - create Method object for method_missing. [ruby-core:68564] [Bug [#10985]] - need to check the return value of GLOB_REALLOC(). - shouldn't create Ruby object before the object system is loaded. [ruby-core:68430] [Bug #10941] - Check class equality. (Resolv::DNS::Name#initialize): Normalize labels as Resolv::DNS::Label::Str objects. - check source type, must be an IO or a String. [ruby-core:69219] [Bug #11159] - make dsym_fstrs a hash compared by identity as the keys are unique fstrings, to get rid of running hash and compare methods and causing new object allocation during garbage collection phase. [ruby-dev:48891] [Bug #10933] - push and reset cmdarg_stack in lambda body. [ruby-core:69017] [Bug [#11107]] - check if a different libruby is loaded by the extension library, and then bail out to get rid of very frequent reported stale bug reports. - show the exact target path in the error message instead of the destination parent directory name. [ruby-core:68706]. [Bug #11021] - keep sp safe zone to get rid of crash by -fstack-check. [ruby-core:68740] [Bug #11030] - check also procstat_getvmmap, which is not available on FreeBSD 9. [ruby-core:68468] [Bug #10954] - use kinfo_getvmmap instead if procstat_getvmmap is not available.- fix provided rake and rdoc version - remove generic rubygem-rake provides- update to 2.2.2 (bsc# 926974) - stricter hostname verification following RFC 6125. with the patch provided by Tony Arcieri and Hiroshi Nakamura [ruby-core:61545] [Bug #9644] CVE-2015-1855 - fix segfault by null caused by syntax error. [ruby-core:68851] [Bug #10957] - parse.y (primary): empty parentheses at cmdarg can be null. [ruby-core:68477] [Bug #10957] - ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX Thanks to Yura Sokolov [ruby-core:68369] [Bug#10923] - test/io/wait/test_io_wait.rb (test_nread_buffered): fix broken test - vm_eval.c (vm_call_super): search next super class from the original class, to get rid of infinite recursion with prepending. a patch by Seiei Higa at [ruby-core:68434]. [ruby-core:68093] [Bug #10847] - class.c (rb_prepend_module): need a WB for klass -> origin. - ext/fiddle/extconf.rb: needs --enable-shared when linked to libruby or fiddle.so. since --with-static-linked-ext does no longer link extensions to ruby program with --enable-shared, the only combination needs --enable-static is --disable-shared and --with-static-linked-ext. [ruby-dev:48901] [Bug #10960] - ext/fiddle/extconf.rb: make PIC objects if it will be linked as a shared object eventually. [ruby-core:67128] - spec/default.mspec: use default configuration file name. https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf - spec/default.mspec: remove specific version number. https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714 - common.mk: use ruby organization for rubyspec. For all the changes see /usr/share/doc/packages/ruby2.2/ChangeLog- while merging the changes with the 2.1 package i noticed 2 problems: - we still rewrote the she bang lines to ruby 2.1. - the macro files weren't marked as config.- Remove the support to have the shared files from ruby-common intree again.- update to 2.2.1 This release includes the fix for ffi build failure and memory leak issue on Symbol GC (See Bug #10686). For more details see /usr/share/doc/packages/ruby2.2/ChangeLog - match the version number in the rubygems provides to what is actually shipped with ruby 2.2- port make-gem-build-reproducible.patch from ruby 2.1- remove upstreamed drop_content_size_check_in_xmlrpc.patch - add unapplied patches as sources for now to pass source validator, we might have use for them later- tk seems to work now with newer tk versions - convert the conditional for tk to bcond_with(out) - buildrequire tk-devel only if we want to build with tk. otherwise we get tk built and packaged even if we dont expect it. this leads to the rubyX.y-stdlib pulling tk.- sync spec file with 2.1 branch- update to 2.2.0 final: - Notable Changes since 2.1 - Incremental GC (YARV Maniacs No.12) - Symbol GC (presentation at RubyKaigi 2014) - configure –with-jemalloc Feature #9113 - core libraries: - Support Unicode 7.0 #9092 - New methods: - Enumerable#slice_after #9071, Enumerable#slice_when #9826 - Float#next_float, Float#prev_float #9834 - File.birthtime, File#birthtime #9647 - String#unicode_normalize #10084 - bundled libraries: - Update Psych 2.0.8 - Update Rake 10.4.2 - Update RDoc 4.2.0 - Update RubyGems 2.4.5 - Update test-unit 3.0.8 (removed from repository but bundled in tarball) - Update minitest 5.4.3 (removed from repository but bundled in tarball) - Deprecate mathn - C API - Remove deprecated APIs See https://github.com/ruby/ruby/blob/v2_2_0/NEWS for details. With those changes, 1557 files changed, 125039 insertions(+), 74376 deletions(-) from v2.1.0!- also make the ghost files match what we generate in the rubygem based packages- also provide the %{_bindir}/$bin%{rb_binary_suffix} symlinks via u-a to be consistent with what gem based packages do.- update to ruby-2.2.0-r47678 - drop buildroot patches! finally all upstream: ruby2.2.x_rbinstall_gem_buildroot.patch rubygems-1.5.0_buildroot.patch- instead of touch for the files in /etc/alternatives. use the symlink pointing to itself.- conflict with our own ruby abi- only provide the rdoc and ri symlink on newer than sle11- BR: xz- the ruby(abi) = $interpreter:$abiversion was not a good idea. rpm treats the $interpreter part as epoch. instead we use now: $interpreter(abi) = $abiversion For MRI it means we are basically back to ruby(abi). Examples for alternative ruby interpreters are rubinius(abi) and jruby(abi) (bnc#896658)- also in the awk generated provides we should add the intererpreter part to the provides. also remove the old package name based provides there.- fix typo in macro- update the ruby abi part in the macros- use the new ruby abi syntax- added ruby2.2.macros: ruby 2.2 specific macros for the macro based expansion - added ruby2.2-default.macros: if ruby 2.2 is default this file will be installed and sets the rb_default* variables and rb_build_versions accordingly. - no longer conflict with the other versioned ruby packages- now we can configure the default ruby version in the project config. if the package's rb_soname matches the rb_default_ruby_suffix, the package is default and we create the hardlinks for the important binaries and the libruby.so symlink.- require ruby-common already in the main package, not every package we build requires ruby-devel - update the rubygems provides to the actual version- added ruby2.2.x_rbinstall_gem_buildroot.patch: we need to pass the destdir to the Gem.install call inside the ruby build process- first snapshot of 2.2- %ix86 architectures are x86 for rubygems- also package the extensions documentation dir- no longer share the rb_binary_suffix between the library usage and the binary usage. for the library usage we have now rb_soname. - change rb_binary_suffix to .ruby2.1- also provide libruby.so again: too much broken code relies on the existence of it- also package the extensions dir so we have an owner- no longer provide the ruby macros- remove ruby19-export_init_prelude.patch- dont build ruby-common in here anymore- Update to 2.1.2 - fix for a regression of Hash#reject in Ruby 2.1.1 - support for build with Readline-6.3 (see Bug #9578) - updated bundled version of libyaml with psych - some bug fixes.- make api_version explicit in spec - adapt versions of embedded gems- use api version 2.1.0 again to avoid dependency breakages- Update to 2.1.1 Speedup and bugfixes (upstream bug ids): - rubygems 2.2.2 (#9489) - fix segfault at unpacking modified String (#9478) - Struct#send(:setter=, rhs) does not return rhs (#9470) - Array#uniq behavior change (#9470) - Timeout behavior change (#9470) - Hash lookup with #hash and #eql broken (#9470) - bigdecimal division issue (#9470) - SizedQueue not working (#9470) - BidDecimal division (#9316) - fix 'gem install --ignore-dependencies' for remote gems (#9282) - Array#to_h should not ignore badly formed elements (#9270) - Method#arity for keyword arguments (#8072)- add internal.h to ruby-devel-extra- Don't require rpm-with-ruby-provide-hook on SLE11. It's not a runtime requirement but a build-time requirement for rubygems in SLE11. Buildservice will take care of that.- reintroduce update-alternatives for rake, rdoc and ri as those can come from more uptodate gems- readd old macros - for now at least- generate provides for embedded rubygems- merged ruby-common- new package split - only single Ruby version installable ruby - binary libruby2_1-2_0 - ruby runtime library ruby-stdlib - ruby standard library ruby-doc - ruby documentation ruby-devel - ruby development- revert the ruby split (ruby - ruby21) rename ruby21 to ruby, integrate 'ruby' and 'ruby-common'- remove part of rubygems1.5 patch that modify mkmf which is already fixed upstream- fix rb_arch in spec: append -gnu - fix native gem builds: create gem native extensions dir- initial version for ruby 2.1.0 - changes to Ruby 2.0: VM (method cache) RGenGC (See ko1’s RubyKaigi presentation and RubyConf 2013 presentation) refinements #8481 #8571 syntax changes Rational/Complex Literal #8430 def’s return value #3753 Bignum use GMP #8796 String#scrub #8414 Socket.getifaddrs #8368 RDoc 4.1.0 and RubyGems 2.2.0 “literal”.freeze is now optimized #9042 add Exception#cause #8257 update libraries like BigDecimal, JSON, NKF, Rake, RubyGems, and RDoc remove curses #8584 - initial patches: drop_content_size_check_in_xmlrpc.patch ruby-1.9.2p290_tcl_no_stupid_rpaths.patch ruby19-export_init_prelude.patch rubygems-1.5.0_buildroot.patchlamb66 1499452008 2.2.6-7.12.2.6-7.1eval_intern.hid.hinsns.incinsns_info.incinternal.hiseq.hmethod.hnode.hrevision.hruby_atomic.hthread_pthread.hversion.hvm_core.hvm_debug.hvm_opts.h/usr/include/ruby-2.2.0/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Leap:42.3/standard/00c5453575ffb77c24ae3ecf81bbb562-ruby2.2cpiolzma5x86_64-suse-linuxC source, ASCII textASCII texty $ q+yj9?p] crv(vX0D Z/$>k3YJߨG (!X[ x M.tB>p}"*k/2j| H$詸n \[gYxG{ #NQB+# n6磺& jR7- r==l]K;.ŪGWz_˧;߯ nO ܖ'CLZ 5{`ݿ(BTFtϣCGn|+NxqO쵌T&nwGP>)Ado( Mɳ]6n۬uwR/ҶcR~%7/jp,3 {)|wXR pt֘]te =}/ZU}:52=7Ed wm퉌PߘlW~#{RÖmocʸV01X_8M `ׇtRªZ?p aۿBh:V&$y<) 7Wḧ́WJեn2.b{Sxj ,?Ga$n:o51;m O~ A#_oD;Նabg?LZ}C\,QGD_EbCs ]ś UJ8h623EyPZIЬNtp1av @hwfztI=^SZ#ӃZe`~*jrʯSe ˎykx($݌ `i[߯K7g`U:Ka v(05I`'}ZB>d1l؏}m?R3gVefxVFȿ2 gFMc_ zzG&W'Vi!5VSr]4 V>f{L锊&YI =uV ƎbexlǴikQeIH`%jXHaX !H g<'iȧ i5K+6aKeb 5$Vi=}N*̢]т~!d)GD{Bcotǜ*rѲ纏$=Tp0 Jc(E!a5/k&*!J#:%i,K ©0IHD(I->gf-hSaК L~ ͊{c+`"l9<@S#Z:D}‘GjmBN3ޚVj*mxxQǾ0W>fo9'ݫeZrA-vr.&R~^ 禥PūeE^9Qƕ hn+OH xIc2&ils[觸Vz|QD L-yE3M!xNUBh/Ai@,;W-uę"5l1K7b@zgHrB|&a#20-$u{OsH"; y"C[F3/{'/s:ƁTӕZVv7Eul{#pMzzE^WH?ϣwg#$j\b]ܨ12⁐ s KZ++`"dm= wV VR%J8ckV$ MKROml@Nēe[g(RafPRyΡN aG%@TQ2oUht96*iH5=?USz ە\F=H h"k) 4@ZW8}*n\7|8wA-5ӱ7yŇ92Y: Te *Z*4=fUvbf0 R:iJWxHe.cV6\gȼM~yJPO>ɛLӢ&}!S0%ÀC/o$wDcL+~ j΢'5 heROkq haɁu/O .I}ʊ6ADq\|,! {zZi  8'\Ot %dKrW_02 ъ-V͹s/?-bt.2 g9bܾ˚u# pTagK1X{>I NOYs!T(LmE[\n$װ:y2TݵCp]&?SsE,Q)٪wLIHLv$,y>mYl |f31&sv4ז eͳՑ^#&641EH٩ B9h,ЄJ,*0N}Mc1Y"Ƅ#Pz hITLםww7`rȑ쭧ͫvo)%+i]6x4+qtuS=]C}b8ߴ_ 퓱a1Ӯ\5FsӸ*`O.q|FKbIHϜQ \0BuZWGIBu1 ɗ#Q'q>ojX=1guqx?l>>DT#n%#C)~aJD^Z֔njUxsA4¦lrQBiG,MJ,o/ ng<3D=8#7vf\SRⳢ 7] Q~Y 4R(FJT' .p2Eh@o  9Ng$la$"bs(R {VK+WRE}ӨAM-kGMhT紮#14ۣ-!y/|ӹvp5fNo@ٸgqu?[Q옽G 3L&XqE"L`DIP%o4 O:5IP$) AXH^|[ sgxtNHpawM"\+!6ʬjnuȎRxXiulA\W=en} r7Woݵ θ|ъvsfSHJeP/HgoTv{{ϣn 2+Gj]X?vI5Pτ+dvW*(F]$6kXqn6]r!ܪRX86.w`  "SW)/6ѕ*t& IgXNtҀ1 D妶ib`F,.z)X)(SWہpE43`1ãJ4x 6u#fKqfQRds] mj~Ե2LD Ȭ@AnlXHo2Y?Fa '+P!"mg?Σ p;lpeT%ৃO]^s~+ۻJ_ۣzQFq+xyqߡoMxFNJa˞2~bOdH*6 rhY–~GML7(^@VP</|mY&qFnJ:fw1t^ȌzzZ%CariݝGxV(LTho*Hr4rpӢ2 8fވdӀJ~]`Y#3s9d q{?Bhcy=,B%F oGEd|˴4Af|4YQu)qښq*iQ@.q0px 俒lBi}fP0ཪ]UL!+ S8+y*5\䜖dhEYT@YBG2ѱ؈[vI sؕ: l4iÝphI]=0SXD;|jՃmlV"E@{1!xYA E"e@sRBRj%RI@HV qy&2Q86`!|tʀSOu0NmKP+c'Mi2ڼK+>>vpAI I `|1+d. \>+YX_Pv(nU֍-'(n! j$a[+)̞}gkgF &C).Q_HD:nvsc}8:4wlIH9`G~O`A_cIY"G?6JǮ_6IXDo-6 T [M,gW>2%ɬGWg_feKcKi\R%60hT~Ĺ"C' UF2\iwZNh+Lrxq+ :nl|F7&j=7`q3o$2l!}uyĒ>VPe/޴p.BfEr 'M۝l1q*PSp$@~ H+ (8R+5QڻǨ>R_uXahX`~~VqtjDGS x\,rIztD*UidK^jQP n22!{%EeۇǑs^#h`wWiqb O,tMSIK\Yc$0%+vne05I9%lY2_ J3hiM9!X~qvoa?7&Ele[&mR׌ѓGRf٘J*~d)>y֫dO@}q髯L}ݧŽ]0 TgfEͽTC@$K,6R54wb@q@ EA IB>0h6n]uZƯD9>9PTʖ%4P;pq\7S@~5B}=viERU(Kcm?rHhRw`}G-dRU50w)K"喽 ,VB{z¥*d!u珊VZəm9Ρ.磯=zԭI3#HD"p[`imtmJX:/OB͔IĺxB~>~W2o?;Ԥd.= .!Hٚo+![֮7eD=UP!Ԅ5\QfW|~Oĝ2xw+CJcǹJû{k ?i sw#j5&jMAhňojQ@2` vs>k0H&oM۰uϻ!4Wؚqlh'W tfS+vI bw 68#| 6 \4J<:BBD"?f]MjXT}j/3*WvٜvyMj0g< /' x.? V 4k5qFsE˓e)ɠAkl{d-sT"(]4<vJ%eAٜJ.D)Jfl|BN./n} s7K2g(J.r|ۄiB1hە[r@dD(PyT9;sW! hSuBt]:DP:+ 6:ax2|ti^>ݖ:ݧ2 9Qϋ/ 3DB?QVSop'8/v1+0v(lM&ܣRHV: nJj6g.(t+ 9:7I >iޡGZ^Lc"P{ 4<~XFRpZI_sՠ?FJL@$ K0h([؀Xl O4`!8.{d3{@9I)PDۼ,Yg@΃C B!P@?ҸRϰM15N!y@W3NZ.tٹy"'T% Q17OnʭvU2C+P@{z7^AQ]J=A/wH417JO]P\ 'M&﯈B2jԋEQd9 ;>lp9P9,#zZV jgrf2szE+`H{ 8s䩐\&_j!-w6kCY$1 oe^4d37 `HKkol9b] >T(cHs -t(6 r]#璟ҪSĉVl =Ӗ{vB@tcm:se\p6ިD\g 7Nh zg$ DRQʼbY_HKQ:pmZB6ԌKukPUNeQ6,I Wv ӟqoߍ) UZIǮsW0=^\9UeȮ"CܭG<*@;@b[ȡgP}Tm'͝ޝ$ bzeELZ@aJM c۪"AAXy#yֺ2i\!MYh܀[$v!g+Gj"IAz.١(BښjàfT4+`Z nLM8 8~2e[`PZ gY5=s. \y\0>j.d$W4w{pDzT|cq"w>gL] {·y<v"hb\^2}EuH$ȧ(dД:5Hw%ǥ a3WvJCRw\A72O1v:]>zod_!t p'3$1C* k@k;(8:,.[GnM> ஝tXȜ ۔0W6u-HF#JҀ=3M/XWUڀ~Utm^Z+慯Z5pS3&@=y~iIv]㩟́ zGڤJ Ka\Ӌ#(Q["̵ɄK@DJ@ʯvZ°M0kPV3,f(DCbu$lS-x͙s_\ʨ{IJ삩%0.9mtd Dzz{C:Szr#6NHdC|T)%Ɔ*4kS)A>E{76rg_L L:v"5ZGABwR(RY8* F􏁊+aOtOR]k y85s;lLOią ,:1&"L-^&eu>$q(џ_*x-?\9M^Q)G^j] PZޏAɷCdsoL Ն Ϻz?l,{:±k0Cyx2(BĒkC[[?y #N2VTU%3|14hҰV($i2c`vY>SnbJ֯ ,O3kx7wfUcF'CP %瑊cH_Twcܨ7(B?I]q=%٥QcjZ5 gk$lG܌?1+ؾò8Dc.mot$j$[ɦ*ebQ xKСV<{ޱ>8¡ُiN`mjV=h$MIZ|{nFPU} RNZIix:ܣm-lԟy $8#ˤyaܱW,.@j?{{߯Gm4/?HQ|uQi42ڙTxxƌL`A̅bzI:c]( *.H])AH,`2m2WӴ^Îߨ qk9)7FV2 dޝ>W5&k&wCyTp!o0(CQ7.+;!:]W <; "aM AQG Ĺkb|I!^~ w ]F?o`O]iۜ,>Pwĺ3^wk ft5-comw\lV.ը'2W Q@Q0c;;; D0zɥ+LM^U~>oG;+!QMd VKo)>2kBREr=4#6JM+ʊ/çg 2o-˳2ZӀ31=>a 4H07yΰ9dad!z*[~׾Y.$V;TRΠW=:|ttoz C=_)g֒ͅS; FCC>T)˦[)Hg=ky\ѸHݶJT"'rh N_dᄵ0Yyųת .on]2SoGJ[ 2 E2MbH*2uXZP M& R{bmdP9AOxxwE2ۛ[W:yT{bXH`q.N{`K-b/< ak;ؤ>\[7r ǙB,jDxk)Q{sZ;7FM+ZH(<3Ԏd1—IRsvL+XFSVZQ&MAX6;} -fC7lЮQ0lT߈^Psq$\ֻen/3|rTU}[ӮMpxi߹[hA '; o0}杌 Raᣐ1Н@*0Bwze E~jȪ@Y(+F[3A5Ry358kJH5-tL܇l_8EՓvxa &j7;_.fǧy#3gW X:zk­?F'G܈k>NU'vI4圐0k%YkR0Ӻ~Zt/(-ޢb(iB%޹O9[)ǫI N  f~^Hh2$ߙWw-2=߄U"0 rݞX+21wF9CU`Tfq!Mwtaİ)U(o;hAs8>lJ"9Lcb~/ ImݶOϓpl`n$.¶m*I2z~^hϙ,oĠ|q`Bw^_Sm@e ѿ ?=Hati9*UhǎSkv=Oqdt)7ݻSRt^YL2l#—!8(uL)ػ=(@Ε\}%O8N"yI[OBRvi@}8 o2693X- &?qd:g4bdB~PZOƫDFgs?=.|?D?{?sH6.s:ʶZW*>(t"]g$-3?RUw#&ͱZKEcc$"}V,>jVť  `S|Rybddt.lCR9[-svPġfoFlfa,}y7! QI T-bPu˖ś w43Yb֑;96d5 1iHa-: <B4Ǫ^v֚o?rM\źFN$hT*V`Pu)S@ @O['~h} 9G#f l z%/}_!vƍ{SM@E@_gާ4o~W$w6qGP ʐ<4C'ktECZ[!a4Vh2:)'4ئw?OD$׺=Ԭ{.F}m&DG@I Yn~J_ιEr:-@_˶Oe9Ӟ݅$7Q.{wI#4c_($5`dp|+Hb7%D(FISҳnxV,:oP*Y Qݏ?^PuB=NG[86f#kf!"9tS{69vTeorq!i/.*h%cP.|^\Uz9[M¼rL_p~{2iV0x_!6>yzO)9 `f|Ow(Z/ 6א+.h.\7Vz9EMe4: 0aJQV׿tصlbT/AԨT'Ph,ТWZLS8_[ZL 4n/laW q80{oTl7/Cp\! L ؀YkCJ;[.L @KaubLaI/W&MXHW4I0: E2wgǃC0l3 0>d^0r02*p S {|͠zTWw=.peiY{i@o%? qjfLDiΜ}(됁_̷4 '<:Q\E<4\ Wz #Zn[dwuH6PDh\V:@i"o}8 37(<6P?D(gCF"e(&o$필ds(XoC*AĐ9b 9Xs^ǧG^Psgfp?[Wex;K3nyBz;;RjOBj{lRʂecb],׽XAmއfUNBnHx |+G`#fa&`T&N#qϑuM2PeQ* s2=_ ef3]e}>0EB~8ʃvz֭^"nǏbF+%Ksq,}#d,<%U}|t| /h`"6+RP<匇zltnuX7LDwV~35`ۏ:}ާј^fF>o.0c}aq",AL`W9q8L˱̏)pTWnƊJTHc񴗙ʠnm=ڨ0 9!0=,瀽Z„16}sJ*Ӽ6\#J J Z=f2]F:Unlk{h3VYiyP ZrH?GP^6z%+nRcNs8bLɌ9;D[PH\XáhB+?K;­ή5 ?O*X|Ѱ7䕲*̬l*fv@%["!vPPݔ+Ui < C~_kMtsp\7TY4ոNv]Of^s*eBJxɿ`S&uټ6R/g`იjbK԰EH*&#^8;>).9YMZ "s|.'aSnzO]{+߅σ^; ! 0d̊itba '$?۝keJva`iJHd9i&%[N'^484+d~d~B vG鎈9fˆީ>[g޽~ȝ²W}>w OU5lyGkE+`hm_ S}ƍYK+rͿ 6 a ݋HH<6lɉg|apPrqh{iwiOuܠZ?ZBw_=Avp89]GU$^9BbXGɃRp- &Q  |\4mǑE ]Fڻ,)E:iaD7DiZcCj#]TR}nzP処)Y֗]"hvj|FJFuB Zf ^F+UXZc7Ch9Iw>[U8:v KiD]k1;"e!>*])%o2b%r ~  88 V-ڬb O6L^g VOП)ٜz:jQ n8gȂj7A\`A>A=ƜMR"R)|IApNE- heh\^ՒAy‰ϥ;%YˊUmV ہLZ<9*iZs 6LH6dl6L^= ek|v UW[]%&&=Qv*6?'%T$p:"k4G81|_ w,{jkQ;!ٮb,u'YkZ=cө][t6PWVBWгkp֖f٬3c0K}3Pw?sF|y9,;$2PۢFۭ iuu*%B;~ȁ[YW҄uhO$缻ZmFĜhl]Azev'^ IT)Skn50ƫɐNj6xI4Z:0^O?mLЦ!b]`.l(l -зM>dԕ#+= UOCH~rREu  SxX-ym1' xWetpb.h y_mv<YEye#?#:&X _*ռКtW{ Fg%tǼ;!HlKmPn}ok`K HIݥqp= ja.7Lh;v?€ջ?k L!W=\F7W)>~?c8MRE(5?DY6ƳۓǷcRv 7õ"gB3UiGP=ġ[`d) Y_TTxPL`*5ERmsN^M Y}Hc\iP1C [7dڕ#՞p L68PmBeU8E,# S@CʢCxD`L"YH}LwJU;CI3\ KW)p0#$gQZfD#4)&VEx-A멛u AG ?3yl̿J_o`t~@rd6OA3A疑"9?_ZwL:2;<OjW/|!`NV #uW~Z4tO]N!1(>94=٢)}CT8kK&5;Q"Ngg{ MxQtgV9b~bzr0!=9s?9Z(AkVlWd >NGtѺ:h+fQ:,$ؒ ;~\hYh2OÁ3JlcٗҐ +8 &O"t>>:-0)"ǦGٸc nIa`K:raӕFY g'~B#N'Ы~Z&RigΌvVNI2!W_i A d?_R]R ^NYNaz6Һf~56)E\WK]̔c U6*vi%!f^Φ{Nor`_1֖XcB=(e$!>-idvr`ˆvV 0[05Y|}Bq`a1 k_ZЁ`)-ޱvsG,NKay HC(JI})U5 "=Pm8&8(U4Ŝr{WR8'z_ODLNܿ p%Р/W[j]iXCqDy=ьD0,jx8;1khXj 9$Śj`y?wug98i͔s#pc96_ 0&)me"Lh 廒$]0JB4G h2 yS1'{BRZ2[o=KGI(hpR|ӈi /_˸'6a ͔O>W c_Bp7iO({k ;-[3Įw$Ҷ/ %i7BV"i OТ5K/MGCX>B 4IJq/9~o+Ζ>G7ꪫu 3G8O7M|6et!9!>xVV8Hj͒7ֆo v?R%CJ|]b}Fdc`hP?\Olf Lu&᷎0?q۰ם#蟏K99q Ȉ%Sn`.POslNg$lCt'8=ậU$#ï_C,{"՗ɶʹ/k^jh %K/Fi4Ń{䃉Rwt BbߟogiЮT$xc3hD\_HMci&#Etx S# `vNX=d &HNih2S," ./Na9hplPu Y/;<UQb+@ #@U`¨hѦj쁈r[uf/_[-/B 2xTALj5@뜶|(Qu](Cf s3V8v@e_SNCSɬrY+joOU$/~=縣9CvCyծzi;' Dx[QӕBKʤT;z+[!*=_W'wW@e\U-m pќr'`06HnVkNh g\&օ'V^G0OHFTsM tJ6%̞,XeJI|w gL tQt+[v,  Kɍ;V:mC1frg ᡙ%&A׿`Z 1ks%tT/ӑ= շGCz;QgU Hk CfG-`D \6IM%]V5!=:'4'm(Gb bf_C+]Nq?R AD S.Ie}mщFrt^Fˉ|.C%-Ɩ<9-KEfrRk+3:^[ Y>P#G߉رv #sGjeTc\IYSA'ё`9?wvWQm8c `!aܖxlt |Y⮎&p:sC%5wF91zXE},;c@{zϿg˚+^q8,YA N|STr4KTh?h*gû-OU\z_nZ5#*fW=Q)!ġ*~&*Mq噓3~A>sSc줎 !c{3MJg|]2!`arsܸ`Y9՘kn3w;z"(E{ٰ#):wzE3{kP{QjyL[g MnvDyO7}P݆=VduƐga*Z&aN +Ɖ}_u4⁳"F>?+-s)٣IqِOCD=@(VFR9<NԶ/T#gaG#P/hW\7@\V:avl?didg A&^=^䀕ӊZcT5 g$M軠|Ûtl^ٶ^C> QcHhP-'c -< Q}u)"AѧN`cw(8<憑iM40;qoUixB8-;;?ju~J]^+6u`6DqAfdAԚb>nrO<~!&Z˲SgDW暛Lvmzq`k7"nK9BY|yNׁh GXT8'C&n˚랿}jGo%jp&Rt[(t6j7<'T\/LX<.ZGN]@[Upe{Jێ6,ir>TL=pcɫƶ*)My{J@O! H#  =v>u"ݪ7i-Q]^BaCx:RFV$5|ʀdpsg6kaJ/4><47XqdH޸\ApZ&3dSZpKC=@f?*;N4pqӊJWh8s*3SdѦ $MNw`.lgz a da\>'|6Oo+&d/@f>GtHՈ ۞5d~1?:y53#W;1&f%6[w G'(45.,S֞^kD:nE-Ҷea5xuFNwWW(M$I? bGtA ̥M)򉵉 i* z07#ux$s$Dʬ_2]FE:}N aިx _LlzmdN]2RZceE9)G,="@wziS_=`nT"S_d۹@.Pt>+FT@©(b@Vs`B0Qcsf*_)J@|F=`{d B _(ufUٶ>ɾ9^pk#'lΪ#cf>JVFkm͔X("V( eK=ZWk[t΅2 4gre\ߦuẅӲPJg1LXJ vHcnGQS ~@U 7?ͪiήGn|W0nʪ!Aڭg뷖!1AX0yD)͋BiqiA.Ci* P|2gYpۓ~hb[.QCMĽpv~9DrjM IpvΎpߜ4$܇+E)}b\-n~HXQˬ( 6q)^݇hU#̵*T?n%xs$Kէ-f8O]2kVҘl?^ײ`}xBهg!UWAM4 uxWr$fj/K6:'ƊۼeS'o&pVTZw㹄#G ?S) >Ѡ-DYX ,ҽ%2t4>yt`)KH,qe-}KcE&9w&nBE øΊ߿.<. l8 7|UZa%PKVDلJ4C3,%ʹ?CT#׍Wy5OfQa?vw4YzSg6bWf8 #7`]^T ?IA[$Bbѥ~)<ESHap%U O[j^RYJ?䋛56Hd'] %DLZ#wdaq;NӸ`Udm`Z h +H8f$)4嗶/e+9g"t6\;! |]";+D ͍ xwy6h>6gX1HGS~ZB; j$g tLʠc7҉#b5|Pp2^2xbS_+-;dD`W؂qh %@tATn(o0 杗1'Zx`L )uWR#ʆ[\|A^9++AzJ#5ç{Pojwd(+eSx4a`*_:zFϷ? SG,Y[VzXW_r.{] k2#3oypHU?n# J!%,N0R!+@CFtS Ȏ%[^θsF_4m ]k`;뉾(q1NFqL3<0)}4&Cʵuΐn飂@_@m K}$0'~ȊevT絎g۴[ٮZR J/;ΐ+y0lE.rxuyı{,X 63ȢF^- /, 3QƠL˺p 5 qpKCFdP;kI}\U`n`0Unp&TmLR8cǶX*+z/:S6`#]|Q&R9& }쐢?WafŽqAa{FL?h~p@l=q;P)}X6IUula7 M"#p$X%T%.֥k[Z); |F Q9U5]xݘȕLD27x4c=i$@xntɗ1,i@AePxd0=$i47d)NzR#H yjWPOKm&ɳs àB;Y ߇`HWBΒkνl #QC5'BRKhm"LWT@O-ݑMcrI+7HiղF$Ŋ7'P7ER/hC" skeшEl~É-ZȇM쐽f a{ƞ{TVE6bG۵bWz>oSU0P}<c^]pqp]%M5?2i/dp VHWhB;1 ߔڥ Ux. YӺKiQC)f v<s @C}ڼï5PciՀʮ+ wd9p&q+[S/&@ m}\B~(zC6y*P(8~=g_yMy΍n*ӎ$UAɩAtX.@/S_s̓찪[*E21]aN{{ٽ0(W֓_f"Y!JT4wz7 k^Ji"6s\d#C5~T3&NJCi:,dϸIFK̡4D1>A!MUi zYH\80{e)71A]%ͨS]X~-B>#EKDm &I92akO` N`)BZ>:lT>ZlbƵDpMcEXĒ>GV70iF^A)4TNayؚa>A@ hy<>՗j?5G{ִRM 䋹f>Eb]Q'M)NA %B[oV' xHM'nDQ}eVkhaE'I C,ۀMTYsVN, R#Y|<:w%)' &f-3(BYeQm*6/0 Q8CW"<,Y7n$|:(s1;'ztY:L- SҐcr_8lRKpdZmۄ1ݴz琦 ?NeFR]JckڣkMyrN%yK w@93w9+W*9 HET*^A&ҧ) Àf}(l2o{R&|&2NtM;eNQSWVQv'GLhՇ%Jچi0Lq0QPI1\)-8u/7N0Ca- wQy`y(7tڠg~,i' t|'[5ы?nھ˴d}ƨ5o2MZF/Ə@v $6\`j3xeXNSOqD2~.nf+E+}// _Rx"@GaK҃t2s;Q$ 9d侔KyAe@opzj^,'<@g /즈"e^x]HlQؒ\÷Dvc#tK 9RDcq;ӈ= S?1bx}^{ 4E/*8g0rkdz t> 0Pp3[`naO(Z`@x<9L`W*ԭ cYRݲa?Y֧?≲%zd76q ;~z x= ?k?l8Sl>$n`Dg˼*;Rxd ~KO%pzGy81/ljD9x+Ut19`dVy'sٽ>C.IB!e_sG<Ӻ) AT!H?)uswN%d^\!tNɝvkDFzEɹ6BN8`F`%.H&n #2CsؑzIG%,Gʏ7 QOսI ~ڮ09Ӱefyp}#wP 6L0bN#4l`Q=^-nY4pP% P6];_x c6<,c8c1^;4Ui9xXסՍd=:ǘֲ?#ղnLi|y\O Q WϮŹ9%fG@eZ>\fi13΃.+\{y "mQe> \Prǃ,nu)4ðWI$$izAC+(<1fB\J?skkyEY2hn-tΌ8 }?li@k2;7L0;J@1djm:f~(\›as4Cz!G} ,3ډE!3W),Ǽ5ly3/fzq&\ e 0Qo'_%J\_K_x0l@?|G=ZH!S]ϻýrA1Km`pqɉ3g Lq/NpΥDI1sYE1Xu#C;`w V}DwĆ "s'BBS󞽸No쌊!{Z9ܱF,7\҇3&]Q 7qۻg˛BygFݲYԕ$UIp)G(1c}ċk^:B}?*b>7읶L])%Cȵ]S#껤WQ({O*RY521#C(0MJs.D2v4PYM$ETp-{ې7cT /J 9#KO=q)TݻXF]p,r'~k(kXJgpa^2mi "Ol D=:)UXC{(zQ&&nЬh|m REbQR^:Kfak%Oc84B@{$s2L0嚓GoF 7NbH5XMm^e+9c(#ް I7+FTRzƚ6,y{>4xÖoλB^^Hwmz)ޏ=6[xu10Nd45OKyd2 qv~Mҁ 8po/-{(֌'2X6s=!sd?tGc2is˯W?y626_(R7obSk,#`B~3Il/&(HX]0_TeDij3"WW#Ԡ㍱C1$04jĐYaOU4b iS