nix-archive-1(type directoryentry(nameincludenode(type directoryentry(name jansson.hnode(typeregularcontents?/* * Copyright (c) 2009-2016 Petri Lehtinen * * Jansson is free software; you can redistribute it and/or modify * it under the terms of the MIT license. See LICENSE for details. */ #ifndef JANSSON_H #define JANSSON_H #include #include #include /* for size_t */ #include "jansson_config.h" #ifdef __cplusplus extern "C" { #endif /* version */ #define JANSSON_MAJOR_VERSION 2 #define JANSSON_MINOR_VERSION 14 #define JANSSON_MICRO_VERSION 0 /* Micro version is omitted if it's 0 */ #define JANSSON_VERSION "2.14" /* Version as a 3-byte hex number, e.g. 0x010201 == 1.2.1. Use this for numeric comparisons, e.g. #if JANSSON_VERSION_HEX >= ... */ #define JANSSON_VERSION_HEX \ ((JANSSON_MAJOR_VERSION << 16) | (JANSSON_MINOR_VERSION << 8) | \ (JANSSON_MICRO_VERSION << 0)) /* If __atomic or __sync builtins are available the library is thread * safe for all read-only functions plus reference counting. */ #if JSON_HAVE_ATOMIC_BUILTINS || JSON_HAVE_SYNC_BUILTINS #define JANSSON_THREAD_SAFE_REFCOUNT 1 #endif #if defined(__GNUC__) || defined(__clang__) #define JANSSON_ATTRS(x) __attribute__(x) #else #define JANSSON_ATTRS(x) #endif /* types */ typedef enum { JSON_OBJECT, JSON_ARRAY, JSON_STRING, JSON_INTEGER, JSON_REAL, JSON_TRUE, JSON_FALSE, JSON_NULL } json_type; typedef struct json_t { json_type type; volatile size_t refcount; } json_t; #ifndef JANSSON_USING_CMAKE /* disabled if using cmake */ #if JSON_INTEGER_IS_LONG_LONG #ifdef _WIN32 #define JSON_INTEGER_FORMAT "I64d" #else #define JSON_INTEGER_FORMAT "lld" #endif typedef long long json_int_t; #else #define JSON_INTEGER_FORMAT "ld" typedef long json_int_t; #endif /* JSON_INTEGER_IS_LONG_LONG */ #endif #define json_typeof(json) ((json)->type) #define json_is_object(json) ((json) && json_typeof(json) == JSON_OBJECT) #define json_is_array(json) ((json) && json_typeof(json) == JSON_ARRAY) #define json_is_string(json) ((json) && json_typeof(json) == JSON_STRING) #define json_is_integer(json) ((json) && json_typeof(json) == JSON_INTEGER) #define json_is_real(json) ((json) && json_typeof(json) == JSON_REAL) #define json_is_number(json) (json_is_integer(json) || json_is_real(json)) #define json_is_true(json) ((json) && json_typeof(json) == JSON_TRUE) #define json_is_false(json) ((json) && json_typeof(json) == JSON_FALSE) #define json_boolean_value json_is_true #define json_is_boolean(json) (json_is_true(json) || json_is_false(json)) #define json_is_null(json) ((json) && json_typeof(json) == JSON_NULL) /* construction, destruction, reference counting */ json_t *json_object(void); json_t *json_array(void); json_t *json_string(const char *value); json_t *json_stringn(const char *value, size_t len); json_t *json_string_nocheck(const char *value); json_t *json_stringn_nocheck(const char *value, size_t len); json_t *json_integer(json_int_t value); json_t *json_real(double value); json_t *json_true(void); json_t *json_false(void); #define json_boolean(val) ((val) ? json_true() : json_false()) json_t *json_null(void); /* do not call JSON_INTERNAL_INCREF or JSON_INTERNAL_DECREF directly */ #if JSON_HAVE_ATOMIC_BUILTINS #define JSON_INTERNAL_INCREF(json) \ __atomic_add_fetch(&json->refcount, 1, __ATOMIC_ACQUIRE) #define JSON_INTERNAL_DECREF(json) \ __atomic_sub_fetch(&json->refcount, 1, __ATOMIC_RELEASE) #elif JSON_HAVE_SYNC_BUILTINS #define JSON_INTERNAL_INCREF(json) __sync_add_and_fetch(&json->refcount, 1) #define JSON_INTERNAL_DECREF(json) __sync_sub_and_fetch(&json->refcount, 1) #else #define JSON_INTERNAL_INCREF(json) (++json->refcount) #define JSON_INTERNAL_DECREF(json) (--json->refcount) #endif static JSON_INLINE json_t *json_incref(json_t *json) { if (json && json->refcount != (size_t)-1) JSON_INTERNAL_INCREF(json); return json; } /* do not call json_delete directly */ void json_delete(json_t *json); static JSON_INLINE void json_decref(json_t *json) { if (json && json->refcount != (size_t)-1 && JSON_INTERNAL_DECREF(json) == 0) json_delete(json); } #if defined(__GNUC__) || defined(__clang__) static JSON_INLINE void json_decrefp(json_t **json) { if (json) { json_decref(*json); *json = NULL; } } #define json_auto_t json_t __attribute__((cleanup(json_decrefp))) #endif /* error reporting */ #define JSON_ERROR_TEXT_LENGTH 160 #define JSON_ERROR_SOURCE_LENGTH 80 typedef struct json_error_t { int line; int column; int position; char source[JSON_ERROR_SOURCE_LENGTH]; char text[JSON_ERROR_TEXT_LENGTH]; } json_error_t; enum json_error_code { json_error_unknown, json_error_out_of_memory, json_error_stack_overflow, json_error_cannot_open_file, json_error_invalid_argument, json_error_invalid_utf8, json_error_premature_end_of_input, json_error_end_of_input_expected, json_error_invalid_syntax, json_error_invalid_format, json_error_wrong_type, json_error_null_character, json_error_null_value, json_error_null_byte_in_key, json_error_duplicate_key, json_error_numeric_overflow, json_error_item_not_found, json_error_index_out_of_range }; static JSON_INLINE enum json_error_code json_error_code(const json_error_t *e) { return (enum json_error_code)e->text[JSON_ERROR_TEXT_LENGTH - 1]; } /* getters, setters, manipulation */ void json_object_seed(size_t seed); size_t json_object_size(const json_t *object); json_t *json_object_get(const json_t *object, const char *key) JANSSON_ATTRS((warn_unused_result)); json_t *json_object_getn(const json_t *object, const char *key, size_t key_len) JANSSON_ATTRS((warn_unused_result)); int json_object_set_new(json_t *object, const char *key, json_t *value); int json_object_setn_new(json_t *object, const char *key, size_t key_len, json_t *value); int json_object_set_new_nocheck(json_t *object, const char *key, json_t *value); int json_object_setn_new_nocheck(json_t *object, const char *key, size_t key_len, json_t *value); int json_object_del(json_t *object, const char *key); int json_object_deln(json_t *object, const char *key, size_t key_len); int json_object_clear(json_t *object); int json_object_update(json_t *object, json_t *other); int json_object_update_existing(json_t *object, json_t *other); int json_object_update_missing(json_t *object, json_t *other); int json_object_update_recursive(json_t *object, json_t *other); void *json_object_iter(json_t *object); void *json_object_iter_at(json_t *object, const char *key); void *json_object_key_to_iter(const char *key); void *json_object_iter_next(json_t *object, void *iter); const char *json_object_iter_key(void *iter); size_t json_object_iter_key_len(void *iter); json_t *json_object_iter_value(void *iter); int json_object_iter_set_new(json_t *object, void *iter, json_t *value); #define json_object_foreach(object, key, value) \ for (key = json_object_iter_key(json_object_iter(object)); \ key && (value = json_object_iter_value(json_object_key_to_iter(key))); \ key = json_object_iter_key( \ json_object_iter_next(object, json_object_key_to_iter(key)))) #define json_object_keylen_foreach(object, key, key_len, value) \ for (key = json_object_iter_key(json_object_iter(object)), \ key_len = json_object_iter_key_len(json_object_key_to_iter(key)); \ key && (value = json_object_iter_value(json_object_key_to_iter(key))); \ key = json_object_iter_key( \ json_object_iter_next(object, json_object_key_to_iter(key))), \ key_len = json_object_iter_key_len(json_object_key_to_iter(key))) #define json_object_foreach_safe(object, n, key, value) \ for (key = json_object_iter_key(json_object_iter(object)), \ n = json_object_iter_next(object, json_object_key_to_iter(key)); \ key && (value = json_object_iter_value(json_object_key_to_iter(key))); \ key = json_object_iter_key(n), \ n = json_object_iter_next(object, json_object_key_to_iter(key))) #define json_object_keylen_foreach_safe(object, n, key, key_len, value) \ for (key = json_object_iter_key(json_object_iter(object)), \ n = json_object_iter_next(object, json_object_key_to_iter(key)), \ key_len = json_object_iter_key_len(json_object_key_to_iter(key)); \ key && (value = json_object_iter_value(json_object_key_to_iter(key))); \ key = json_object_iter_key(n), key_len = json_object_iter_key_len(n), \ n = json_object_iter_next(object, json_object_key_to_iter(key))) #define json_array_foreach(array, index, value) \ for (index = 0; \ index < json_array_size(array) && (value = json_array_get(array, index)); \ index++) static JSON_INLINE int json_object_set(json_t *object, const char *key, json_t *value) { return json_object_set_new(object, key, json_incref(value)); } static JSON_INLINE int json_object_setn(json_t *object, const char *key, size_t key_len, json_t *value) { return json_object_setn_new(object, key, key_len, json_incref(value)); } static JSON_INLINE int json_object_set_nocheck(json_t *object, const char *key, json_t *value) { return json_object_set_new_nocheck(object, key, json_incref(value)); } static JSON_INLINE int json_object_setn_nocheck(json_t *object, const char *key, size_t key_len, json_t *value) { return json_object_setn_new_nocheck(object, key, key_len, json_incref(value)); } static JSON_INLINE int json_object_iter_set(json_t *object, void *iter, json_t *value) { return json_object_iter_set_new(object, iter, json_incref(value)); } static JSON_INLINE int json_object_update_new(json_t *object, json_t *other) { int ret = json_object_update(object, other); json_decref(other); return ret; } static JSON_INLINE int json_object_update_existing_new(json_t *object, json_t *other) { int ret = json_object_update_existing(object, other); json_decref(other); return ret; } static JSON_INLINE int json_object_update_missing_new(json_t *object, json_t *other) { int ret = json_object_update_missing(object, other); json_decref(other); return ret; } size_t json_array_size(const json_t *array); json_t *json_array_get(const json_t *array, size_t index) JANSSON_ATTRS((warn_unused_result)); int json_array_set_new(json_t *array, size_t index, json_t *value); int json_array_append_new(json_t *array, json_t *value); int json_array_insert_new(json_t *array, size_t index, json_t *value); int json_array_remove(json_t *array, size_t index); int json_array_clear(json_t *array); int json_array_extend(json_t *array, json_t *other); static JSON_INLINE int json_array_set(json_t *array, size_t ind, json_t *value) { return json_array_set_new(array, ind, json_incref(value)); } static JSON_INLINE int json_array_append(json_t *array, json_t *value) { return json_array_append_new(array, json_incref(value)); } static JSON_INLINE int json_array_insert(json_t *array, size_t ind, json_t *value) { return json_array_insert_new(array, ind, json_incref(value)); } const char *json_string_value(const json_t *string); size_t json_string_length(const json_t *string); json_int_t json_integer_value(const json_t *integer); double json_real_value(const json_t *real); double json_number_value(const json_t *json); int json_string_set(json_t *string, const char *value); int json_string_setn(json_t *string, const char *value, size_t len); int json_string_set_nocheck(json_t *string, const char *value); int json_string_setn_nocheck(json_t *string, const char *value, size_t len); int json_integer_set(json_t *integer, json_int_t value); int json_real_set(json_t *real, double value); /* pack, unpack */ json_t *json_pack(const char *fmt, ...) JANSSON_ATTRS((warn_unused_result)); json_t *json_pack_ex(json_error_t *error, size_t flags, const char *fmt, ...) JANSSON_ATTRS((warn_unused_result)); json_t *json_vpack_ex(json_error_t *error, size_t flags, const char *fmt, va_list ap) JANSSON_ATTRS((warn_unused_result)); #define JSON_VALIDATE_ONLY 0x1 #define JSON_STRICT 0x2 int json_unpack(json_t *root, const char *fmt, ...); int json_unpack_ex(json_t *root, json_error_t *error, size_t flags, const char *fmt, ...); int json_vunpack_ex(json_t *root, json_error_t *error, size_t flags, const char *fmt, va_list ap); /* sprintf */ json_t *json_sprintf(const char *fmt, ...) JANSSON_ATTRS((warn_unused_result, format(printf, 1, 2))); json_t *json_vsprintf(const char *fmt, va_list ap) JANSSON_ATTRS((warn_unused_result, format(printf, 1, 0))); /* equality */ int json_equal(const json_t *value1, const json_t *value2); /* copying */ json_t *json_copy(json_t *value) JANSSON_ATTRS((warn_unused_result)); json_t *json_deep_copy(const json_t *value) JANSSON_ATTRS((warn_unused_result)); /* decoding */ #define JSON_REJECT_DUPLICATES 0x1 #define JSON_DISABLE_EOF_CHECK 0x2 #define JSON_DECODE_ANY 0x4 #define JSON_DECODE_INT_AS_REAL 0x8 #define JSON_ALLOW_NUL 0x10 typedef size_t (*json_load_callback_t)(void *buffer, size_t buflen, void *data); json_t *json_loads(const char *input, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); json_t *json_loadb(const char *buffer, size_t buflen, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); json_t *json_loadf(FILE *input, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); json_t *json_loadfd(int input, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); json_t *json_load_file(const char *path, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); json_t *json_load_callback(json_load_callback_t callback, void *data, size_t flags, json_error_t *error) JANSSON_ATTRS((warn_unused_result)); /* encoding */ #define JSON_MAX_INDENT 0x1F #define JSON_INDENT(n) ((n)&JSON_MAX_INDENT) #define JSON_COMPACT 0x20 #define JSON_ENSURE_ASCII 0x40 #define JSON_SORT_KEYS 0x80 #define JSON_PRESERVE_ORDER 0x100 #define JSON_ENCODE_ANY 0x200 #define JSON_ESCAPE_SLASH 0x400 #define JSON_REAL_PRECISION(n) (((n)&0x1F) << 11) #define JSON_EMBED 0x10000 typedef int (*json_dump_callback_t)(const char *buffer, size_t size, void *data); char *json_dumps(const json_t *json, size_t flags) JANSSON_ATTRS((warn_unused_result)); size_t json_dumpb(const json_t *json, char *buffer, size_t size, size_t flags); int json_dumpf(const json_t *json, FILE *output, size_t flags); int json_dumpfd(const json_t *json, int output, size_t flags); int json_dump_file(const json_t *json, const char *path, size_t flags); int json_dump_callback(const json_t *json, json_dump_callback_t callback, void *data, size_t flags); /* custom memory allocation */ typedef void *(*json_malloc_t)(size_t); typedef void (*json_free_t)(void *); void json_set_alloc_funcs(json_malloc_t malloc_fn, json_free_t free_fn); void json_get_alloc_funcs(json_malloc_t *malloc_fn, json_free_t *free_fn); /* runtime version checking */ const char *jansson_version_str(void); int jansson_version_cmp(int major, int minor, int micro); #ifdef __cplusplus } #endif #endif ))entry(namejansson_config.hnode(typeregularcontents[/* * Copyright (c) 2010-2016 Petri Lehtinen * * Jansson is free software; you can redistribute it and/or modify * it under the terms of the MIT license. See LICENSE for details. * * * This file specifies a part of the site-specific configuration for * Jansson, namely those things that affect the public API in * jansson.h. * * The configure script copies this file to jansson_config.h and * replaces @var@ substitutions by values that fit your system. If you * cannot run the configure script, you can do the value substitution * by hand. */ #ifndef JANSSON_CONFIG_H #define JANSSON_CONFIG_H /* If your compiler supports the inline keyword in C, JSON_INLINE is defined to `inline', otherwise empty. In C++, the inline is always supported. */ #ifdef __cplusplus #define JSON_INLINE inline #else #define JSON_INLINE inline #endif /* If your compiler supports the `long long` type and the strtoll() library function, JSON_INTEGER_IS_LONG_LONG is defined to 1, otherwise to 0. */ #define JSON_INTEGER_IS_LONG_LONG 1 /* If locale.h and localeconv() are available, define to 1, otherwise to 0. */ #define JSON_HAVE_LOCALECONV 1 /* If __atomic builtins are available they will be used to manage reference counts of json_t. */ #define JSON_HAVE_ATOMIC_BUILTINS 1 /* If __atomic builtins are not available we try using __sync builtins to manage reference counts of json_t. */ #define JSON_HAVE_SYNC_BUILTINS 1 /* Maximum recursion depth for parsing JSON input. This limits the depth of e.g. array-within-array constructions. */ #define JSON_PARSER_MAX_DEPTH 2048 #endif ))))entry(namelibnode(type directoryentry(name libjansson.lanode(typeregular executablecontents# libjansson.la - a libtool library file # Generated by libtool (GNU libtool) 2.4.6.42-b88ce-dirty # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libjansson.so.4' # Names of this library. library_names='libjansson.so.4.14.0 libjansson.so.4 libjansson.so' # The name of the static archive. old_library='' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='' # Libraries that this one depends upon. dependency_libs='' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libjansson. current=18 age=14 revision=0 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/gnu/store/7q5n8zmy7gr3x0ja0xkjp8l8pimvsl4n-jansson-2.14/lib' ))entry(name libjansson.sonode(typesymlinktargetlibjansson.so.4.14.0))entry(namelibjansson.so.4node(typesymlinktargetlibjansson.so.4.14.0))entry(namelibjansson.so.4.14.0node(typeregular executablecontents ELF@H@8@!!,/,/000 0  Ptd   QtdRtd000azSL`RkT & w)v;_<f+s qd=gc I!abxG38Z0"$5N(uCU[ ,>J.6@pVPDenQio'XOW-htm#M\lrY:?y%H A2]9K7/^1*F4jEBC( F@f@ !RD P"  @L*%¦t$!jH @@@()+-./13469<=>@ABCEFHKMNOQSTWY[\`bdeghijlmoqstxyKʣY[{SgDwY;+?,g8N]$1wOx =A,0<] ԓ=IŨJ:鵣n]ň㼵M" ]c*v\], e1z t^ T g$o ~  g0 h$ t m@- `n@ @ZL   Dz& h  dy kli s  l( v 0= Dv hj @p, <   [l k|= f$ @ml{ @g@} pi, <H 0}+ |`E ? 0h` p< q  v g@+ =? `^| zs P\ q( m, i8 p  \ld hx pfx  i4 r mhS q= n pp Z ?$ @q@ : w ;K op l0  h  q qD \ h  `lL0 ]hX pp( d( h du `! Pxe g$ 9i `s__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizememcpyfwritememcmpjson_integer_valuejson_array_sizejson_array_getjson_object_iterjson_real_valuejson_string_valuejson_string_lengthjson_object_iter_nextjson_object_iter_keyjson_object_iter_key_lenjson_object_iter_valuejson_object_sizeqsortjson_object_getn__assert_failjson_dump_callbackjson_dumpsjson_dumpbjson_dumpfjson_dump_filefopenfclosejson_dumpfdstrlenstrncpyvsnprintfjson_deletejson_object_seedsched_yieldreadgettimeofdaygetpidstrcmp__errno_location__isoc23_strtolljson_nullmemchrjson_arrayjson_array_append_newjson_truejson_integerjson_falsejson_realjson_objectjson_object_setn_new_nocheckjson_loadsjson_loadbjson_loadfstdinfgetcjson_loadfdjson_load_filestrerrorjson_load_callbackmemsetjson_set_alloc_funcsjson_get_alloc_funcsmallocfreejson_object_getjson_object_key_to_iterstrchrjson_number_valuejson_real_setjson_object_set_new_nocheckjson_stringn_nocheckjson_vpack_exjson_pack_exjson_packjson_vunpack_exjson_unpack_exjson_unpacklocaleconvstrtodmemmovejson_object_delnjson_object_deljson_object_clearjson_object_iter_atjson_array_extendjson_string_nocheckjson_stringnjson_stringjson_string_setn_nocheckjson_string_set_nocheckjson_string_setnjson_string_setjson_vsprintfjson_sprintfjson_integer_setjson_array_clearjson_array_removejson_object_iter_set_newjson_array_set_newjson_object_update_existingjson_object_update_missingjson_object_updatejson_object_setn_newjson_object_set_newjson_object_update_recursivejson_array_insert_newjson_equaljson_copyjson_deep_copyjansson_version_strjansson_version_cmp__getauxvallibgcc_s.so.1libc.so.6libjansson.so.4GLIBC_2.38GLIBC_2.17/gnu/store/3gvs8sw95ldfypr1n688svl5brwdmdi9-glibc-2.39/lib:/gnu/store/15s0pqhzbnmalr5rdx44d8jgcxfzaff5-gcc-11.4.0-lib/lib:/gnu/store/15s0pqhzbnmalr5rdx44d8jgcxfzaff5-gcc-11.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/11.4.0/../../..d (d 0P8P@HPX(`hpxxX% ( 0 8 @ H PX`hpx !"#$&' {{_{pG?    Ր@ ֐@" ֐ @B ֐@b ֐@ ֐@ ֐@ ֐@ ֐"@ ֐&@" ֐*@B ֐.@b ֐2@ ֐6@ ֐:@ ֐>@ ֐B@ ֐F@" ֐J@B ֐N@b ֐R@ ֐V@ ֐Z@ ֐^@ ֐b@ ֐f@" ֐j@B ֐n@b ֐r@ ֐v@ ֐z@ ֐~@ ֐@ { S{ p9_`G@_  Հ@!@?Ta!Ga_ր@!@!"A !AbBGb_ { `BE9@5`G@U R`B9 @{¨_       {SA @b_TbRSA{¨_d @b@RbSA{¨_  {"xZ{_{ @@PZ @{¨_  {S4@@!@k@ғsKB|@Eq`SA{¨_{S[c!ko`?@5U9#s T_ Ta`?ր4sESA[BcCkD{Ȩ_`o@ARpqAz_zT_T To@4q@TT(q`TT qT$qTA`?50qATA`q TpqTAqTA A@@A@A@Aqv$@ATqz@Ta`? 4|RkTe@@Q$RLJR*c*҂B@ohҬ!Ҁ`?SA[BcCkDsE{Ȩ_z  {S|[c#!?5*c$R5 sk Tqta?4*SA[BcC#@{Ũ_ {[7`@*@Sc7ok_qTT_qT_ qT# B@|@7@`?*SAcCkD*[B{Ө_s84_qaT#cCI*4*SA[BcCkDsE{Ө__q T_qTSA[BcCkD7@{Ө_q!7TSA[BcCkD7@{Ө;4;@@3`@?T7@*k5! ;@G7@**5G@T7@K@!`?5?@7@*F5;@9(TC@c@*5!7@`?*SAcCkDsE}SA[BcC kD7@{Ө {S(7@R ;#cC*5BX57@!`?@5yC@c@!m#> S 7|@9V_SA[BcCkD7@{Ө5 ; R` `@KT7@*587ી!GOW?7@?@ FG@`?57@*5{7@O@!`?5K@@7@*57@`!`?֠5;@C@c@b!Q?@@7@*;{/77@O@!`?4S@7@W@!`?4K@`C@c@?X5!-7@*_ 4C[|H _?GG@?@O G@B@G ?@`??@[@TીGc@[@_@ҁ!  b a@ a `@7@?oFG@`??@57@*95O@?T7@W@!`?֠5K@7@*5O@{C ?`TK@7@*S@7@[@!`?SAcCkDsE0_@ SAcCkDsE(C@c@SAcCkDsE_@ `SAcCkDcc`$a`c!`-Rwcc`$a`c! b,Rn {S[H7@@qT# 5R*@*SA[B{Ȩ_@{Sk5! 4tSA@{Ũ_} SA@{Ũ_{c!@q{è _!{Sa!**5*SA@{è_{sP{¨_ $@T{Skd2<TSA{¨cc0`> e@yc@9ey9SA{¨_p9A09_  {S*pA94SA{Ĩ_@a)` *`r`9t9SA{Ĩ_ {C#C#' )=A==#='=+=/=3= A{Ψ_   ݗRջrA ! **@` T70iT b@y0h@ye @yi@yf@yA h@xB !K A  A   pJKE hJKA `JK@ @J%KA 4JKG pJ0T$TT T(TT Tb@9!@  b@yA JHK!JT!KJ#BKJC@K!Jp!KBJ!HBKJB K_e@)0f@  K  pJKE hJKA `JK@ @J%KA 4JKG pJ0T@TH TT TT  Tb@B\A e(@90i @9b$@9h,@9<Sk@9f@9  (a j@9k=Se@9i@9B l@9f! h @9J=Sk@8B a @! !K ea     pJKE hJ KA `JK@ @J%KA 4JKG pJ0(T TH T@ThTT ATb@9!@ b@9!  ` Td@yb@ ! }( T)T,@ Te@)b@!   r T$aTe @9d@) !  haTb@9A c`Tb@9  b@9 b @9!` @ Tb@yd@yc@yA !@  Q(@ T T, Tb@yf@yd@y@ e @yb@y c@y@ A @ !@ ?( TiT,Tb,@9`  b(@9@ b$@9   T$aTb @9 b@9` b@9@  T$Tb @9 d@ye @yb@y c@yA @ !@ d@9b@ ! d@)!  b@d@c@B\ !  b@9 b@yc@yA !@ b(@9@ d@yf @yb@y e@yc@yA @ !@  e@yb@! b@c@B\ ! b@9@   {`S3@[T@Ts@`@AT`@T`@5SA[B@{Ĩ_ @TSA[B@{Ĩ_{S@[`T1 `Ts@@4@"_T)!T TSA[B{è_{a a  `@d @bb`bc Ě#`""?TR @{¨_  { `@ @{¨{c[@S @k$֚@sbBG#֚B@6 @|*:f @3`@Ta" TuRSA[BcCkDsE{ƨ_ ؚ @s b''T@! ؚ!AT@@j$T@@$|jdT@_T@@Ej$T  @T`s`Cb9 kvT@@X8k6@sE @@BRSAa[BcCkD{ƨ_$sESA[BcCkD{ƨ_B@aT@@X{ccGb@n*@ %  @@{_{ccG[b@ ScQ@* "Ԛ4 |jt@@T@Tt@ aA @T@R!ѡSA[BcC{Ĩ_ց"!TTj4bj4*{ bba@c c ""?T`b` @{¨_ {ccGb@*@ %  D@ {_   @_ _  @_   @_  {S@u@@T@tSA{è_֡"TN@tSA{è_{[uSG`@4SA[B{Ĩ_a R!PPr!T*4GSA[B{Ĩ_`߈5`߈`4`R*1@T*!T !_83 *aTCsJJqs   @hb84B"__@?T@"aha8*__{BB ?cTB B`?` TaB"`ja8b @{¨_   {Sw={===== ==C C [* CCC)cC#`9`xD)y@@9a4a"@?PTbB ?9****eХ[BcC#@{@SA _`"@"qR1`TbB`?9  {S qiT`@*`?(qT`&@a.@Q`)`@ `s`B@9kaTSA{¨_*``*@Q`*ca`c %!`R.ca`c %!R& {"@@9{¨ Z_ @9qT!Rha8lSCQe$qT` !?T_CQcdqTB\Q@ CQcdqTBQ@ _{cc %a`c@!"R{S @bC@@9#4a`@T@@9`*q!T`D)a.`)*SA{Ĩ_ca@ ?*1TQ`B9?qTF9!cCa`@T@@9`*q T*$@`*@`**SA{Ĩ_[`TxB5a@ ?k58hT%vB9`@[BbcCcC`" `"**ccR[BcCcc %a`c!@R  {Sc[ b@q@ T Փ"@5|*qT1T 1ATbSA[BcC{ƨ_*Ӛ6* `QxrTaQ?q(T  @T"7q`QIz)TbzBQ_dqT"@5N*v qT* `zQdq)TqT{ a! 5` RbbSA[BcC{ƨ_֟bSA[BcC{ƨ_ր6@U@@@94 @@ A@@95"@b*qTqT*5 *v qT*| `Q$qhT"@*@7`zRqdAz9Tq T`zqT"@5*` qT*_ `QxrT"@5*` q T*P `Q$qT"@5*v qT*A `Q$qITqhTcL @<5/@@ Rb6Ha! ~5 Rb@*C.  k`Tkcc %a`c!`R*2  kTka!\5 Rb"@5* Q$q(/T "@5*v qT* `Q$qIT"@*5o*v qT* `Q$qT*  kT5Y* qiT* qTQ$qT*  kT"@kb65<*` qT 1TccR`6@ZkD* qT~q)T6Җ( 1T1T~q T"@rqT*5*` qT* qT"@+6> @9_qT8"8b@9_qT`_pqTb@9_q@ T_qTT_q`TIT_qTRs 85* qToqmTsQ&7cRc@q`TqT"@s4@QqITcc %a`c@! B7R+6_qaTR_qT"R*% qTqTRx*7 z?qh T`@9pq T`@9q! T`i*7 z2q(T( 7C@*c 5/@"@5~*` q(TR`zsQQq`IzT"@5n*` qT* qTqaTY* BRx*  kT*qT*cRc| qT*cRc p9 RkDb6@ˁ:cRcaqTh cBR@?q`T"@/@s?T! Rb6*  kTkfSA[BcC{ƨcc %a`c! B@Rk cRc (cRc cc %a`c@! "4R*cRc cRc ecRc ]  {,@S[c, hT`@qT-Tq Tm TqT a.@!a.SA[B{Ũ_qTMTqTcF 7R cC1` Tlq! T0  `b@tqT5*"5bb@_qT`b@4@ T"TjqT q!T5cCcc@ R@T"T#@Ҟcc BRy4@4@cc RfcRc`^{(  `b@qT#@qTc-` ; bb@_qT|<@ *5*kbb@_q!Te`b@q!TwFRcC#@7cbRc cC._tq T cRcb#@cRc cCmcRccCccC_cC\_qTcC#@cRc@cCMcRccCE  {S[,7`b@xlq!T 56t`@ SA[B{è_`b@4cRc`@@T"TicRcҏ {S[a!w#B #Cc9GZ 5W@?q T` @SA[B{ͨ_c@X cRcS@  {S[ca!@5B #Cc_ 39G 5W\@?q T SA[BcC{ͨ_c@ cRc {cS`GbcBc[@aa"!G#c9 s?5O@?q T@SA[B{̨_[@ cRc@  {qccSbBa??@@7B#[#c9s?@5O@?q`T[BSA{̨_RccSA{̨_[@ [B {S[pSa!eSA[B{è_cRcb @cbRcU{[RSa!`ko4c@ !#c9s?5O^@?q@T {@SA[B@_[@ cRc   ՠa!@_  ՠa!@_  {S 0j48SA@{è_ { , @{¨  bC@@a_րbB@`@ _  {Sa*@=+*b.@+ )c@=GB`.@#='=+=/=3=7= * E`.@{SA{Ш_@@B@5@9@!4M)8@!cl8 A@9?q$IzT?qhT$E7l@)9A@9?qB_?(qTl@!cBl8!RhA@95_ D(@@_ {*S[@ck3B @9 A @ x?q @ RAzT5s- 5|{`7$<!}a@{ @9qT!{@q T@ @@ @ !5n61` T{ @9q!Ta@`@a6" b_qT`@!@ 7@R= R {b @9qT a@`@A7,!}a!{@4S @9q T B  {@ @"A " @ 5G 43@C@ RsESA[BcCkD{ɨ_b@`@7<B}b@5" b_qT`@!C cq T`@"@cac !`"R R {a@`@7<!}a@F` 43@[BSAcCkD{ɨ_cac !`"R R {O" b_qT`@!҄sE"Rcac@! R {SA[BcCkD{ɨ_cac!Rg RsE {G5cac!R R {cac!R R {s  {S[@9q`!T)TqT Tq2TqATc*;5u@BB5kRsg@9ZRq7TB4qZzTqJT@@7<!}@Kva@9?q`2TMJ5R ^g@9qT`2@36224z,ZR7R@U>F@JMHI(9qKT5B*5*<qTTlqTqAT"@AQ?qLT0@7@@77<!}@_qR qTqa T"@_q(T R*SA[B{˨_֟qT$q TA"@_ qCT0@ 7@@!67<!}@R ``2@`7@@A'7<}q TGRe@9q"T*cac!"RkDsEqcC" _q T@!H`2@7@@!7<!}@RF!0@7 @T! @`2@7@@'7<!}@cac!"Rn"@_q8T0@7@@`+7 <}3@R `"@_q5Tc}t@9ҟvq Tky9&XR ՟q44XzT*B"**a"5]t@9vqTkD`2@`6UTccaR!@cCCqTATRe@9tq+T*cac!"R cCkD/.e@9tqTkD!"@A Q?q-T0@7@@7 <}3@RK `"@_ qA'T0@7@@7<!}@R`"@_q'T`2@`7@c@ 7<!}@(`@9q Ta@a*dAa@abBdbuRcCu9R~me@9qT|" _qT@!cC`2@6U?@T kDsEDc 5caXb!@BRcac !`"RcC! ?qT9R6cac !"RqcCkD" _qLT@!@@7<!}@VuRcC|D 5cacXb!@BRJcac !"RAkDsE" _q T@!@# qT@!F*cac!"R&cCkDJcCkDF" _q T@!8" _qT@!M _q T@!  _qlT@! *CAc!"RkDsEUCAc !RkDsEKkDsEGCAc@!@"RcCkD" _qT@!vCAc`!@RkDsE(9w4ECAc!@RkDsEcCkDf*DC 5cADC 5cADC 5cAsDC 5c@ADC 5cADC 5cACcA!RcCCcA{*S@9ARqAz Tb@b*bBbdAdb@b@@C7#<c}4@5SA{¨_q`TqTSA{¨b _qT"<B}@`T"  @!#RCAc!8 R`zSA{¨_ {S[@9q@"TTlqT Tq@Tq T!@@+)7<!}/@:/A`^05+@SA[B{Ȩ_֟q T) Tq T+d@9q`TcW"kY9 d4qA)TRQz@9fAdBfc@c*c@cd`z@55w@5d@9q!TcCkD`z@4@TSA[B{Ȩ_֟$q`T"R<qATSA[B{Ȩ@qTRqTCAc!"R R`zn@@TA 7j 7@@T`z@5w@5_q TCAc`!R R`z`@9tqTcXW# bk 4fAdBfy@9c@c*c@cd?`z@`5 5`@9tqT@T"' T`z@ 5?qT R`z!@@7,!}@4SA[B{Ȩ!@@a7<!}@:CAc !`"R4 R`z"Y@9ARqAzTBB %Raz@a5w@?@5 SA[B{Ȩ!@@a 7,!} CAc !"RcCkD8A"R!` R`z#"R R`z" T҄AB@(B@B R<SA[B{ȨA"@_qLT @!d7@,`k+" _qlT@!{" _q T@!h" _qlT@!CAc!"RcCkDqT`z@5 CAc !`"R R+@`z}@T"R TCAc !R} R+@`zi{S[A@9a4(!OCO W  k@ %zcB9 5@SA[B{Ψ_A!R*E@!$SA[B{Ψ_`@Ta" `TCAc!!"R'@ {C#C#' )=A==#='=+=/=3= A{Ш_ {CC#C#+ )=A==#='=+=/=3=  As{Ѩ_{S c[`@94c!OCO S  k@@A*@5cB9A5[BcC*SA{Ψ_[BA!q**ER@!ҏ[BcCCAc!!"R[BcCA!@"U**ER`"s {C#C#' )=A==#='=+=/=3= A{Ϩ_  {C#C#+ )=A==#='=+=/=3=  Al{Ш_ { `R?9 @{¨_  { @@~ @{¨_@?9_@_  @?_{S@[@T_AT ˟(TC a @`@vd@u a @Rt?h48SA[B@{Ĩ_v@{"9{¨_@@!@ha8_h!8_R_ {S[@v@@9qTR:`9v@R` @@?aTgg baTRSA[B{Ĩ_ր@qTCA@c '!#@#R* {_q#RCBB$S[ 7|@*T@@9?qT`R9R R R@@9SA@9qTC?qTa@8?qTTbus˵@*SA[B{Ĩ_?qT@"T R38R9j58@ 7qTq T|cQQ#9C 9RC_ 9!RA_RkTkT|DL,FQ@QQQ&9R%9$9# 9F_| ,FQQQ%9R$9e#9E__rTAQ!?q TA@!?tqiTA`!?<qTB@B_q~_ _ @9?T? `T?T$?Thd8eQcf qT_ kLT qTq B`Tq CT?RAzT BF_  {SSA{Ĩ_[@9`TT@u?@sSA[B{Ĩ_SA[B{Ĩ_`@9? {S[ s_TҒ`Tjs8q`TsT RSA[B{è_RSA[B{è_ R_   {  $@G@`4!a`B 5 @{¨_Ҧ  "@B5 @__?@T@c5@_  {SASA{¨_?@T@c5@_{S(SA{¨_@@5{@R{__֠@a5@$_?@T{S@@5`BSA{¨SA{¨__@q$@`T@_@_@_ @_ _{ #R"cba~z`@ @{¨_ @{¨_t  "@_q@T_ @__ `C@qTC @?bT@@xa__  ` {?S[@AzT @q!T" @A@A?HTVA# ՂxssA B@_`T*AT@b}Ӡ@m@R@SA![B{è_B `}`@ B}W@SA[B{è__֠{SN BR!PSA{¨_SA{¨__ {S BR!PSA{¨_SA{¨__  {Sҽ`BR!PSA{¨__  {SR4SA{¨SA{¨__ `{  @{¨_"@_qAT @__  "@_q@T_ @__ {S?a@ BzTw ` @kuRR@SA{è_@ {SSA{¨_{S4SA@{èSA@{è__  {SySA{¨_{ @[SҀqkT@T|@cx@@43cCSA[B{Ȩ_@ WSA[B{Ȩ_cCSA[B{Ȩ_cC{CC#C#' )=A==#='=+=/=3= A{Ѩ_{ ҾbR! @{¨_"@_ q@T_ @__ @ qTRA__   `&T{` @`g `T @{¨_ҌR! @{¨__@/?q@T_@_/_  @@q`T`g@ amT_R _@? qT/?qT_/_{b{_@_@@_@_{SBB $[|@V@SA[B{èCSA[B{è_{@S?qTT! Q?qTSA{è4A#UxtU@"TTcAcT@SA{èSA{è_@SA{è@_{@qT@bSҠ@xsT@"T`T@s_HTSAR@{è__{S@qTb@_IT`@[6}xa@ATA?TR[BaSA{è_֡"Tb@A?ITB"`@BB}a@!nb@_{a@!5D@TR{¨_b@@TA @`TJ{S@@qDST`@iT`@[6}xa@TR[BTSA{è_֡"XTb@B!@T"J`T_{?@ `T@qd@T@?5 @{¨_`@Ta"(`T_  {[@q$@T @`5SBrm@" _@T]FNWN3SAR[B@{Ĩ__ {SSA@{è"@@TA TSA{è_  `{[@q$@T @5S @$@" _aT SAR[B{è_u_{[@q$@ T @5S@" _@TS{*B5RSA[B{è_SA[B{è__{[AS 4SA[B{èSA5@T"#T[B{è_ {SWSA@{è"@@TA TSA{è_  {c [@q$@T @5kcCcҌ*5S@" _@T54%.%)$ @5@54 +@SA[BkD*cC{Ǩ_[B[BkD {Sx5**SA@{Ǩ_B {S @qDS Tb@[_ T` @Acv@?T6 }B B}aAR[BTh7!cCaSA{Ũ_?7 }J #w `8}#`TbABB}ӂ<#@#@@T[BcC"3T[BcC@ T"%T@[BT_b@#@ {S@q$S@T`A[u@!?hTua@R"z![BbSA{è_?6 }`b@v `B}-u@@T"T[B[B@T"T_$@@T{"@S@?kT`T?q TT? qT?qT*@`'!`@ 5[T[B RSA{Ĩ_R_[B@ R%"T[T#`5[B@@o*a4 R[B`@@_ATa @ @5 R R@{[ @S? qTHT?q T?qTSAA[B{èN?qT!Q? q0SA[B{è_5 _@" _@T<kszu@SA[B{è_SA[B{è_wSA[B{èW>SA[B{è+e @ _@TrTSASA[B{è_{S`@_ q THT_q T_qTSAA{ƨ_qTBQ_ q0SA{ƨ_֢5c#ca 5@[_ *4@T#T[B#@dcCSA{ƨ_cCSA{ƨSA{ƨc#c5[`N5cT#@0[BcC![B[B@ T"DT {S`5Z3SA{ƨ_SA{ƨ_ @@$_ CR`kTRkZ_ _$PrE9p4 8_* |_0|5_ _$PrE9p4 _ _1|ȯ5__$PrE9p4 `_ |_1ȯ5_ {{_\\\"\b\f\n\r\t\/"\u%04X\u%04X\u%04X :: nulltruefalse%lld[, ]{dump.ci == sizevalue}w.../dev/urandom%s near '%s'%s near end of file%sload.cstream->buffer_pos > 0stream->buffer[stream->buffer_pos] == cstr[0] == 'u'count >= 2unable to decode byte 0x%xpremature end of inputc == dunexpected newlinecontrol character 0x%xinvalid escapeinvalid Unicode escape '%.6s'invalid Unicode '\u%04X\u%04X'invalid Unicode '\u%04X'0too big negative integertoo big integerend == saved_text + lex->saved_text.lengthreal number overflowmaximum parsing depth reached\u0000 is not allowed without JSON_ALLOW_NULstring or '}' expectedNUL byte in object key not supportedduplicate object key':' expected'}' expectedinvalid tokenunexpected token']' expected'[' or '{' expectedend of file expectedwrong argumentsrbunable to open %s: %sNULL %sInvalid UTF-8 %sCannot use '%c' on optional stringsOut of memoryExpected object, got %sExpected '}' after '%c', got '%c'Unexpected end of format stringExpected format 's', got '%c'NULL object keyObject item not found: %s, %li object item(s) left unpacked: %sExpected array, got %sExpected ']' after '%c', got '%c'Unexpected format character '%c'Array index %lu out of range%li array item(s) left unpackedExpected string, got %sNULL string argumentNULL string length argumentExpected integer, got %sExpected true or false, got %sExpected real, got %sExpected real or integer, got %sExpected null, got %sNULL objectobject keyNULL object valueUnable to add key "%s"Unable to append to arraystringInvalid floating point valueNULL or empty format stringGarbage after format stringNULL root valueobjectarrayrealstrconv.cend == strbuffer->value + strbuffer->length%.*g%p2.14 do_dumpstream_ungetdecode_unicode_escapestream_getlex_unget_unsavelex_scan_stringlex_scan_number{[siIbfFOonjsonp_strtod;x0%  (4xXp<xxp<  L p < h H   lX  x  hh   X   ( < P d     h$ x    hDx)8.x8/8081,H2xX34850X5Dx5X55 68667 8<XHxIhPQ(R8RXTTUXUU@UTUhU|VVVWY`YthZ8[[\ ]D<]Xh]l]] ^<^X^^,^@^T^h_|___`HA CK A (4>0A BHL@>`<>t8>04>A@BEh A > A F>(,>A@BBd A D$?\A@GBHmDA@Ql@AhADBA@BE A AV AA D AA 8BB0BCZ A D ,pCxA CP A PC$dC$ xC@B BID$  D@B BI Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. )))))))))