From 77d36d0620652b97a2933be056072b3ea8b7099a Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:01:56 -0500 Subject: [PATCH 01/35] initial updating MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit note that xml has minimal diff. only change in html is `\SI{1e-#}{}` went from `10-#` to `10#` --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2388 ++++++++++++++++++++----- t/complex/si.pdf | Bin 163501 -> 172998 bytes t/complex/si.tex | 2 +- t/complex/si.xml | 820 ++++----- 4 files changed, 2318 insertions(+), 892 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index b6173b4dbc..ba9e1359d4 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -14,20 +14,136 @@ package LaTeXML::Package::Pool; use strict; use warnings; use LaTeXML::Package; +use LaTeXML::Core::Box; +use Math::Trig qw(:radial :pi deg2rad rad2deg); + +use Data::Dumper; + +# siunitx version 3 was released in May 2021. I'm not sure which is in GitHub's TeXLive 2021 +my $FMT_YEAR = Expand(T_CS('\fmtversion'))->toString; +$FMT_YEAR =~ s/\D.*//; +my $VERSION_TWO = 1; # ( $FMT_YEAR < 2021 ); # or 2022? +# or it was loaded with [=v2] or [=2021-04-09], once issue #2719 is fixed +# differences are tested in v2 and v3 files + +# In fact, the input-separators can only be changed in the package's load phase +my @PREAMBLE_SETTINGS = qw( list-input-separator product-input-separator table-column-type ); + +# A meta setting sets other settings. Look for `.meta:n` in `siunitx.sty` to find them +my %META_SETTING = ( + 'color' => ['number-color', 'unit-color'], + 'digit-group-size' => ['digit-group-first-size', 'digit-group-other-size'], + 'mode' => ['number-mode', 'unit-mode'], + 'per-mode' => ['display-per-mode', 'inline-per-mode'], + 'print-implicit-plus' => ['print-mantissa-implicit-plus', 'print-exponent-implicit-plus'], + 'table-alignment' => ['table-number-alignment', 'table-text-alignment'], + # we also use this for synonym keys + 'add-integer-zero' => ['print-zero-integer'], + 'print-zero-integer' => ['add-integer-zero'], + 'drop-uncertainty' => ['omit-uncertainty'], + 'omit-uncertainty' => ['drop-uncertainty'], + 'bracket-ambiguous-numbers' => ['bracket-numbers'], + 'bracket-numbers' => ['bracket-ambiguous-numbers'], + 'add-arc-degree-zero' => ['fill-angle-degrees'], + 'add-arc-minute-zero' => ['fill-angle-minutes'], + 'add-arc-second-zero' => ['fill-angle-seconds'], + 'fill-angle-degrees' => ['add-arc-degree-zero'], + 'fill-angle-minutes' => ['add-arc-minute-zero'], + 'fill-angle-seconds' => ['add-arc-second-zero'], + 'print-unity-mantissa' => ['retain-unity-mantissa'], + 'retain-unity-mantissa' => ['print-unity-mantissa'], + 'print-zero-exponent' => ['retain-zero-exponent'], + 'retain-zero-exponent' => ['print-zero-exponent'], + 'product-symbol' => ['output-product'], + 'output-product' => ['product-symbol'], + 'quantity-product' => ['number-unit-product'], + 'number-unit-product' => ['quantity-product'], + 'multi-part-units' => ['separate-uncertainty-units'], + 'separate-uncertainty-units' => ['multi-part-units'], + 'table-align-text-before' => ['table-align-text-pre'], + 'table-align-text-pre' => ['table-align-text-before'], + 'table-align-text-after' => ['table-align-text-post'], + 'table-align-text-post' => ['table-align-text-after'], +); + +my %ANTONYM = ( + 'drop-zero-decimal' => 'add-decimal-zero', + 'add-decimal-zero' => 'drop-zero-decimal' +); + +# choice settings only allow a fixed set of options. Look for `.choices:nn` and `.choice:` in `siunitx.sty` +my %CHOICE_SETTING = ( + # These come from .choices:nn + 'display-per-mode' => [ + 'fraction', 'power', 'power-positive-first', 'repeated-symbol', 'symbol', 'single-symbol'], + 'exponent-mode' => ['engineering', 'fixed', 'input', 'scientific', 'threshold'], + 'inline-per-mode' => [ + 'fraction', 'power', 'power-positive-first', 'repeated-symbol', 'symbol', 'single-symbol'], + 'list-exponents' => ['combine', 'combine-bracket', 'individual'], + 'list-units' => ['bracket', 'brackets', 'independent', 'repeat', 'single'], + 'number-mode' => ['match', 'math', 'text'], + 'prefix-mode' => ['combine-exponent', 'extract-exponent', 'input'], + 'product-exponents' => ['combine', 'combine-bracket', 'individual'], + 'product-units' => [ +'bracket', 'brackets', 'bracket-power', 'brackets-power', 'independent', 'power', 'repeat', 'single'], + 'qualifier-mode' => ['bracket', 'brackets', 'combine', 'phrase', 'space', 'subscript', 'text'], + 'range-exponents' => ['combine', 'combine-bracket', 'individual'], + 'range-units' => ['bracket', 'brackets', 'independent', 'repeat', 'single'], + 'round-direction' => ['down', 'nearest', 'up'], + 'round-mode' => ['figures', 'none', 'places', 'uncertainty'], + 'table-alignment-mode' => ['none', 'format', 'marker'], + 'table-number-alignment' => ['center', 'left', 'right'], + 'table-text-alignment' => ['center', 'left', 'right', 'none'], + 'uncertainty-descriptor-mode' => ['bracket', 'bracket-separator', 'separator', 'subscript'], + 'uncertainty-mode' => ['compact', 'compact-marker', 'full', 'separate'], + 'uncertainty-round-direction' => ['down', 'nearest', 'up'], + 'unit-mode' => ['match', 'math', 'text'], + # These come from .choice: (this is also used for deprecated boolean options) + 'angle-mode' => ['arc', 'decimal', 'input'], + 'complex-angle-unit' => ['degrees', 'radians'], + 'complex-mode' => ['cartesian', 'polar', 'input'], + 'complex-root-position' => ['after-number', 'before-number'], + 'compound-boundary-mode' => ['number', 'text'], + 'compound-exponents' => ['combine', 'combine-bracket', 'individual'], + 'compound-separator-mode' => ['number', 'text'], + 'compound-units' => ['bracket', 'bracket-power', 'power', 'repeat', 'single'], + 'group-digits' => ['all', 'decimal', 'integer', 'none', 'true', 'false'], + 'multi-part-units' => ['brackets', 'repeat', 'single', 'true'], # deprecated in v3 + 'product-mode' => ['phrase', 'symbol'], + 'round-half' => ['even', 'up'], + 'separate-uncertainty-units' => ['bracket', 'repeat', 'single'], + 'scientific-notation' => ['engineering', 'fixed', 'false', 'true'] # deprecated in v3 +); + +my %LOCALE = ( + BR => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '{,}' }, + DE => { 'exponent-product' => '\cdot', 'inter-unit-product' => '\,', 'output-decimal-marker' => '{,}' }, + FR => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '{,}' }, + IT => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '{,}' }, + PL => { 'exponent-product' => '\cdot', 'inter-unit-product' => '\cdot', 'output-decimal-marker' => '{,}' }, + SI => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '{,}' }, + UK => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '.' }, + US => { 'exponent-product' => '\times', 'inter-unit-product' => '\,', 'output-decimal-marker' => '.' }, + ZA => { 'exponent-product' => '\times', 'inter-unit-product' => '\cdot', 'output-decimal-marker' => '{,}' } +); #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #====================================================================== # TODO: -# * rounding options for number formatting # * Semantics! should be possible to directly construct XMDual's for these # without invoking the MathParser at all. -# * table alignments! +# * table alignments? #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #====================================================================== -# recent siunitx have an expectation for latex3 capability. -RequirePackage('expl3'); -# Would be nice if we could load the package (without errors!), + +# Would be nice if we could load the package (without errors!): +# InputDefinitions('siunitx', type=>'sty', noltxml => 1); # in order to pick up all the unit definitions! +# But siunitx runs into strange errors in a file I cannot locate: +# the first error occurs at the last line of siunitx.sty, +# and subsequent errors occur at subsequent (non-existent?) lines +# see issue #2747 + RequirePackage('xcolor'); RequirePackage('amstext'); RequirePackage('array'); @@ -40,51 +156,129 @@ foreach my $key (qw( free-standing-units overwrite-functions bracket-numbers detect-family detect-italic detect-mode detect-shape detect-weight multi-part-units parse-numbers - parse-units product-units copy-complex-root copy-decimal-marker - bracket-negative-numbers bracket-numbers - separate-uncertainty tight-spacing - retain-explicit-plus add-decimal-zero add-integer-zero + bracket-numbers + separate-uncertainty + retain-explicit-decimal-marker retain-explicit-plus add-decimal-zero add-integer-zero retain-unity-mantissa retain-zero-exponent omit-uncertainty add-arc-degree-zero add-arc-minute-zero add-arc-second-zero angle-symbol-over-decimal - sticky-per prefixes-as-symbols + prefixes-as-symbols + retain-zero-uncertainty retain-negative-zero + + propagate-math-font reset-math-version reset-text-family reset-text-series reset-text-shape text-family-to-math text-series-to-math + evaluate-expression + drop-exponent drop-uncertainty drop-zero-decimal round-pad round-zero-positive + bracket-ambiguous-numbers bracket-negative-numbers print-exponent-implicit-plus print-implicit-plus print-mantissa-implicit-plus + print-unity-mantissa print-zero-exponent print-zero-integer simplify-uncertainty tight-spacing zero-decimal-as-symbol + exponent-to-prefix list-independent-prefix product-independent-prefix range-independent-prefix + print-complex-unity + angle-symbol-over-decimal fill-angle-degrees fill-angle-minutes fill-angle-seconds + free-standing-units overwrite-command space-before-unit unit-optional-argument use-xspace + bracket-unit-denominator forbid-literal-units parse-units power-half-as-sqrt sticky-per + allow-quantity-breaks extract-mass-in-kilograms + table-align-comparator table-align-exponent table-align-text-after table-align-text-before table-align-uncertainty table-auto-round table-fixed-width )) { DefKeyVal('SIX', $key, '', 'true'); } +# despite setting the $default to 'true', siunitx will treat the default as false +# we'll set things to true at the end sub six_get { - my ($key) = @_; - return LookupValue('SIX_' . ToString($key)); } + my (@keys) = @_; + foreach my $key (@keys) { + if (my $v = LookupValue('SIX_' . ToString($key))) { + return $v; } } + return; } # And should probably trim spaces off the values... sub six_getBool { - my ($key) = @_; - my $v = LookupValue('SIX_' . ToString($key)); - return unless defined $v; - $v = ToString($v); $v =~ s/^\s+//; $v =~ s/\s+$//; - return $v eq 'true'; } - -# Should really figure out how Choice keyvals are set up. + my (@keys) = @_; + foreach my $key (@keys) { + my $v = LookupValue('SIX_' . ToString($key)); + if (defined $v) { + $v = ToString($v); $v =~ s/^\s+//; $v =~ s/\s+$//; + return $v eq 'true'; } } + return 0; } # a key / value wasn't found. return false + # (setting keys without values to true happens because of key / value stuff) + +# choice key vals are checked on setting in six_setup sub six_getChoice { - my ($key) = @_; - my $v = LookupValue('SIX_' . ToString($key)); - $v = $v && ToString($v); - $v =~ s/^\s*//; $v =~ s/\s*$//; - return $v; } + my (@keys) = @_; + foreach my $key (@keys) { + if (my $v = LookupValue('SIX_' . ToString($key))) { + $v = $v && ToString($v); + $v =~ s/^\s*//; $v =~ s/\s*$//; + return $v; } } + Fatal('expected', 'keys', undef, "No values found for choices @keys."); + return; } # Various operators, punctuation, etc, are given in text mode. +# even \times? sub six_get_op { - my ($kv, $key) = @_; - my $text = six_get($key); - return I_wrap($kv, ($text ? Tokens(T_CS('\text'), T_BEGIN, $text, T_END) : ())); } + my ($kv, @keys) = @_; + foreach my $key (@keys) { + if (my $text = six_get($key)) { + return I_wrap($kv, Tokens(T_CS('\text'), T_BEGIN, $text, T_END)); } } + return I_wrap($kv, ()); } sub six_setup { my ($kv) = @_; - my $hash = $kv->getKeyVals; - foreach my $key (keys %$hash) { - my $value = $kv->getValue($key); - AssignValue('SIX_' . $key => $value); } + my @keyVals; + # because %META_SETTING (and table-format) can change other settings (see siunitx#841), + # we can't use the usual $kv->getKeyVals because the hash is randomly ordered + my @orderedKV = $kv->getPairs; + while (@orderedKV) { + my $key = shift(@orderedKV); + my $val = shift(@orderedKV); + push(@keyVals, [$key, $val]); } + foreach my $keyVal (@keyVals) { + my $key = $$keyVal[0]; + next if ((grep { $_ eq $key } @PREAMBLE_SETTINGS) and not LookupValue('inPreamble')); + #my $value = $kv->getValue($key); + my $value = $$keyVal[1]; + if ($key eq 'locale') { + if ($LOCALE{ $value->toString }) { + while (my ($lkey, $lval) = each %{ $LOCALE{ $value->toString } }) { + AssignValue('SIX_' . $lkey => Tokenize($lval)); } } + else { + Error('unexpected', $value, undef, "Key 'siunitx/locale' accepts only a fixed set of choices"); } } + elsif ($key eq 'table-format') { + six_setup_table_format($value); } + else { + AssignValue('SIX_' . $key => $value); } + if ($META_SETTING{$key}) { + foreach my $subkey (@{ $META_SETTING{$key} }) { + AssignValue('SIX_' . $subkey => $value); } } + if ($ANTONYM{$key}) { + AssignValue('SIX_' . $ANTONYM{$key} => Tokenize($value->ToString eq 'true' ? 'false' : 'true')); } + if ($CHOICE_SETTING{$key}) { + unless (grep { $_ eq $value->toString } @{ $CHOICE_SETTING{$key} }) { + Error('unexpected', $value, undef, "Key 'siunitx/$key' accepts only a fixed set of choices"); } } } + return; } + +# build the table format by decomposing the parsed table-format value +# these were explicit options in v2, but removed for just table-format in v3 +# we'll store the consequences of the table-format key in the keys used in v2 +sub six_setup_table_format { + my ($tokens) = @_; + my @tokens = $tokens->unlist; + my ($pre, $post); + ($pre, @tokens) = six_peel_group(@tokens); + ($post, @tokens) = six_peel_tail_group(@tokens); + AssignValue('SIX_table-space-text-pre' => ($pre || '')); + AssignValue('SIX_table-space-text-post' => ($post || '')); + # set the defaults + AssignValue('SIX_table-comparator' => Tokenize('false')); + AssignValue('SIX_table-sign-exponent' => Tokenize('false')); + AssignValue('SIX_table-figures-exponent' => T_LETTER(0)); + AssignValue('SIX_table-figures-uncertainty' => T_LETTER(0)); + # then parse the format + six_parse_number(undef, Tokens(@tokens), 1); + # setting table-format resets these + AssignValue('SIX_table-alignment-mode' => Tokenize('format')); + AssignValue('SIX_table-number-alignment' => Tokenize('center')); +# AssignValue('SIX_table-number-alignment' => Tokenize('center' . ( $VERSION_TWO ? '-decimal-marker' : '' ) ) ); return; } # These two should be wrapped around macros that process arguments; @@ -108,6 +302,8 @@ sub six_end_processing { DefPrimitive('\sisetup RequiredKeyVals:SIX', sub { six_setup($_[1]); }); DefMacro('\ProvidesExplFile{}{}{}{}', ''); +# without this, we end up in expl syntax for some reason + DefPrimitiveI('\lx@six@initialize', undef, sub { my $pkgoptions = LookupValue('opt@siunitx.sty'); my $setup = $pkgoptions && Tokenize('\sisetup{' . join(',', map { $_ } @$pkgoptions) . '}'); @@ -125,6 +321,29 @@ DefPrimitiveI('\lx@six@initialize', undef, sub { InputDefinitions('siunitx-binary', type => 'cfg', noltxml => 1); } if (six_getBool('free-standing-units')) { six_enableUnitMacros(six_getBool('overwrite-functions')); } + # the table-column-type setting (default S) can be changed in the preamble, + # so we'll read it after that point to actually set up the columns + my $tableColHeaders = six_get('table-column-type')->toString; + foreach my $tableColHeader (split(//, $tableColHeaders)) { + DefColumnType("$tableColHeader OptionalKeyVals:SIX", sub { + my ($gullet, $kv) = @_; + my $align = 'center'; + if ($kv) { + my $mode = ($kv->getValue('table-alignment-mode') || six_get('table-alignment-mode') || '')->ToString; + # this doesn't quite work - might need table-text-alignment or table-alignment + # but we won't know that until we've parsed the cell, at which point it's too late to change the alignment? + if ($mode eq 'format' || $mode eq 'none' || $kv->hasKey('table-number-alignment')) { + $align = ($kv->getValue('table-number-alignment') || six_get('table-number-alignment') || '')->ToString; } + elsif ($mode eq 'marker') { + $align = 'char:' . six_get('output-decimal-marker')->ToString; } } + $align = 'left'; # todo upgrade + $LaTeXML::BUILD_TEMPLATE->addColumn( + before => Tokens(T_BEGIN, + T_CS('\lx@si@column@prep'), ($kv ? (T_OTHER('['), $kv->revert(), T_OTHER(']')) : ()), + T_CS('\lx@SI@column@parse')), + align => $align, + after => Tokens(T_CS('\lx@si@column@end'), T_END)); + return; }); } return; }); AtBeginDocument('\lx@six@initialize'); @@ -176,12 +395,9 @@ DefMathI('\SIUnitSymbolMicro', undef, UTF(0xB5)); # input-close-uncertainty, input-comparators, input-complex-roots, # input-decimal-markers, input-digits, input-exponent-markers, # input-open-uncertainty, input-protect-tokens, input-signs, input-uncertainty-signs, -# input-symbols, parse-numbers +# input-symbols, parse-numbers, input-ignore # Also options for multi-part numbers: # input-product, input-quotient - -# Not yet handled: -# input-ignore #====================================================================== # Low-level parsing aids. @@ -197,14 +413,18 @@ sub six_match_keys { my ($tokens, @sixkeys) = @_; # Skip spaces... # Remove & return all tokens matching one of the sets @sixkeys - my @tomatch = (T_SPACE, map { @{ six_get($_) || [] } } @sixkeys); - my @matched = (); + my @tomatch = (map { @{ six_get($_) || [] } } @sixkeys); + my @toignore = (T_SPACE, @{ six_get('input-ignore') || [] }); + my @matched = (); my $t; while (($t = $$tokens[0]) - && grep { scalar(@$tokens) && $t->equals($_) } @tomatch) { + && ((grep { scalar(@$tokens) && $t->toString eq $_->toString } @tomatch) + || (grep { scalar(@$tokens) && $t->toString eq $_->toString } @toignore))) { shift(@$tokens); - push(@matched, $t) unless $t->equals(T_SPACE); - push(@matched, T_SPACE) if $t->getCatcode == CC_CS; } + unless (grep { scalar(@$tokens) && $t->toString eq $_->toString } @toignore) { + # this means that ignore overrides match + push(@matched, $t); + push(@matched, T_SPACE) if $t->getCatcode == CC_CS; } } return (@matched ? Tokens(@matched) : undef); } sub six_match_sign { @@ -213,44 +433,64 @@ sub six_match_sign { # Match (and REMOVE!) leading tokens that fit the pattern of simplenumber sub six_match_simplenumber { - my ($tokens) = @_; - my $sign = six_match_sign($tokens); - my $integer = six_match_keys($tokens, 'input-digits', 'input-symbols'); + my ($tokens, $is_table_formatter) = @_; + my $sign = six_match_sign($tokens); + my $integer = six_match_keys($tokens, 'input-digits', 'input-symbols'); my ($decimal, $fraction); if ($decimal = six_match_keys($tokens, 'input-decimal-markers')) { $fraction = six_match_keys($tokens, 'input-digits', 'input-symbols'); } + if ($is_table_formatter) { + AssignValue('SIX_table-sign-mantissa' => Tokenize($sign ? 'true' : 'false')); + AssignValue('SIX_table-figures-integer' => $integer || Tokenize(0)); + AssignValue('SIX_table-figures-decimal' => $fraction || Tokenize(0)); + return; } return ($sign || $integer || $decimal || $fraction ? { sign => $sign, integer => $integer, decimal => $decimal, fraction => $fraction } : undef); } sub six_match_uncertainnumber { - my ($tokens) = @_; - my $number = six_match_simplenumber($tokens); - my $uncertainty; - if (my $sign = six_match_keys($tokens, 'input-uncertainty-signs')) { - # \pm form ('separate') allows decimal! (ie. has the same point as the main number) + my ($tokens, $is_table_formatter) = @_; + my $number = six_match_simplenumber($tokens, $is_table_formatter); + my (@uncertainties, $uncertaintySign); + while ($uncertaintySign = six_match_keys($tokens, 'input-uncertainty-signs', 'input-open-uncertainty')) { + if (my $whoops = six_match_keys($tokens, 'input-complex-roots')) { + # Whoops, really should be complex!!!! + unshift(@$tokens, map { $_ ? $_->unlist : () } $uncertaintySign, $whoops); + last; } my ($int, $dec, $frac); $int = six_match_keys($tokens, 'input-digits', 'input-symbols'); + if ($is_table_formatter) { + AssignValue('SIX_table-figures-uncertainty' => $int); + return; } if ($dec = six_match_keys($tokens, 'input-decimal-markers')) { $frac = six_match_keys($tokens, 'input-digits', 'input-symbols'); } # Ambiguous: # \pm # is uncertainty unless followed by i, in which case complex! - if (my $whoops = six_match_keys($tokens, 'input-decimal-markers', 'input-complex-roots')) { + if (my $whoops = six_match_keys($tokens, 'input-complex-roots')) { # Whoops, really should be complex!!!! - unshift(@$tokens, map { $_ ? $_->unlist : () } $sign, $int, $dec, $frac, $whoops); } + unshift(@$tokens, map { $_ ? $_->unlist : () } $uncertaintySign, $int, $dec, $frac, $whoops); + last; } + my %uncertainty = (integer => $int, decimal => $dec, fraction => $frac); + if ($uncertaintySign->equals(six_get('input-open-uncertainty'))) { + if (six_match_keys($tokens, 'input-uncertainty-divider')) { + my ($aint, $adec, $afrac); + $aint = six_match_keys($tokens, 'input-digits', 'input-symbols'); + if ($adec = six_match_keys($tokens, 'input-decimal-markers')) { + $afrac = six_match_keys($tokens, 'input-digits', 'input-symbols'); } + %uncertainty = (%uncertainty, ainteger => $aint, adecimal => $adec, afraction => $afrac); } + six_match_keys($tokens, 'input-close-uncertainty'); } else { - $uncertainty = { sign => $sign, integer => $int, decimal => $dec, fraction => $frac }; } } - elsif (six_match_keys($tokens, 'input-open-uncertainty')) { - # Parenthesized ONLY allows digits (ie. in the same positions as the last digits of the number) - $uncertainty = { integer => six_match_keys($tokens, 'input-digits', 'input-symbols') }; - six_match_keys($tokens, 'input-close-uncertainty'); } - return - ($uncertainty ? { operator => 'uncertain', arg1 => $number, arg2 => $uncertainty } : $number); } + $uncertainty{sign} = $uncertaintySign; } + if (!is_explicit_zero(\%uncertainty) || $uncertainty{ainteger} || six_getBool('retain-zero-uncertainty')) { + push(@uncertainties, \%uncertainty); } } + return scalar(@uncertainties) + ? { operator => 'uncertain', arg1 => $number, arg2 => \@uncertainties } + : $number; } # Parse a Complex number, possibly with Exponential (see above) sub six_match_complexnumber { - my ($tokens) = @_; - my $number = six_match_uncertainnumber($tokens); + my ($tokens, $is_table_formatter) = @_; + my $number = six_match_uncertainnumber($tokens, $is_table_formatter); if (my $i = six_match_keys($tokens, 'input-complex-roots')) { # pure imaginary! my $sign = $$number{sign}; $$number{sign} = undef; # Make sign "infix" $number = { operator => 'complex', symbol => $i, sign => $sign, arg2 => $number }; } @@ -258,52 +498,65 @@ sub six_match_complexnumber { elsif (my $sign = six_match_sign($tokens)) { # Imaginary part my ($i, $imag); if ((($i = six_match_keys($tokens, 'input-complex-roots')) - && ($imag = six_match_uncertainnumber($tokens))) + && ($imag = six_match_uncertainnumber($tokens) || { integer => T_OTHER('1') })) # watch for 1+i || (($imag = six_match_uncertainnumber($tokens)) && ($i = six_match_keys($tokens, 'input-complex-roots')))) { - $number = { operator => 'complex', arg1 => $number, symbol => $i, sign => $sign, arg2 => $imag }; } + $$imag{sign} = $sign; + $number = { operator => 'complex', arg1 => $number, symbol => $i, arg2 => $imag }; } else { Error('unexpected', 'sign', undef, "expected to find complex number"); } } + elsif (six_match_keys($tokens, 'complex-angle-separator')) { + my $imag_angle = six_match_uncertainnumber($tokens); + $number = { operator => 'complex', arg1 => $number, arg2 => $imag_angle, input_form => 'polar' }; } return $number; } sub six_match_scinumber { - my ($tokens) = @_; - my $number = six_match_complexnumber($tokens); + my ($tokens, $is_table_formatter) = @_; + my $sign_mantissa = six_match_sign($tokens); + my $number = six_match_complexnumber($tokens, $is_table_formatter); # Now check if followed by exponent if (my $mark = six_match_keys($tokens, 'input-exponent-markers')) { - my $sign = six_match_sign($tokens); - my $exp = six_match_keys($tokens, 'input-digits', 'input-symbols'); + my $sign_exponent = six_match_sign($tokens); + my $exp = six_match_keys($tokens, 'input-digits', 'input-symbols'); + if ($is_table_formatter) { + AssignValue('SIX_table-sign-exponent' => Tokenize($sign_exponent ? 'true' : 'false')); + AssignValue('SIX_table-figures-exponent' => $exp); + return; } $number = { operator => 'exponent', arg1 => $number, - arg2 => { sign => $sign, integer => $exp } }; } + arg2 => { sign => $sign_exponent, integer => $exp } }; } + $$number{sign} = $sign_mantissa if ($sign_mantissa); return $number; } sub six_match_compoundnumber { - my ($tokens) = @_; - if (my $comp = six_match_keys($tokens, 'input-comparators')) { - return { operator => 'comparator', comparator => $comp, arg1 => six_match_number($tokens) }; } + my ($tokens, $is_table_formatter) = @_; + my $comp = six_match_keys($tokens, 'input-comparators'); + if ($is_table_formatter) { + AssignValue('SIX_table-comparator' => Tokenize('true')) if ($comp); + six_match_scinumber($tokens, $is_table_formatter); + return; } + if ($comp) { + return { operator => 'comparator', comparator => $comp, arg1 => six_match_scinumber($tokens) }; } else { my $number = six_match_scinumber($tokens); while (1) { - my $op; - if ($op = six_match_keys($tokens, 'input-product')) { + if (six_match_keys($tokens, 'input-product') || six_match_keys($tokens, 'product-input-separator')) { $number = { operator => 'product', arg1 => $number, arg2 => six_match_scinumber($tokens) }; } - elsif ($op = six_match_keys($tokens, 'input-quotient')) { + elsif (six_match_keys($tokens, 'input-quotient')) { $number = { operator => 'quotient', arg1 => $number, arg2 => six_match_scinumber($tokens) }; } else { return $number; } } - return $number; } } # never gets here... + Fatal('internal', undef, undef, 'This point should not be reached'); + return $number; } } sub six_match_number { - my ($tokens) = @_; - return six_match_compoundnumber($tokens); } + my ($tokens, $is_table_formatter) = @_; + return six_match_compoundnumber($tokens, $is_table_formatter); } #====================================================================== # Post-processing numbers +# round-half, round-minimum, round-mode, round-precision # Options NOT YET HANDLED: -# fixed-exponent, -# minimum-integer-digits, retain-unity-mantissa -# round-half, round-integer-to-decimal, round-minimum -# round-mode, round-precision, scientific-notation, zero-decimal-to-integer +# round-integer-to-decimal, scientific-notation, zero-decimal-to-integer sub six_postprocess { my ($number) = @_; @@ -313,15 +566,77 @@ sub six_postprocess_aux { my ($number) = @_; if (!$number) { } elsif (my $op = $$number{operator}) { - $$number{arg1} = six_postprocess_aux($$number{arg1}); - $$number{arg2} = six_postprocess_aux($$number{arg2}); } + if ($op eq 'uncertain') { + if (six_getBool('drop-uncertainty')) { + $$number{sign} ||= $$number{arg1}->{sign}; + $number = $$number{arg1}; } + else { + $$number{arg2} = [map { six_postprocess_aux($_) } @{ $$number{arg2} }]; } } + elsif ($op eq 'exponent') { + my $exponentMode = six_getChoice('exponent-mode'); + if ($exponentMode ne 'input') { + $$number{arg1}->{decimal} ||= six_get('output-decimal-marker'); + my @intTokens = $$number{arg1}->{integer} && $$number{arg1}->{integer}->can('unlist') ? $$number{arg1}->{integer}->unlist : Tokens(); + my @fracTokens = $$number{arg1}->{fraction} && $$number{arg1}->{fraction}->can('unlist') ? $$number{arg1}->{fraction}->unlist : Tokens(); + my $parsedExp = six_UnTeX($$number{arg2}) || 0; + if ($exponentMode eq 'fixed') { + my $fixedExponent = six_get('fixed-exponent')->toString; + $$number{arg1} = six_get_number_with_sci_exp($number, $fixedExponent); + $parsedExp = $fixedExponent; } + else { + # we don't want to use six_get_number_with_sci_exp because that drops the exponent + while (1 < @intTokens && !number_is_zero([@intTokens[0 .. $#intTokens - 1]])) { + unshift(@fracTokens, pop(@intTokens)); + $parsedExp++; } + while (number_is_zero(\@intTokens) && !number_is_zero(\@fracTokens)) { + push(@intTokens, shift(@fracTokens)); + $parsedExp--; } + if ($exponentMode eq 'engineering') { + while ($parsedExp % 3) { + push(@intTokens, (shift(@fracTokens) || T_OTHER('0'))); + $parsedExp--; } } + elsif ($exponentMode eq 'threshold') { + my $tokens = six_get('exponent-thresholds')->clone; + my $lowerThreshold = ToString(six_match_keys($tokens, 'input-digits', 'input-signs')); + six_match_keys($tokens, 'exponent-threshold-separator'); + my $upperThreshold = ToString(six_match_keys($tokens, 'input-digits')); + if ($lowerThreshold < $parsedExp && $parsedExp < $upperThreshold) { + while (0 < $parsedExp) { + push(@intTokens, (shift(@fracTokens) || T_OTHER('0'))); + $parsedExp--; } + while ($parsedExp < 0) { + unshift(@fracTokens, (pop(@intTokens) || T_OTHER('0'))); + $parsedExp++; } } } + $$number{arg1}->{integer} = Tokens(@intTokens); + $$number{arg1}->{fraction} = Tokens(@fracTokens); } + $$number{arg2} = six_parse_number(undef, Tokenize($parsedExp)); } + if (six_getBool('drop-exponent')) { + if ($$number{arg2} && $$number{arg2}{integer}) { + # mimic an siunitx warning + Warn('expected', undef, undef, 'Potentially ambiguous dropping of exponent'); } + $$number{sign} ||= $$number{arg1}->{sign}; + $number = six_postprocess_aux($$number{arg1}); } + $$number{arg2} = six_postprocess_aux($$number{arg2}); } + else { + $$number{arg1} = six_postprocess_aux($$number{arg1}); } } else { if (six_getBool('add-decimal-zero') && $$number{decimal} && !$$number{fraction}) { - $$number{fraction} = T_OTHER('0'); } + $$number{fraction} = Tokenize(0); } if (six_getBool('add-integer-zero') && $$number{decimal} && !$$number{integer}) { - $$number{integer} = T_OTHER('0'); } + $$number{integer} = Tokenize(0); } if (my $s = !$$number{sign} && six_get('explicit-sign')) { $$number{sign} = $s; } } + #six_round($number) if six_getBool('parse-numbers'); # todo upgrade + while ($$number{fraction} && @{ $$number{fraction} } + && $$number{fraction}->[-1]->equals(T_OTHER('0')) && six_getBool('drop-zero-decimal')) { + pop(@{ $$number{fraction} }); } + if ($$number{integer} && $$number{fraction} && @{ $$number{fraction} } + && number_is_zero(@{ $$number{fraction} }) && six_getBool('zero-decimal-to-integer')) { + delete $$number{fraction}; } + while ($$number{fraction} && @{ $$number{fraction} } < six_get('minimum-decimal-digits')->toString) { + push(@{ $$number{fraction} }, T_OTHER('0')); } + # while ( $$number{integer} && @{$$number{integer}} < six_get('minimum-integer-digits')->toString) { + # unshift(@{$$number{integer}}, T_OTHER('0')); } # todo upgrade return $number; } # Given an uncertain number whose uncertainty is not separate (ie. it is relative) @@ -331,24 +646,37 @@ sub six_compute_separate_uncertainty { my $number = $$uncertain{arg1}; my $uncertainty = $$uncertain{arg2}; my $num = $$uncertainty{integer}; + my $anum = $$uncertainty{ainteger}; return $uncertainty if $$uncertainty{sign}; # Has sign? already separate + if ($$uncertainty{decimal}) { # Has decimal? Use that + $$uncertainty{decimal} = six_get('output-decimal-marker'); + $$uncertainty{sign} = T_CS('\pm'); + return $uncertainty; } my @dig = $num->unlist; + my @adig = $anum && $anum->unlist; my $n = scalar(@dig); my $ndigits = ($$number{fraction} ? scalar($$number{fraction}->unlist) : 0); + my %returned = (sign => T_CS('\pm'), decimal => six_get('output-decimal-marker')); if ($n <= $ndigits) { for (my $i = $n ; $i < $ndigits ; $i++) { - unshift(@dig, T_OTHER('0')); } - return { sign => T_CS('\pm'), - integer => T_OTHER('0'), decimal => six_get('output-decimal-marker'), - fraction => Tokens(@dig) }; } + unshift(@dig, T_OTHER('0')); + if ($anum) { + unshift(@adig, T_OTHER('0')); } } + @returned{ 'integer', 'fraction' } = (T_OTHER('0'), Tokens(@dig)); + if ($anum) { + @returned{ 'ainteger', 'afraction' } = (T_OTHER('0'), Tokens(@adig)); } } else { - my @man = (); + my @man = (); + my @aman = (); for (my $i = $n ; $i > $ndigits ; $i--) { - push(@man, shift(@dig)); } - return { sign => T_CS('\pm'), - integer => Tokens(@man), decimal => six_get('output-decimal-marker'), - fraction => Tokens(@dig) }; } } + push(@man, shift(@dig)); + if ($anum) { + push(@aman, shift(@adig)); } } + @returned{ 'integer', 'fraction' } = (Tokens(@man), Tokens(@dig)); + if ($anum) { + @returned{ 'ainteger', 'afraction' } = (Tokens(@aman), Tokens(@adig)); } } + return \%returned; } sub six_compute_relative_uncertainty { my ($uncertain) = @_; @@ -390,42 +718,83 @@ sub six_apply_mathligatures { my $repl; if (@tokens && ($repl = $six_mathligatures{ $t->getCSName }{ $tokens[0]->getCSName })) { shift(@tokens); push(@r, $repl); } - elsif ($t->getCatcode == CC_COMMENT) { } else { push(@r, $t); } } return @r; } +sub six_compute_separate_uncertainties { + my ($number) = @_; + my $arg1 = $$number{arg1}; + my $arg2 = $$number{arg2}; + my @uncertainties; + my $fake_number = { + arg1 => $arg1, + operator => 'uncertain' }; + foreach (@{$arg2}) { + $$fake_number{arg2} = $_; + push(@uncertainties, six_compute_separate_uncertainty($fake_number)); } + return \@uncertainties; } + +sub six_compute_relative_uncertainties { + my ($number) = @_; + my $arg1 = $$number{arg1}; + my $arg2 = $$number{arg2}; + my @uncertainties; + my $fake_number = { + arg1 => $arg1, + operator => 'uncertain' }; + foreach (@{$arg2}) { + $$fake_number{arg2} = $_; + push(@uncertainties, six_compute_relative_uncertainty($fake_number)); } + return \@uncertainties; } + # Note that these 2 will return Tokens if parse-numbers is false!!!! # TODO: Don't signal error if we're doing table columns!? # These extract & REMOVE the number from $expr (Tokens), # NOT reading from $gullet, which is only passed in for error reporting. +# This is also used to parse a table-format sub six_parse_number { - my ($gullet, $expr) = @_; + my ($gullet, $expr, $is_table_formatter) = @_; my $result = $expr; if (six_getBool('parse-numbers')) { my $expanded = Expand($expr); my $tokens = [six_apply_mathligatures($expanded->unlist)]; - $result = six_postprocess(six_match_number($tokens)); + if ($is_table_formatter) { + six_match_number($tokens, $is_table_formatter); + return; } + my $matched = six_match_number($tokens); + if ($$matched{integer} && $$matched{decimal} && !$$matched{fraction} && !six_getBool('retain-explicit-decimal-marker')) { + $$matched{decimal} = undef; } + # todo upgrade + if ($$matched{sign} && $$matched{sign}->ToString eq '+' && !six_getBool('retain-explicit-plus')) { + # make sure an explicit-sign doesn't get added later + $$matched{sign} = T_CS('\lx@InvisiblePlus'); } + if ($$matched{sign} && $$matched{sign} eq '-' && is_explicit_zero($matched) && !six_getBool('retain-negative-zero')) { + $$matched{sign} = undef; } + $result = six_postprocess($matched); if (scalar(@$tokens)) { - Error('unexpected', $$tokens[0], $gullet, - "Not matched in \\num: " . ToString(Tokens(@$tokens)) . "\n"); - return $expr; } } + Error('unexpected', $$tokens[0], $gullet, 'Not matched in \num: ' . ToString(Tokens(@$tokens)) . "\n"); + $result = $expr; } } return $result; } sub six_parse_numbers { my ($gullet, $expr) = @_; - my $result = $expr; + # these options are constant: angle doesn't exist, and + # list and product must be set when the package is loaded + my @numberSeparators = ('list-input-separator', + 'angle-input-separator', + 'product-input-separator'); my @results = (); if (six_getBool('parse-numbers')) { my $expanded = Expand($expr); my $tokens = [six_apply_mathligatures($expanded->unlist)]; - while (1) { - $result = six_postprocess(six_match_number($tokens)); - push(@results, $result); - if (@$tokens && $$tokens[0]->equals(T_OTHER(';'))) { - shift(@$tokens); } - else { - last; } } + my $separatorsFound; + do { + push(@results, six_postprocess(six_match_scinumber($tokens))); + $separatorsFound = six_match_keys($tokens, @numberSeparators); + if ($separatorsFound && scalar(@{$separatorsFound}) > 1) { + push(@results, (undef) x (scalar(@{$separatorsFound}) - 1)); } # eg \ang{;;3} + } while ($separatorsFound); if (scalar(@$tokens)) { Error('unexpected', $$tokens[0], $gullet, "Not matched in \\num: " . ToString(Tokens(@$tokens)) . "\n"); @@ -437,10 +806,27 @@ sub six_parse_numbers { my @r = (); while (@tokens && !$tokens[0]->equals(T_OTHER(';'))) { push(@r, shift(@tokens)); } - push(@results, Tokens(@r)); } - } + push(@results, Tokens(@r)); } } return @results; } +sub number_is_zero { + my ($number) = @_; + unless (defined $number) { + return 1; } + if (ref($number) ne 'ARRAY' && $number->equals(T_OTHER('0'))) { + return 1; } + unless (ref($number) eq 'ARRAY' || $number->isa('ARRAY')) { + return 0; } + foreach my $digit (@{$number}) { + unless ((ref($digit) eq 'SCALAR' && $digit == 0) || (ref($digit) eq 'Token' && $digit->equals(T_OTHER('0')))) { + return 0; } } + return 1; } + +sub is_explicit_zero { + my ($arg) = @_; + return $arg && !$$arg{operator} && !$$arg{arg1} && !$$arg{arg2} + && number_is_zero($$arg{integer}) && number_is_zero($$arg{fraction}); } + #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Formatting numbers # Options: @@ -450,7 +836,7 @@ sub six_parse_numbers { # output-complex-root, output-decimal-marker, output-exponent-marker, output-open-uncertainty, # separate-uncertainty, uncertainty-separator # Also options for multi-part numbers: -# fraction-function, output-product, output-quatient, quotient-mode +# fraction-function, output-product, output-quotient, quotient-mode # Not handled: # tight-spacing @@ -460,42 +846,78 @@ sub six_parse_numbers { # A Simple Number is a number with (possibly) sign, integer & fraction parts as well as uncertainty # but not exponent, imaginary,.... sub six_format_simplenumber { - my ($number, $bracket) = @_; + my ($number, %flags) = @_; + if (six_getBool('print-zero-exponent') && !$flags{in_sci_number}) { + return six_format_scinumber({ arg1 => $number, arg2 => {}, operator => 'exponent' }, %flags); } # Not ONLY format the number, but arrange for a fork representing the semantics! - my @tokens = (); - my @trailer = (); - my $sign = $$number{sign}; - my $integer = $$number{integer}; - my $fraction = $$number{fraction}; - my $grouping = six_getChoice('group-digits'); - if ($sign) { - - if (ToString($sign) eq '-') { - if (my $c = six_get('negative-color')) { - push(@tokens, T_BEGIN, T_CS('\color'), T_BEGIN, $c->unlist, T_END); - unshift(@trailer, T_END); } - if (six_getBool('bracket-negative-numbers')) { - push(@tokens, six_get('open-bracket')); - unshift(@trailer, six_get('close-bracket')); } + my @tokens = (); + my @trailer = (); + $flags{table_signable} = $flags{in_table_number} && !$flags{in_uncertainty} + && six_getBool('table-sign-' . ($flags{in_exponent} && $flags{in_sci_number} ? 'exponent' : 'mantissa')); + my $sign = $$number{sign}; + my $integer = $$number{integer}; + my $fraction = $$number{fraction}; + my $grouping = six_getChoice('group-digits'); + my $needs_sign_space = 0; + + push @tokens, $sign if ($sign && $flags{in_exponent}); + if ($integer) { + my @intTokens = $integer->unlist; + while (@intTokens && $intTokens[0]->equals(T_OTHER('0'))) { + shift(@intTokens); } + # todo upgrade + if (!@intTokens && six_getBool('print-zero-integer')) { + unshift(@intTokens, T_OTHER('0')); } + $integer = Tokens(@intTokens); + if (($grouping eq 'all') || ($grouping eq 'true') || ($grouping eq 'integer')) { + $integer = six_groupdigits($integer, +1); } } + elsif (six_getBool('print-zero-integer')) { + $integer = Tokens(T_OTHER('0')); } + if ($flags{in_table_number} && !$flags{in_uncertainty}) { + my $type = $flags{in_exponent} && $flags{in_sci_number} ? 'exponent' : 'integer'; + my $digits_needed = six_get("table-figures-$type")->toString; + my $digits_have = ($integer && @{$integer}) || 0; + if ($digits_have < $digits_needed) { + if ($type eq 'exponent') { + ${ $flags{pad_right_ref} } .= '2' x ($digits_needed - $digits_have); } + elsif ($type eq 'integer') { + ${ $flags{pad_left_ref} } .= '2' x ($digits_needed - $digits_have); } } + if ($needs_sign_space && $type ne 'uncertainty') { + if ($flags{in_exponent}) { + ${ $flags{pad_right_ref} } .= '.'; } # exponentiated + else { - push(@tokens, $sign); } } - elsif ((ToString($sign) eq '+') && !six_getBool('retain-explicit-plus')) { } - else { - push(@tokens, $sign); } } + ${ $flags{pad_left_ref} } .= '2'; } } } # mantissa + if ($integer) { - my $i = (($grouping eq 'true') || ($grouping eq 'integer') - ? six_groupdigits($integer, +1) - : $integer); - push(@tokens, $i); } - if (my $d = (six_getBool('copy-decimal-marker') - ? $$number{decimal} - : ($fraction || $$number{decimal} ? six_get('output-decimal-marker') : undef))) { - push(@tokens, $d); } + push(@tokens, $integer); } + if ($fraction) { + my @fracTokens = $fraction ? $fraction->unlist : (); + if (number_is_zero($fraction)) { + if (six_getBool('zero-decimal-as-symbol')) { + $fraction = six_get('zero-symbol'); } + elsif (@fracTokens) { + $fraction = Tokens(@fracTokens); + $fraction = (($grouping eq 'all') || ($grouping eq 'true') || ($grouping eq 'decimal') + ? six_groupdigits($fraction, -1) + : $fraction); } } + else { + $fraction = Tokens(@fracTokens); + $fraction = (($grouping eq 'all') || ($grouping eq 'true') || ($grouping eq 'decimal') + ? six_groupdigits($fraction, -1) + : $fraction); } } + if ($flags{in_table_number} && !$flags{in_uncertainty} && !$flags{in_exponent}) { + my $digits_needed = six_get('table-figures-decimal')->toString; + ${ $flags{pad_right_ref} } .= '.' if ($digits_needed && !$fraction && !$$number{decimal}); + $fraction = Tokens() if ($digits_needed && !$fraction); + ${ $flags{pad_right_ref} } .= '2' x ($digits_needed - @{$fraction}) if (@{$fraction} < $digits_needed); } + my $decimal = six_getBool('copy-decimal-marker') + ? $$number{decimal} + : (($fraction && @{$fraction}) || ($$number{decimal} && $VERSION_TWO) ? six_get('output-decimal-marker') : undef); + if ($decimal) { + push(@tokens, $decimal); } if ($fraction) { - my $f = (($grouping eq 'true') || ($grouping eq 'decimal') - ? six_groupdigits($fraction, -1) - : $fraction); - push(@tokens, $f); } + push(@tokens, $fraction); } + # if ( $flags{in_table_number} ) { + # return Tokens(@tokens, @trailer); } return I_dual({ revert_as => 'presentation' }, I_symbol({ role => 'NUMBER', meaning => six_number_string($number) }), I_wrap({}, Tokens(@tokens, @trailer))); } @@ -505,128 +927,467 @@ sub six_groupdigits { my @digs = $digits->unlist; my $min = ToString(six_get('group-minimum-digits')); return $digits if $min > scalar(@digs); - my @r = (); - my $g = 3; - my $sep = six_get('group-separator'); - if ($direction > 0) { + my @r = (); + my $g_first = ToString(six_get('digit-group-first-size')); + my $g_other = ToString(six_get('digit-group-other-size')); + my $sep = six_get('group-separator'); + if ($direction > 0) { + for (my $i = 0 ; @digs && $i < $g_first ; $i++) { unshift(@r, pop(@digs)); } + unshift(@r, $sep) if @digs; while (@digs) { - for (my $i = 0 ; @digs && $i < $g ; $i++) { unshift(@r, pop(@digs)); } + for (my $i = 0 ; @digs && $i < $g_other ; $i++) { unshift(@r, pop(@digs)); } unshift(@r, $sep) if @digs; } } else { + for (my $i = 0 ; @digs && $i < $g_first ; $i++) { push(@r, shift(@digs)); } + push(@r, $sep) if @digs; while (@digs) { - for (my $i = 0 ; @digs && $i < $g ; $i++) { push(@r, shift(@digs)); } + for (my $i = 0 ; @digs && $i < $g_other ; $i++) { push(@r, shift(@digs)); } push(@r, $sep) if @digs; } } return Tokens(@r); } +# rounding has been surprisingly annoying with its edge cases +sub six_round { + my ($number) = @_; + my $mode = six_getChoice('round-mode'); + return if (is_explicit_zero($number) || $mode eq 'none'); + my $op = $$number{operator}; + if ((!!($op) && $op eq 'uncertain') != ($mode eq 'uncertainty')) { + return; } + if ($op) { + if ($op eq 'uncertain') { + six_round_uncertain_number($number); } + elsif ($op eq 'complex' || $op eq 'product' || $op eq 'quotient') { + six_round($$number{arg1}); + six_round($$number{arg2}); } + elsif ($op eq 'comparator' || $op eq 'exponent') { + six_round($$number{arg1}); } + else { + Error('operator', 'operator', undef, "unknown operator: $op"); } } + else { + my $precision = six_get('round-precision')->toString; + shift(@{ $$number{integer} }) while (scalar(@{ $$number{integer} }) && $$number{integer}[0]->equals(T_OTHER(0))); + if ($mode eq 'figures') { + my $excess_zeros = 0; + if (number_is_zero($$number{integer})) { + foreach my $digit (@{ $$number{fraction} }) { + if ($digit->equals(T_OTHER(0))) { + $excess_zeros++; } + else { + last; } } } + six_round_simple_number($number, $precision + $excess_zeros, 0); } + elsif ($mode eq 'places') { + six_round_simple_number($number, $precision + scalar(@{ $$number{integer} || [] }), 0); } + else { + Fatal('internal', 'unreachable', undef, 'this code should not have been reached'); } } + return; } + +sub six_round_uncertain_number { + my ($number) = @_; + my $precision = six_get('round-precision')->toString; + shift(@{ $$number{arg2}[0]{integer} }) while (scalar(@{ $$number{arg2}[0]{integer} }) && $$number{arg2}[0]{integer}[0]->equals(T_OTHER(0))); + my $digits_lost = six_round_simple_number($$number{arg2}[0], $precision, 1); + for (1 .. $#{ $$number{arg2} }) { + shift(@{ $$number{arg2}[$_]{integer} }) while (scalar(@{ $$number{arg2}[$_]{integer} }) && $$number{arg2}[$_]{integer}[-1]->equals(T_OTHER(0))); + six_round_simple_number($$number{arg2}[$_], $precision, 1); } + my $new_precision = scalar(@{ $$number{arg1}{integer} || [] }) + scalar(@{ $$number{arg1}{fraction} || [] }) - $digits_lost; + my $added_zeros = six_round_simple_number($$number{arg1}, $new_precision, 0); + if ($added_zeros && !($$number{arg1}{fraction} && scalar(@{ $$number{arg1}{fraction} }))) { + foreach my $uncert (@{ $$number{arg2} }) { + if (!defined $$uncert{fraction}) { + push(@{ $$uncert{integer} }, T_OTHER(0)) for (1 .. $added_zeros); } } } + return; } + +# uncertain numbers are rounded in two stages: first the uncertainty, then the number +# each stage can affect the other part, so we return the necessary information: +# when rounding the uncertainty, how many digits were truncated away +# when rounding the main number, how many zeros pad the integer part +sub six_round_simple_number { + my ($number, $figures, $is_uncertainty) = @_; + my ($stolen_from_integer, $fraction_size) = (0, 0); + my @dropped; + if ($figures <= scalar(@{ $$number{integer} || [] })) { + $stolen_from_integer = scalar(@{ $$number{integer} || [] }) - $figures; + @dropped = splice(@{ $$number{integer} }, $figures); + push(@dropped, @{ $$number{fraction} }) if (scalar(@{ $$number{fraction} || [] })); + $fraction_size = scalar(@{ $$number{fraction} || [] }); + $$number{fraction} = undef; } + else { + @dropped = splice(@{ $$number{fraction} }, $figures - scalar(@{ $$number{integer} || [] })); + $fraction_size = scalar(@{ $$number{fraction} }); } + my $round_direction = $is_uncertainty ? six_getChoice('uncertainty-round-direction', 'round-direction') : six_getChoice('round-direction'); + unless (number_is_zero(Tokens(@dropped)) || $round_direction eq 'down') { + my $round_up = $round_direction eq 'up'; + my $first_dropped = shift(@dropped)->toString; + $round_up ||= (5 < $first_dropped || (5 == $first_dropped && !number_is_zero(Tokens(@dropped)))); + if (5 == $first_dropped && number_is_zero(Tokens(@dropped))) { + $round_up ||= six_getChoice('round-half') eq 'up'; + my $remaining = scalar(@{ $$number{fraction} || [] }) ? $$number{fraction}[-1]->toString + : (scalar(@{ $$number{integer} || [] }) ? $$number{integer}[-1]->toString : 0); + $round_up ||= $remaining % 2; } # round-half eq 'even' + if ($round_up && round_last_digit_up($number)) { + # we added an extra figure at the beginning of {integer}. to compensate, drop one at the end + if (scalar(@{ $$number{fraction} || [] })) { + pop(@{ $$number{fraction} }); } + else { + if ($is_uncertainty) { + $stolen_from_integer += $#{ $$number{integer} }; + $$number{integer} = Tokenize(1); } } } } + unless ($is_uncertainty) { + push(@{ $$number{integer} }, Token(0)) for (1 .. $stolen_from_integer); } + if (six_getBool('round-pad') && !$is_uncertainty) { + push(@{ $$number{fraction} }, T_OTHER(0)) while (scalar(@{ $$number{integer} || [] }) + scalar(@{ $$number{fraction} || [] }) < $figures); + $$number{fraction} = Tokens(@{ $$number{fraction} || [] }); } + if (!$is_uncertainty && is_explicit_zero($number)) { + if (my $round_min = six_get('round-minimum')->toString) { + $$number{arg1} = six_parse_number(undef, Tokenize($round_min)); + if ($$number{sign}) { + $$number{arg1}{sign} = $$number{sign}; } + $$number{comparator} = ($$number{sign} && $$number{sign}->toString eq '-') ? Tokenize('>') : Tokenize('<'); + delete $$number{$_} foreach (qw(sign integer decimal fraction)); + $$number{operator} = 'comparator'; } + elsif (six_getBool('round-zero-positive')) { + $$number{sign} = undef; } + elsif ($$number{sign} && ToString($$number{sign}) eq '-') { + $$number{rounded_negative} = 1; } } + return ($is_uncertainty ? $fraction_size : 0) + $stolen_from_integer; } + +# returns that a leading 9 was rounded up to 10 +sub round_last_digit_up { + my ($number) = @_; + my $i = $#{ $$number{fraction} }; # this instantiates {frac} as [] if it wasn't there already + while (0 <= $i) { + my $digit = ($$number{fraction}[$i]->toString + 1) % 10; + $$number{fraction}[$i] = Token($digit); + if ($digit) { + $$number{fraction} = Tokens($$number{fraction}); + return 0; } + $i--; } + if (scalar(@{ $$number{fraction} })) { + $$number{fraction} = Tokens($$number{fraction}); } + else { + $$number{fraction} = undef; } + $i = $#{ $$number{integer} }; + while (0 <= $i) { + my $digit = ($$number{integer}[$i]->toString + 1) % 10; + $$number{integer}[$i] = Token($digit); + if ($digit) { + $$number{integer} = Tokens($$number{integer}); + return 0; } + $i--; } + unshift(@{ $$number{integer} }, Token(1)); + $$number{integer} = Tokens($$number{integer}); + return 1; } + sub show_thing { my ($thing) = @_; return (ref $thing eq 'HASH' ? '{' . join(',', map { $_ . '=' . show_thing($$thing{$_}); } grep { defined $$thing{$_}; } sort keys %$thing) . '}' - : ToString($thing)); } + : (ref $thing eq 'ARRAY' + ? '[' . join(',', map { show_thing($_) } @$thing) . ']' + : ToString($thing))); } + +# or maybe six_number_string +sub six_UnTeX { + my ($number) = @_; + my $op = $$number{operator}; + if ($op && $op eq 'comparator') { + return UnTeX($$number{comparator}) . six_UnTeX($$number{arg1}); } + if ($op && $op eq 'exponent') { + return six_UnTeX($$number{arg1}) . 'e' . six_UnTeX($$number{arg2}); } + if ($op && $op eq 'uncertain') { + return six_UnTeX($$number{arg1}) . join('', map { '(' . six_UnTeX($_) . ')' } @{ $$number{arg2} }); +#return six_UnTeX($$number{arg1}) . '(' . join( ')(', map(&six_UnTeX, @{$$number{arg2}}) ) . ')'; # deep recursion ? + } + return ($$number{sign} ? UnTeX($$number{sign}) : '') + . ($$number{integer} ? UnTeX($$number{integer}) : '') + . ($$number{decimal} ? UnTeX($$number{decimal}) : ($$number{fraction} ? '.' : '')) + . ($$number{fraction} ? UnTeX($$number{fraction}) : ''); } + +# six_format_simplenumber looks at if ( ToString($sign) eq '+' ) +# to determine if an implicit plus should be dropped +# because ToString(T_CS('\lx@explicit@plus')) eq '\lx@explicit@plus' ne '+', +# that test fails and the sign is printed +DefMacroI('\lx@explicit@plus', undef, '+'); + +sub six_format_asymmetric_uncertainnumber { + my ($number, %flags) = @_; + my $arg1 = $$number{arg1}; + my $arg2 = $$number{arg2}; + my @meaning_args = ({}, I_symbol({ meaning => 'uncertain' }), I_arg(1)); + my @display_args = ({}, ($flags{bracket} ? six_get('open-bracket') : ()), I_arg(1)); + my $counter = 1; + my @used_args = (six_format_number($arg1)); + my $seps = six_compute_separate_uncertainties($number); + + foreach my $sep (@{$seps}) { + if (($$sep{ainteger} || $$sep{afraction}) + && (!six_getBool('simplify-uncertainty') + || (defined $$sep{integer} xor defined $$sep{ainteger}) + || (defined $$sep{fraction} xor defined $$sep{afraction}) + || ($$sep{integer} && ToString($$sep{integer}) ne ToString($$sep{ainteger})) + || ($$sep{fraction} && ToString($$sep{fraction}) ne ToString($$sep{afraction})))) { + push(@meaning_args, I_arg(++$counter), I_arg($counter + 1)); + push(@display_args, T_SUPER, T_BEGIN, I_arg($counter), T_END, T_SUB, T_BEGIN, I_arg(++$counter), T_END); + push(@used_args, + six_format_number({ sign => T_CS('\lx@explicit@plus'), integer => $$sep{integer}, decimal => $$sep{decimal}, fraction => $$sep{fraction} }), + six_format_number({ sign => T_OTHER('-'), integer => $$sep{ainteger}, decimal => $$sep{decimal}, fraction => $$sep{afraction} })); } + else { + $$sep{sign} = T_CS('\pm'); + push(@meaning_args, I_arg(++$counter)); + push(@display_args, I_arg($counter)); + push(@used_args, six_format_number($sep)); } } + push(@display_args, ($flags{bracket} ? six_get('close-bracket') : ())); + return I_dual({ revert_as => 'presentation' }, I_apply(@meaning_args), I_wrap(@display_args), @used_args); } sub six_format_uncertainnumber { - my ($number, $bracket) = @_; + my ($number, %flags) = @_; + my $op = $$number{operator}; my $arg1 = $$number{arg1}; my $arg2 = $$number{arg2}; - return six_format_number($arg1) if !$arg2 || six_getBool('omit-uncertainty'); - my $sep = six_compute_separate_uncertainty($number); - if (six_getBool('separate-uncertainty')) { - my $sign = $$sep{sign}; - $$sep{sign} = undef; - return I_dual({ revert_as => 'presentation' }, - I_apply({}, I_symbol({ meaning => 'uncertain' }), I_arg(1), I_arg(2)), - I_wrap({}, - ($bracket > 0 ? six_get('open-bracket') : ()), - I_arg(1), (six_get('uncertainty-separator') || ()), ($sign || ()), I_arg(2), - ($bracket > 0 ? six_get('close-bracket') : ())), - six_format_number($arg1), six_format_number($sep)); } + $flags{table_uncertain_checked} = 1; + if ($flags{in_table_number} && (!$op || $op ne 'uncertain')) { + ${ $flags{pad_right_ref} } .= ('2' x (1 + six_get('table-figures-uncertainty')->ToString)); # () is about the same width as + + return I_wrap(undef, six_format_number($number, %flags)); } + return six_format_number($arg1, %flags) if (!scalar(@{$arg2})); + my $uncertainty_mode = six_getChoice('uncertainty-mode'); + $uncertainty_mode = 'separate' if (six_getBool('separate-uncertainty')); + $flags{bracket} ||= $flags{in_sci_number} && six_getBool('bracket-ambiguous-numbers') && $uncertainty_mode eq 'separate'; + foreach my $uncertainty (@{$arg2}) { + if ($$uncertainty{ainteger} || $$uncertainty{afraction}) { + return six_format_asymmetric_uncertainnumber($number, %flags); } } + my $seps = six_compute_separate_uncertainties($number); + my $rels; + $rels = six_compute_relative_uncertainties($number) if $uncertainty_mode ne 'separate'; # detects sign, MODIFIES number!!! # todo upgrdae remove conditional + my @meaning_args = map { I_arg($_) } (1 .. scalar(@{$seps}) + 1); + my @dual_args = ({ revert_as => 'presentation' }, + I_apply({}, I_symbol({ meaning => 'uncertain' }), @meaning_args)); + if ($uncertainty_mode eq 'separate' || scalar(@{$seps}) > 1) { + # this does not get descriptors into the meaning + my @descriptors = six_get('uncertainty-descriptors') && split /\s*,\s*/, six_get('uncertainty-descriptors')->toString; + my $descriptorMode = six_getChoice('uncertainty-descriptor-mode'); + my @wrap_args = ({}, ($flags{bracket} ? six_get('open-bracket') : ()), I_arg(1)); + foreach my $i (0 .. $#{$seps}) { + my $sign = $$seps[$i]{sign}; + $$seps[$i]{sign} = undef; + push(@wrap_args, (six_get('uncertainty-separator') || ()), ($sign || ()), I_arg(2 + $i)); + if (1 < scalar(@descriptors) && $i < scalar(@descriptors)) { + push(@wrap_args, six_get('uncertainty-descriptor-separator')) if ($descriptorMode =~ /separator$/); + my $text = $descriptors[$i]; + $text = "($text)" if ($descriptorMode =~ /^bracket/); + $text = "_{$text}" if ($descriptorMode eq 'subscript'); + push(@wrap_args, Tokenize($text)); } } + push(@wrap_args, ($flags{bracket} ? six_get('close-bracket') : ())); + my $formatted = six_format_number($arg1, %flags, bracket => 0); + if ($flags{in_table_number} && six_getBool('table-align-uncertainty') && ${ $flags{pad_right_ref} }) { + push(@{$formatted}, six_table_space(${ $flags{pad_right_ref} })); + ${ $flags{pad_right_ref} } = ''; } + push(@dual_args, I_wrap(@wrap_args), $formatted); + foreach (@{$seps}) { + push(@dual_args, six_format_number($_, %flags, bracket => 0)); } + return I_dual(@dual_args); } else { - my $rel = six_compute_relative_uncertainty($number); # detects sign, MODIFIES number!!! - $$sep{sign} = undef; # AFTER computing relative!!! - return I_dual({ revert_as => 'presentation' }, - I_apply({}, I_symbol({ meaning => 'uncertain' }), I_arg(1), I_arg(2)), - I_wrap({}, I_arg(1), (six_get('uncertainty-separator') || ()), I_arg(2)), - six_format_number($arg1), - I_wrap({ meaning => six_number_string($sep) }, - six_get('output-open-uncertainty'), six_format_number($rel), - six_get('output-close-uncertainty'))); } } +# exactly one symmetric uncertainty in parentheses. but just in case, this works for several symmetric uncertainties + my @wrap_args = ({}, ($flags{bracket} ? Tokens(six_get('uncertainty-separator'), six_get('open-bracket')) : ()), I_arg(1)); + my @dual_tail_args; + for my $i (0 .. $#{$seps}) { + push(@wrap_args, (six_get('uncertainty-separator') || ()), I_arg(2 + $i)); + my $sep = $$seps[$i]; + my $rel = $$rels[$i]; + $$sep{sign} = undef; # AFTER computing relative!!! + my $uncert = $uncertainty_mode eq 'compact' + || ($uncertainty_mode eq 'compact-marker' + && (number_is_zero($$sep{integer}) || number_is_zero($$sep{fraction}))) ? $rel : $sep; + if ($flags{in_table_number}) { + my $need_digits = six_get('table-figures-uncertainty')->ToString; + ${ $flags{pad_right_ref} } .= '2' x ($need_digits - @{ $$uncert{integer} }) if (@{ $$uncert{integer} } < $need_digits); } + push(@dual_tail_args, + I_wrap({ meaning => six_number_string($sep) }, + six_get('output-open-uncertainty'), six_format_number($uncert, %flags, in_uncertainty => 1, bracket => 0), + six_get('output-close-uncertainty'))); } + push(@wrap_args, ($flags{bracket} ? six_get('close-bracket') : ())); + push(@dual_args, I_wrap(@wrap_args), six_format_number($arg1, %flags, bracket => 0), @dual_tail_args); + return I_dual(@dual_args); } } sub six_format_complexnumber { - my ($number, $bracket) = @_; - my $arg1 = $$number{arg1}; - my $arg2 = $$number{arg2}; - my $real = six_format_number($arg1); - my $imag = six_format_number($arg2); + my ($number, %flags) = @_; + my $arg1 = $$number{arg1}; + my $arg2 = $$number{arg2}; + my $complexMode = six_getChoice('complex-mode'); + # we may run into problems that the input was rounded before it got to this point + if (exists $$number{input_form} && $$number{input_form} eq 'polar' && $complexMode eq 'cartesian') { + my $parsedArg1 = six_UnTeX($arg1) || 0; + my $parsedArg2 = six_UnTeX($arg2) || 0; + if (six_getChoice('complex-angle-unit') eq 'degrees') { + $parsedArg2 %= 360; + $parsedArg2 = deg2rad($parsedArg2); } + ($parsedArg1, $parsedArg2) = $parsedArg2 == pi ? (-$parsedArg1, 0) : cylindrical_to_cartesian($parsedArg1, $parsedArg2); + $arg1 = $parsedArg1 ? six_parse_number(undef, Tokenize($parsedArg1)) : undef; + $arg2 = $parsedArg2 ? six_parse_number(undef, Tokenize($parsedArg2)) : undef; + six_round($arg1); + six_round($arg2); +# $$number{sign} ||= $arg2 && ($$arg2{sign} || ($$arg2{operator} && $$arg2{operator} eq 'exponent' && $$arg2{arg1} && $$arg2{arg1}{sign})) +# ? undef : T_OTHER('+'); + $$number{sign} ||= ($arg2 && $$arg2{sign}) || T_OTHER('+'); } + elsif ((!exists $$number{input_form}) && $complexMode eq 'polar') { + my $parsedArg1 = six_UnTeX($arg1) || 0; + my $parsedArg2 = six_UnTeX($arg2) || 0; + if ($parsedArg1 == 0 && $parsedArg2 == 0 && $$number{operator} eq 'complex' && $$number{symbol}->equals(Tokens(T_LETTER('i')))) { + $parsedArg2 = 1; # seems to be a one off case + $$number{sign} ||= T_OTHER('+'); } + ($parsedArg1, $parsedArg2) = cartesian_to_cylindrical($parsedArg1, $parsedArg2); + if (six_getChoice('complex-angle-unit') eq 'degrees') { + $parsedArg2 = rad2deg($parsedArg2); } + $arg1 = six_parse_number(undef, Tokenize($parsedArg1)); + $arg2 = six_parse_number(undef, Tokenize($parsedArg2)); + six_round($arg1); + six_round($arg2); } + my $real = six_format_number($arg1, %flags, bracket => 0, in_sci_number => 1); # todo upgrade + #my $real = six_format_number($arg1, %flags, bracket=>0, in_sci_number=>0); # toggle off in_sci_number b/c it's already bracketed return $real unless $arg2; - my $i = (six_getBool('copy-complex-root') ? $$number{symbol} : six_get('output-complex-root')); - $i = I_wrap({ role => 'ID', meaning => 'imaginary-unit' }, - Tokens(T_CS('\text'), T_BEGIN, $i, T_END)); - my $result = six_format_infix(T_CS('\lx@InvisibleTimes'), undef, undef, - (six_getChoice('complex-root-position') eq 'before-number' ? ($i, $imag) : ($imag, $i))); - if (!$arg1) { # Force sign on pure imaginary? - if ((ToString($$number{sign}) eq '+') && six_getBool('retain-explicit-plus')) { - $result = I_wrap({}, $$number{sign}, $result); } } - else { - $result = six_format_infix( - $$number{sign}, # Hopefully has proper semantics? - ($bracket > 0 ? six_get('open-bracket') : undef), - ($bracket > 0 ? six_get('close-bracket') : undef), - $real, $result); } - return $result; } + if ($complexMode eq 'cartesian' || ($complexMode eq 'input' && !exists $$number{input_form})) { # Cartesian output + if (six_getBool('print-complex-unity') && !defined $$arg2{integer} && !defined $$arg2{fraction}) { + $$arg2{integer} = T_OTHER(1); } + if (!six_getBool('print-complex-unity') && $$arg2{integer} && number_is_zero($$arg2{fraction}) + && ($$arg2{integer}->equals(T_OTHER('1')) || $$arg2{integer}->equals(Tokens(T_OTHER('1'))))) { + $arg2 = undef; } + my $sign = $$arg2{sign} || ($arg1 && T_OTHER('+')); + delete $$arg2{sign} if $$arg2{sign}; + my $imag = six_format_number($arg2, %flags, bracket => 0, in_sci_number => 0); # toggle off in_sci_number b/c it's already bracketed + my $i = (six_getBool('copy-complex-root') ? $$number{symbol} : six_get('output-complex-root')); + $i = I_wrap({ role => 'ID', meaning => 'imaginary-unit' }, Invocation(T_CS('\text'), $i)); + my $result = six_format_infix(T_CS('\lx@InvisibleTimes'), undef, undef, + (six_getChoice('complex-root-position') eq 'before-number' ? ($i, $imag) : ($imag, $i))); + $flags{bracket} ||= $flags{in_sci_number} && six_getBool('bracket-ambiguous-numbers') && $arg1 && $arg2; + if ($arg1 && keys %$arg1) { + $result = six_format_infix( + $sign, # Hopefully has proper semantics? + ($flags{bracket} ? six_get('open-bracket') : undef), + ($flags{bracket} ? six_get('close-bracket') : undef), + $real, $result); } + else { # Force sign on pure imaginary? + if ((ToString($sign) eq '+') && six_getBool('retain-explicit-plus')) { + $result = I_wrap({}, $sign, $result); } + if ($flags{bracket}) { + $result = I_wrap({}, six_get('open-bracket'), $sign || (), $result, six_get('close-bracket')); } } + return $result; } + else { # polar output + my $imag = six_format_number($arg2, %flags, bracket => 0); + my $angleMark = six_get('complex-phase-command'); + my $degreeMark = six_get('complex-symbol-degree'); + my $result = six_getChoice('complex-angle-unit') eq 'degrees' ? + six_format_infix(T_CS('\lx@InvisibleTimes'), undef, undef, $imag, $degreeMark) : + $imag; + # there should be a better way to do this. but we have + # $real $angleMark $$number{sign} $imag + # with both middle terms being an infix? + if ($$number{sign} && ($$number{sign}->toString ne '+' || six_getBool('retain-explicit-plus'))) { + $result = six_format_infix(undef, undef, undef, $$number{sign}, $result); } + $result = six_format_infix($angleMark, undef, undef, $real, $result); + return $result; } } sub six_format_scinumber { - my ($number, $bracket) = @_; + my ($number, %flags) = @_; + my $op = $$number{operator}; my $arg1 = $$number{arg1}; my $arg2 = $$number{arg2}; + $flags{table_exponent_checked} = 1; my $result; - # NOTE: Not yet handled: retain-unity-mantissa - if (!six_getBool('retain-zero-exponent') - && !ToString($$arg2{integer}) - && !ToString($$arg2{fraction})) { - $result = six_format_number($arg1); } + if ($flags{in_table_number} && (!$op || $op ne 'exponent')) { + # there's no exponent, but we want space for one. omitting the mathord causes extra space + ${ $flags{pad_right_ref} } .= '222' . ('.' x six_get('table-figures-exponent')->ToString); # \mathord x10^{...} + return I_wrap(undef, six_format_number($number, %flags)); } + if (!six_getBool('print-zero-exponent') && !ToString($$arg2{integer}) && !ToString($$arg2{fraction})) { # + # there is no arg2 + ${ $flags{pad_right_ref} } .= '222' . ('.' x six_get('table-figures-exponent')->ToString) if $flags{in_table_number}; # x10^{...} + $result = six_format_number($arg1, %flags, in_sci_number => 1); } elsif (my $marker = six_get('output-exponent-marker')) { - $result = six_format_infix( - T_CS('\lx@InvisibleTimes'), - ($bracket > 1 ? six_get('open-bracket') : undef), - ($bracket > 1 ? six_get('close-bracket') : undef), - six_format_number($arg1, 1), - I_dual({}, # Means base^arg2, but looks like marker arg2 !! +# the order of the conditionals is important here - $$arg1{integer} causes an $arg1 undef to become {} which is true + if (((1 || six_getBool('print-unity-mantissa')) && $arg1) # todo upgrade + || ($$arg1{integer} && ToString($$arg1{integer}) ne '1') + || $$arg1{fraction} || $$arg1{operator}) { + my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1, bracket => 0); + if ($flags{in_table_number} && six_getBool('table-align-exponent')) { + push(@{$mantissa}, six_table_space(${ $flags{pad_right_ref} })); + ${ $flags{pad_right_ref} } = ''; } + $result = six_format_infix( + T_CS('\lx@InvisibleTimes'), + ($flags{bracket} > 1 ? six_get('open-bracket') : undef), + ($flags{bracket} > 1 ? six_get('close-bracket') : undef), + $mantissa, + I_dual({}, # Means base^arg2, but looks like marker arg2 !! + I_apply({}, I_symbol({ meaning => 'power' }), six_get('exponent-base'), I_arg(1)), + I_wrap({}, $marker, I_arg(1)), + six_format_number($arg2, %flags, in_sci_number => 1, in_exponent => 1, bracket => 0))); } + else { + $result = I_dual({}, # Means base^arg2, but looks like marker arg2 !! I_apply({}, I_symbol({ meaning => 'power' }), six_get('exponent-base'), I_arg(1)), I_wrap({}, $marker, I_arg(1)), - six_format_number($arg2))); } + six_format_number($arg2, %flags, in_sci_number => 1, in_exponent => 1, bracket => 0)); } } else { - $result = six_format_infix( - ($$arg1{integer} || $$arg1{fraction} || $$arg1{operator} - ? six_get_op({ role => 'MULOP', meaning => 'times' }, 'exponent-product') - : T_CS('\lx@InvisibleTimes')), - ($bracket > 1 ? six_get('open-bracket') : undef), - ($bracket > 1 ? six_get('close-bracket') : undef), - six_format_number($arg1, 1), - I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), - six_format_number($arg2))); } +# the order of the conditionals is important here - $$arg1{integer} causes an $arg1 undef to become {} which is true + if (((1 || six_getBool('print-unity-mantissa')) && $arg1) # todo upgrade + || ($$arg1{integer} && ToString($$arg1{integer}) ne '1') + || $$arg1{fraction} || $$arg1{operator}) { + my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1, bracket => 0); + if ($flags{in_table_number} && six_getBool('table-align-exponent')) { + push(@{$mantissa}, six_table_space(${ $flags{pad_right_ref} })); + ${ $flags{pad_right_ref} } = ''; } + $result = six_format_infix( + ($$arg1{integer} || $$arg1{fraction} || $$arg1{operator} + ? six_get_op({ role => 'MULOP', meaning => 'times' }, 'exponent-product') + : T_CS('\lx@InvisibleTimes')), + ($flags{bracket} > 1 ? six_get('open-bracket') : undef), + ($flags{bracket} > 1 ? six_get('close-bracket') : undef), + $mantissa, + I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), + six_format_number($arg2, %flags, in_sci_number => 1, in_exponent => 1, bracket => 0))); } + else { + # there is no arg1 + if ($flags{in_table_number}) { + ${ $flags{pad_left_ref} } .= '2' x six_get('table-figures-uncertainty')->ToString; + ${ $flags{pad_left_ref} } .= '2' if (six_get('table-figures-uncertainty')->ToString); # for the () or +- + ${ $flags{pad_left_ref} } .= (six_getBool('table-sign-mantissa') ? '2' : '') + . ('2' x six_get('table-figures-integer')->ToString) + . '.' + . ('2' x six_get('table-figures-decimal')->ToString) . '2'; } # last 2 is for \times + $result = I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), + six_format_number($arg2, %flags, in_sci_number => 1, in_exponent => 1, bracket => 0)); } } # If mantissa is simple number, use scientific notation for the meaning # (all the dual cruft above formats appropriately, but is wasted) if ($arg1 && !$$arg1{operator} && (ToString(six_get('exponent-base')) eq '10')) { - $result = I_wrap({ meaning => six_number_string($number) }, $result); } + $$number{arg1} = $arg1; + $$number{arg2} = $arg2; + $result = I_wrap({ meaning => six_number_string($number) }, $result); } return $result; } sub six_format_compoundnumber { - my ($number, $bracket) = @_; + my ($number, %flags) = @_; my $op = $$number{operator}; my $arg1 = $$number{arg1}; my $arg2 = $$number{arg2}; + $flags{table_comparator_checked} = 1; my $result; - if ($op eq 'comparator') { + if ($flags{in_table_number} && (!$op || $op ne 'comparator')) { + # there should be a comparator, but isn't + ${ $flags{pad_left_ref} } = '2' . ${ $flags{pad_left_ref} }; + $result = I_wrap({}, six_format_number($number, %flags)); } + elsif ($op eq 'comparator') { # NOTE: Semantic? - $result = I_wrap({}, - ($$number{comparator} || ()), - six_format_number($arg1)); } + my $formatted = six_format_number($arg1, %flags); + if ($flags{in_table_number} && six_getBool('table-align-comparator')) { + unshift(@{$formatted}, six_table_space(${ $flags{pad_left_ref} })); + ${ $flags{pad_left_ref} } = ''; } + $result = I_wrap({}, ($$number{comparator} || ()), $formatted); } elsif ($op eq 'product') { - $result = six_format_infix( - six_get_op({ role => 'MULOP', meaning => 'times' }, 'output-product'), undef, undef, - six_format_number($arg1, 1), - six_format_number($arg2, 1)); } + my $times = six_get('product-mode')->toString eq 'symbol' + ? six_get_op({ role => 'MULOP', meaning => 'times' }, 'product-symbol') + : six_get_op({ role => 'MULOP', meaning => 'times', mode => 'TEXT' }, 'product-phrase'); + # but bracket? + my $bracket = $$arg1{operator} && $$arg1{operator} eq 'uncertain' && six_getBool('separate-uncertainty'); + $result = six_format_infix($times, undef, undef, + six_format_number($arg1, bracket => $bracket), six_format_number($arg2, bracket => $bracket)); } +# ($flags{bracket} ? six_get('open-bracket') : ()), ($flags{bracket} ? six_get('close-bracket') : ()), elsif ($op eq 'quotient') { if (six_getChoice('quotient-mode') eq 'fraction') { $result = Tokens( @@ -636,28 +1397,85 @@ sub six_format_compoundnumber { else { $result = six_format_infix( six_get_op({ role => 'MULOP', meaning => 'divide' }, 'output-quotient'), undef, undef, - six_format_number($arg1, 1), - six_format_number($arg2, 2)); } } + six_format_number($arg1, bracket => 1), + six_format_number($arg2, bracket => 2)); } } else { Error('unexpected', $op, undef, "Unrecognized operator $op in siunitx number"); } return $result; } +# Formats a number, by formatting each of the parts of the number +# By adjusting the %flags, this also allows us to format a tabular number (adding extra spacing) sub six_format_number { - my ($number, $bracket) = @_; + my ($number, %flags) = @_; return unless $number; return I_wrap({}, $number) unless ref $number eq 'HASH'; - $bracket = 0 unless $bracket && six_getBool('bracket-numbers'); - my @tokens = (); - if (my $op = $$number{operator}) { - my $arg1 = $$number{arg1}; - my $arg2 = $$number{arg2}; - if ($op eq 'uncertain') { push(@tokens, six_format_uncertainnumber($number, $bracket)); } - elsif ($op eq 'complex') { push(@tokens, six_format_complexnumber($number, $bracket)); } - elsif ($op eq 'exponent') { push(@tokens, six_format_scinumber($number, $bracket)); } - else { push(@tokens, six_format_compoundnumber($number, $bracket)); } } + $flags{bracket} = 0 unless $flags{bracket} && six_getBool('bracket-numbers') && six_getBool('bracket-ambiguous-numbers'); + my (@tokens, @trailer); + my $sign = $$number{sign}; + my $op = $$number{operator} || 0; + my $needs_sign_space = 0; + # these are ordered according to how we parse a number + # once the number or the table formatter indicate something, we'll take that route + if ($flags{in_table_number}) { + if (!$flags{table_comparator_checked} && ($op eq 'comparator' || six_getBool('table-comparator'))) { + $op = 'comparator'; } + elsif (!$flags{table_exponent_checked} && ($op eq 'exponent' || six_get('table-figures-exponent')->toString)) { + $op = 'exponent'; } + elsif (!$flags{table_uncertain_checked} && ($op eq 'uncertain' || six_get('table-figures-uncertainty')->toString)) { + $op = 'uncertain'; } } + if ($sign) { + delete $$number{sign}; + if (ToString($sign) eq '-') { + if ($op || !number_is_zero($$number{integer}) || !number_is_zero($$number{fraction}) + || $$number{rounded_negative} || ($flags{in_sci_number} && !$flags{in_exponent})) { + my $c = six_get('negative-color'); + if ($c && $op ne 'complex' && !$flags{in_complex_number}) { + push(@tokens, T_BEGIN, T_CS('\color'), T_BEGIN, $c->unlist, T_END); + unshift(@trailer, T_END); } + if (six_getBool('bracket-negative-numbers') && $op ne 'complex' && !$flags{in_complex_number}) { + push(@tokens, six_get('open-bracket')); + $sign = undef; + unshift(@trailer, six_get('close-bracket')); } } } + my $mant_exp = $flags{in_exponent} ? 'exponent' : 'mantissa'; + if ($sign && $sign->ToString eq '+') { + if (six_getBool('print-' . $mant_exp . '-implicit-plus', 'retain-explicit-plus') && !$flags{ $mant_exp . '_implicit_plus_present' }) { + $flags{ $mant_exp . '_implicit_plus_present' } = 1; } + else { + $sign = undef } } + push(@tokens, $sign) if ($sign); } + elsif ($flags{in_exponent}) { + if (six_getBool('print-exponent-implicit-plus') && !$flags{exponent_implicit_plus_present}) { + $flags{exponent_implicit_plus_present} = 1; + push(@tokens, T_OTHER('+')); } + elsif ($flags{in_table_number} && six_getBool('table-sign-exponent')) { + ${ $flags{pad_right_ref} } .= '.'; } } + else { + if (six_getBool('print-mantissa-implicit-plus') && !$flags{mantissa_implicit_plus_present}) { + $flags{mantissa_implicit_plus_present} = 1; + push(@tokens, T_OTHER('+')); } + elsif ($flags{in_table_number} && six_getBool('table-sign-mantissa')) { + ${ $flags{pad_left_ref} } .= '2'; } } + if ($op) { + if ($op eq 'uncertain') { push(@tokens, six_format_uncertainnumber($number, %flags)); } + elsif ($op eq 'complex') { push(@tokens, six_format_complexnumber($number, %flags, in_complex_number => 1)); } + elsif ($op eq 'exponent') { push(@tokens, six_format_scinumber($number, %flags)); } + else { push(@tokens, six_format_compoundnumber($number, %flags)); } } else { - push(@tokens, six_format_simplenumber($number, $bracket)); } - return Tokens(@tokens); } + push(@tokens, six_format_simplenumber($number, %flags)); } + return Tokens(@tokens, @trailer); } + +# we create space with a makebox of the appropriate width (hphantom, ~, and \, didn't work) +# we would like to use the actual content (similar to hphantom), but it's hard to determine that width (see also #2768) +# instead, we'll track the content as some count of 2 and ., translating the latter to half the width of the former +# for debugging, you can change makebox to framebox (but again #2768) or print the spacer in the {} +my $DIGIT_WIDTH = 200000; # Box('2')->getWidth->[0] is 327681; this is an approximation + +sub six_table_space { + my ($spacer) = @_; + #return Tokenize('\framebox[' . Box($spacer)->getWidth->[0] . 'sp]{'. $spacer .'}'); + my @twos = $spacer =~ /2/g; + my @dots = $spacer =~ /\./g; + return Tokenize('\makebox[' . $DIGIT_WIDTH * (2 * @twos + @dots) . 'sp]{}'); } # ' . $spacer .' # Return the plain-text string for a number, for use in meaning attribute # Note that the format is pretty ad-hoc, except for simple-numbers @@ -694,6 +1512,7 @@ sub six_number_string { 'E', six_number_string($arg2), ($bracket > 1 ? ')' : '')); } else { + Error('formatting', 'unknown format', undef, "Unkown number format"); return "Unkown number format"; } } else { my $sign = $$number{sign}; @@ -701,8 +1520,7 @@ sub six_number_string { my $fraction = $$number{fraction}; # Wrong!!! return join('', ToString($sign), ToString($integer), - ($fraction ? '.' . ToString($fraction) : '')); -} } + ($fraction ? '.' . ToString($fraction) : '')); } } #====================================================================== @@ -712,8 +1530,11 @@ sub six_format_range { six_get_op({ role => 'PUNCT' }, 'range-phrase'), I_arg(2)); if ($bracketed_p) { - unshift(@range, six_get_op({ role => 'OPEN' }, 'open-bracket')); - push(@range, six_get_op({ role => 'CLOSE' }, 'close-bracket')); } + unshift(@range, six_get_op({ role => 'OPEN' }, 'range-open-bracket', 'open-bracket')); + push(@range, six_get_op({ role => 'CLOSE' }, 'range-close-bracket', 'close-bracket')); } + if (six_get('range-open-phrase')) { + # todo: Warning:not_parsed:>PUNCT MathParser failed to match rule 'Anything' + unshift(@range, six_get_op({ role => 'PUNCT' }, 'range-open-phrase')); } return I_dual({}, I_apply({}, I_symbol({ meaning => 'range' }), I_arg(1), I_arg(2)), I_wrap({}, @range), @@ -737,8 +1558,8 @@ sub six_format_list { push(@list, six_get_op({ role => 'PUNCT' }, 'list-final-separator'), I_arg($nitems)); } if (($nitems > 1) && $bracketed_p) { - unshift(@list, six_get_op({ role => 'OPEN' }, 'open-bracket')); - push(@list, six_get_op({ role => 'CLOSE' }, 'close-bracket')); } + unshift(@list, six_get_op({ role => 'OPEN' }, 'list-open-bracket', 'open-bracket')); + push(@list, six_get_op({ role => 'CLOSE' }, 'list-close-bracket', 'close-bracket')); } return I_dual({}, I_apply({}, I_symbol({ meaning => 'list' }), map { I_arg($_); } 1 .. $nitems), I_wrap({}, @list), @@ -762,29 +1583,129 @@ sub six_wrap { DefMacro('\num OptionalKeyVals:SIX {}', sub { my ($gullet, $kv, $number) = @_; six_begin_processing($gullet, $kv); - my $result = six_wrap(six_format_number(six_parse_number($gullet, $number))); + my $parsed = six_parse_number($gullet, $number); + my $product_exponents = six_getChoice('product-exponents'); + my $min_exp = undef; + if ($product_exponents =~ /combine/) { + # you are a bad person + my $other = $parsed; + while ($$other{operator} && $$other{operator} eq 'product') { + my $next_exp = six_get_sci_exp($$other{arg2}); + if (!defined $min_exp || $next_exp < $min_exp) { + $min_exp = $next_exp; } + $other = $$other{arg1}; } + my $next_exp = six_get_sci_exp($other); + if (!defined $min_exp || $next_exp < $min_exp) { + $min_exp = $next_exp; } + $other = $parsed; + my $container; + while ($$other{operator} && $$other{operator} eq 'product') { + $$other{arg2} = six_get_number_with_sci_exp($$other{arg2}, $min_exp); + $container = $other; + $other = $$other{arg1}; } + $$container{arg1} = six_get_number_with_sci_exp($other, $min_exp); } + my $formatted = six_format_number($parsed); + if ($product_exponents =~ /combine/ && ($min_exp || six_getBool('print-zero-exponent'))) { + if ($product_exponents eq 'combine-bracket') { + $formatted = six_wrap(six_get('open-bracket'), $formatted, six_get('close-bracket')); } + $formatted = six_format_infix(six_get_op({ role => 'MULOP', meaning => 'times' }, 'exponent-product'), + undef, undef, $formatted, + I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), + six_format_number({ integer => Tokenize($min_exp) }, bracket => 0, in_sci_number => 1))); } + my $result = six_wrap($formatted); six_end_processing(); return $result; }); +Let('\tablenum', '\num'); # was \lx@table@num +Let(T_CS('\complexnum'), T_CS('\num')); +Let(T_CS('\numproduct'), T_CS('\num')); # \numlist[options]{number;number;...} DefMacro('\numlist OptionalKeyVals:SIX {}', sub { my ($gullet, $kv, $numbers) = @_; six_begin_processing($gullet, $kv); - my @numbers = six_parse_numbers($gullet, $numbers); - my @formatted = six_wrap(six_format_list(0, map { six_format_number($_); } @numbers)); + my @numbers = six_parse_numbers($gullet, $numbers); + if (six_get('list-input-separator')->toString eq six_get('complex-angle-separator')->toString) { + my @new_numbers = (); + foreach my $number (@numbers) { + if ($$number{arg1} and $$number{arg2} and $$number{operator} eq 'complex' and $$number{input_form} eq 'polar') { + push(@new_numbers, $$number{arg1}, $$number{arg2}); } + else { + push(@new_numbers, $number); } } + @numbers = @new_numbers; } + my $list_exponents = six_getChoice('list-exponents'); + my $min_exp; + if ($list_exponents =~ /combine/) { + $min_exp = six_get_sci_exp($numbers[0]); + for my $number (@numbers) { + my $this_exp = six_get_sci_exp($number); + if ($this_exp < $min_exp) { + $min_exp = $this_exp; } } + for my $i (0 .. $#numbers) { + $numbers[$i] = six_get_number_with_sci_exp($numbers[$i], $min_exp); } } + my $formatted = six_format_list($list_exponents eq 'combine-bracket', map { six_format_number($_); } @numbers); + if ($list_exponents =~ /combine/ && ($min_exp || six_getBool('print-zero-exponent'))) { + $formatted = six_format_infix(six_get_op({ role => 'MULOP', meaning => 'times' }, 'exponent-product'), + undef, undef, $formatted, + I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), + six_format_number({ integer => Tokenize(abs($min_exp)), sign => Token($min_exp < 0 ? '-' : '') }, bracket => 0, in_sci_number => 1))); } + my @wrapped = six_wrap($formatted); six_end_processing(); - return Tokens(@formatted); }); + return Tokens(@wrapped); }); # \numrange[options]{first}{last} DefMacro('\numrange OptionalKeyVals:SIX {}{}', sub { my ($gullet, $kv, $first, $last) = @_; six_begin_processing($gullet, $kv); - my $result = six_wrap(six_format_range(0, - six_format_number(six_parse_number($gullet, $first)), - six_format_number(six_parse_number($gullet, $last)))); + my $first_parsed = six_parse_number($gullet, $first); + my $last_parsed = six_parse_number($gullet, $last); + my $range_exponents = six_getChoice('range-exponents'); + my ($first_exp, $last_exp); + if ($range_exponents =~ /combine/) { + $first_exp = six_get_sci_exp($first_parsed); + $last_exp = six_get_sci_exp($last_parsed); + if ($last_exp < $first_exp) { + $first_parsed = six_get_number_with_sci_exp($first_parsed, $last_exp); + $last_parsed = $$last_parsed{arg1}; } + elsif ($first_exp < $last_exp) { + $first_parsed = $$first_parsed{arg1}; + $last_parsed = six_get_number_with_sci_exp($last_parsed, $first_exp); + # now make $last_exp the smaller + $last_exp = $first_exp; } + else { + $first_parsed = $$first_parsed{arg1}; + $last_parsed = $$last_parsed{arg1}; } } + my $formatted = six_format_range($range_exponents eq 'combine-bracket', + six_format_number($first_parsed), + six_format_number($last_parsed)); + if ($range_exponents =~ /combine/ && ($first_exp || six_getBool('print-zero-exponent'))) { + $formatted = six_format_infix(six_get_op({ role => 'MULOP', meaning => 'times' }, 'exponent-product'), + undef, undef, $formatted, + I_superscript({ operator_meaning => 'power' }, six_get('exponent-base'), + six_format_number({ integer => Tokenize(abs($last_exp)), sign => Token($last_exp < 0 ? '-' : '') }, bracket => 0, in_sci_number => 1))); } + my $result = six_wrap($formatted); six_end_processing(); return $result; }); +# transform {number} or {arg1=>number, operator=>'exponent', arg2=>number} +# into a number with a specified exponent +# only returns the arg1, not the operator nor the arg2 exponent +sub six_get_number_with_sci_exp { + my ($number, $new_exp) = @_; + my $old_exp = six_get_sci_exp($number); + $number = $$number{arg1} if $$number{operator} && $$number{operator} eq 'exponent'; + if ($old_exp != $new_exp) { + my @intTokens = $$number{integer} ? $$number{integer}->unlist : (); + my @fracTokens = $$number{fraction} ? $$number{fraction}->unlist : (); + while ($old_exp < $new_exp) { + $old_exp++; + unshift(@fracTokens, (pop(@intTokens) || T_OTHER('0'))); } + while ($new_exp < $old_exp) { + $old_exp--; + push(@intTokens, (shift(@fracTokens) || T_OTHER('0'))); } + $$number{integer} = @intTokens ? Tokens(@intTokens) : undef; + $$number{fraction} = @fracTokens ? Tokens(@fracTokens) : undef; } + return $number; } + # These are in serious need of tweaking! DefMacro('\lx@arcdegreeoverdot', '\lx@stackrel{\SIUnitSymbolDegree}{.}'); DefMacro('\lx@arcminuteoverdot', '\lx@stackrel{{\scriptstyle\prime}}{.}'); @@ -801,74 +1722,106 @@ DefMacro('\ang OptionalKeyVals:SIX {}', sub { six_begin_processing($gullet, $kv); # We REALLY should only allow simplenumbers (even without uncertainty!)! my ($degrees, $minutes, $seconds) = six_parse_numbers($gullet, $expr); + if (six_getChoice('angle-mode') eq 'arc' && $$degrees{fraction}) { + my $oldFraction = UnTeX($$degrees{fraction}); + my $angle = $oldFraction * 60 / (10**scalar(@{ $$degrees{fraction} })); + $minutes = six_parse_number(undef, Tokenize($angle)); + $$degrees{decimal} = undef; + $$degrees{fraction} = undef; + if ($$minutes{fraction}) { + $oldFraction = UnTeX($$minutes{fraction}); + $angle = $oldFraction * 60 / (10**scalar(@{ $$minutes{fraction} })); + $seconds = six_parse_number(undef, Tokenize($angle)); + $$minutes{decimal} = undef; + $$minutes{fraction} = undef; } } + if (six_getChoice('angle-mode') eq 'decimal' && ($minutes || $seconds)) { + my $fraction = six_parse_number(undef, Tokenize((UnTeX($$minutes{integer}) + UnTeX($$seconds{integer}) / 60) / 60)); + $$degrees{decimal} = $$fraction{decimal}; + $$degrees{fraction} = $$fraction{fraction}; + $minutes = undef; + $seconds = undef; } # Normalize integer/fraction part. - my $addd0 = !$degrees && six_getBool('add-arc-degree-zero'); - my $addm0 = !$minutes && six_getBool('add-arc-minute-zero') - && (!$degrees || !$$degrees{fraction}); - my $adds0 = !$seconds && six_getBool('add-arc-second-zero') - && (!$degrees || !$$degrees{fraction}) - && (!$minutes || !$$minutes{fraction}); + my $addd0 = !%$degrees && six_getBool('fill-angle-degrees'); + my $addm0 = !($minutes && %$minutes) && six_getBool('fill-angle-minutes') + && (!$degrees || !%$degrees || !$$degrees{fraction}); + my $adds0 = !($seconds && %$seconds) && six_getBool('fill-angle-seconds') + && (!$degrees || !%$degrees || !$$degrees{fraction}) + && (!$minutes || !%$minutes || !$$minutes{fraction}); $degrees = { integer => T_OTHER('0') } if $addd0; $minutes = { integer => T_OTHER('0') } if $addm0; $seconds = { integer => T_OTHER('0') } if $adds0; - # Pull out the (overall) sign, assuming(!) the first one applies to all components. my $sign = ($degrees && $$degrees{sign}) || ($minutes && $$minutes{sign}) || ($seconds && $$seconds{sign}); $$degrees{sign} = undef if $degrees; $$minutes{sign} = undef if $minutes; $$seconds{sign} = undef if $seconds; - my @punctuated = (); - my $sep1 = six_get('number-angle-product'); - my $sep2 = six_get('arc-separator'); - my $mulop = I_wrap({ role => 'MULOP', meaning => 'times' }, - ($sep1->unlist ? $sep1 : T_CS('\lx@InvisibleTimes'))); - my $addop = I_wrap({ role => 'ADDOP', meaning => 'plus' }, - ($sep2->unlist ? $sep2 : T_CS('\lx@InvisiblePlus'))); - my $above = six_get('angle-symbol-over-decimal'); - my $save = six_get('copy-decimal-marker'); - AssignValue('SIX_copy-decimal-marker' => 'true'); - # Format degrees, if any - if ($above && $degrees && $$degrees{decimal}) { - $$degrees{decimal} = T_CS('\lx@arcdegreeoverdot'); } - my $fdegrees = $degrees && six_format_number($degrees); - if ($fdegrees && $fdegrees->unlist) { - push(@punctuated,($above && $$degrees{decimal} ? $fdegrees - : I_apply({},$mulop,$fdegrees, T_CS('\SIUnitSymbolDegree')))); } - # Format minues, if any - if ($above && $minutes && $$minutes{decimal}) { - $$minutes{decimal} = T_CS('\lx@arcminuteoverdot'); } - my $fminutes = $minutes && six_format_number($minutes); - if ($minutes && $fminutes->unlist) { - push(@punctuated,($above && $$minutes{decimal} ? $fminutes - : I_apply({},$mulop,$fminutes, T_CS('\SIUnitSymbolArcminute')))); } - - # Format seconds, if any - if ($above && $seconds && $$seconds{decimal}) { - $$seconds{decimal} = T_CS('\lx@arcsecondoverdot'); } - my $fseconds = $seconds && six_format_number($seconds); - if ($seconds && $fseconds->unlist) { - push(@punctuated,($above && $$seconds{decimal} ? $fseconds - : I_apply({},$mulop,$fseconds,T_CS('\SIUnitSymbolArcsecond')))); } - if(scalar(@punctuated) > 1){ - @punctuated = (I_apply({},$addop,@punctuated)); } - if ($sign) { # Finally, prepend the sign - @punctuated = I_apply({},$sign,@punctuated); } - AssignValue('SIX_copy-decimal-marker' => $save); - my $string = join('', - ToString($sign), - ($degrees ? six_number_string($degrees) . "\x{00B0}" : ''), - ($minutes ? six_number_string($minutes) . "\x{2032}" : ''), - ($seconds ? six_number_string($seconds) . "\x{2033}" : '')); - my $result = six_wrap(I_dual({}, I_symbol({ role => 'NUMBER', meaning => $string }), - I_wrap({}, @punctuated))); - six_end_processing(); - return $result; }); + # remove explicit zeros + if (is_explicit_zero($degrees) && !six_getBool('fill-angle-degrees')) { + $degrees = undef; } + if (is_explicit_zero($minutes) && !six_getBool('fill-angle-minutes')) { + $minutes = undef; } + if (is_explicit_zero($seconds) && !six_getBool('fill-angle-seconds')) { + $seconds = undef; } + return six_format_angle($sign, $degrees, $minutes, $seconds); }); + +sub six_format_angle { + my ($sign, $degrees, $minutes, $seconds) = @_; + my @punctuated = (); + six_enableUnitMacros(1); + my $sep1 = six_get('number-angle-product'); + my $sep2 = six_get('angle-separator', 'arc-separator'); + my $mulop = I_wrap({ role => 'MULOP', meaning => 'times' }, ($sep1->unlist ? $sep1 : T_CS('\lx@InvisibleTimes'))); + my $addop = I_wrap({ role => 'ADDOP', meaning => 'plus' }, ($sep2->unlist ? $sep2 : T_CS('\lx@InvisiblePlus'))); + my $above = six_getBool('angle-symbol-over-decimal'); + my $save = six_get('copy-decimal-marker'); + AssignValue('SIX_copy-decimal-marker' => 'true') if ($above); + # Format degrees, if any + if ($above && $degrees && $$degrees{decimal}) { + $$degrees{decimal} = T_CS('\lx@arcdegreeoverdot'); } + my $fdegrees = $degrees && six_format_number($degrees); + if ($fdegrees && $fdegrees->unlist) { + push(@punctuated, ($above && $$degrees{decimal} ? $fdegrees + : I_apply({}, $mulop, $fdegrees, T_CS('\SIUnitSymbolDegree')))); } + # Format minutes, if any + if ($above && $minutes && $$minutes{decimal}) { + $$minutes{decimal} = T_CS('\lx@arcminuteoverdot'); } + my $fminutes = $minutes && six_format_number($minutes); + if ($minutes && $fminutes->unlist) { + push(@punctuated, ($above && $$minutes{decimal} ? $fminutes + : I_apply({}, $mulop, $fminutes, T_CS('\SIUnitSymbolArcminute')))); } + # Format seconds, if any + if ($above && $seconds && $$seconds{decimal}) { + $$seconds{decimal} = T_CS('\lx@arcsecondoverdot'); } + my $fseconds = $seconds && six_format_number($seconds); + if ($seconds && $fseconds->unlist) { + push(@punctuated, ($above && $$seconds{decimal} ? $fseconds + : I_apply({}, $mulop, $fseconds, T_CS('\SIUnitSymbolArcsecond')))); } + if (scalar(@punctuated) > 1) { + @punctuated = (I_apply({}, $addop, @punctuated)); } + if ($sign && ($sign->toString ne '+' || six_getBool('retain-explicit-plus'))) { # Finally, prepend the sign + @punctuated = I_apply({}, $sign, @punctuated); } + AssignValue('SIX_copy-decimal-marker' => $save) if ($above); + my $string = join('', + ToString($sign), + ($degrees ? six_number_string($degrees) . "\x{00B0}" : ''), + ($minutes ? six_number_string($minutes) . "\x{2032}" : ''), + ($seconds ? six_number_string($seconds) . "\x{2033}" : '')); +# todo upgrade +# this should go with the SIUnitSymbol above +# ($degrees ? six_number_string($degrees) . Expand(six_get('angle-symbol-degree'))->toString : ''), +# ($minutes ? six_number_string($minutes) . Expand(six_get('angle-symbol-minute'))->toString : ''), +# ($seconds ? six_number_string($seconds) . Expand(six_get('angle-symbol-second'))->toString : '')); + my $result = six_wrap(I_dual({}, I_symbol({ role => 'NUMBER', meaning => $string }), + I_wrap({}, @punctuated))); + six_end_processing(); + return $result; } #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Processing Units # Unit processing macros +# Converts {first}rest into (Tokens(first),rest), paying attention to grouping sub six_peel_group { my (@tokens) = @_; if (@tokens && $tokens[0]->getCatcode == CC_BEGIN) { @@ -888,6 +1841,27 @@ sub six_peel_group { else { return (undef, @tokens); } } +# Converts rest{last} into (Tokens(last), rest), paying attention to grouping +# note that the order switches, because Tokens returns a scalar +sub six_peel_tail_group { + my (@tokens) = @_; + if (@tokens && $tokens[-1]->getCatcode == CC_END) { + pop(@tokens); + my @result = (); + my $level = 1; + while (@tokens) { + my $t = pop(@tokens); + my $cc = $t->getCatcode; + if ($cc == CC_BEGIN) { + $level--; + last unless $level; } + elsif ($cc == CC_END) { + $level++; } + unshift(@result, $t); } + return (Tokens(@result), @tokens); } + else { + return (undef, @tokens); } } + # Turn all the internal definitions into real macros AssignValue(siunitx_macros => {}); @@ -951,7 +1925,7 @@ sub six_parse_units { push(@save, shift(@defns)); } } # Else save for next unit! } if ((!keys %$unit) && @defns) { - Error('unexpected', $defns[0]{name}, undef, "Don't know what to do with si unit."); + Error('unexpected', $defns[0]{name}, undef, "Don't know what to do with si unit"); return (); } # Error if no unit, unless pure prefix(?) elsif (!$$unit{unit} && !($$unit{prefix} && !$$unit{qualifier} && !$$unit{power})) { @@ -969,37 +1943,46 @@ sub six_parse_units { # Format a single unit sub six_format_1unit { my ($unit) = @_; - my $per = $$unit{per}; - my $pre = $$unit{prefix}{presentation}; + my $prefix = $$unit{prefix}{presentation}; my $u = $$unit{unit}{presentation}; - my $p = $$unit{prepower}{power} || $$unit{postpower}{power}; + my $power = $$unit{prepower}{power} || $$unit{postpower}{power}; my $q = $$unit{qualifier}{presentation}; - if ($per) { # NOTE: Probably deal with this more semantically (ie "per" for accessibility)? - $p = ($p ? Tokens(T_OTHER('-'), $p) : Tokens(T_OTHER('-'), T_OTHER('1'))); } - if ($q) { # Format the qualifier, if any + my $meaning = ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') . ($q ? '-' . $$unit{qualifier}{name} : ''); + if ($$unit{per}) { # NOTE: Probably deal with this more semantically (ie "per" for accessibility)? + $power = Tokens(T_OTHER('-'), $power || T_OTHER('1')); } + if ($q) { # Format the qualifier, if any my $qmode = six_getChoice('qualifier-mode'); if ($qmode eq 'subscript') { - $q = Tokens(T_SUB(), T_BEGIN, T_CS('\mathrm'), T_BEGIN, $q, T_END, T_END); } - elsif ($qmode eq 'brackets') { + $q = Tokens(T_SUB, T_BEGIN, T_CS('\mathrm'), T_BEGIN, $q, T_END, T_END); } + elsif ($qmode =~ /^brackets?$/) { $q = Tokens(six_get('open-bracket'), T_CS('\mathrm'), T_BEGIN, $q, T_END, six_get('close-bracket')); } - elsif (($qmode eq 'phrase') || ($qmode eq 'space')) { - my $sep = ($qmode eq 'phrase' ? six_get('qualifier-phrase') : T_CS('\;')); - $u = Tokens(($p ? six_get('open-bracket') : ()), - ($pre ? $pre : ()), + elsif (($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'text')) { + my $sep = $qmode eq 'phrase' ? six_get('qualifier-phrase') : ($qmode eq 'space' ? T_CS('\;') : Tokens()); + $u = Tokens(($power ? six_get('open-bracket') : ()), + ($prefix ? $prefix : ()), $u, $sep, $q, - ($p ? six_get('close-bracket') : ())); - $q = $pre = undef; } + ($power ? six_get('close-bracket') : ())); + $q = $prefix = undef; + } elsif ($qmode eq 'text') { $q = Tokens(T_CS('\mathrm'), T_BEGIN, $q, T_END) } } - # Apparently best to treat $pre & $u as a single symbol? AND probably the qualifier? + # $meaning ||= ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') + # . ($q ? '-' . $$unit{qualifier}{name} : ''); + # Apparently best to treat $prefix & $u as a single symbol? AND probably the qualifier? my $result = Tokens( T_CS('\lx@unit'), - T_OTHER(($pre ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') - . ($q ? '-' . $$unit{qualifier}{name} : '')), - T_BEGIN, Invocation(T_CS('\mathrm'), Tokens(($pre ? $pre : ()), ($u ? $u : ()))), - ($q ? $q : ()), T_END); - if ($p) { - $result = Tokens(T_CS('\lx@power'), T_BEGIN, $result, T_END, T_BEGIN, $p, T_END); } + T_BEGIN, + T_OTHER($meaning), + T_END, + T_BEGIN, + Invocation(T_CS('\mathrm'), Tokens(($prefix ? $prefix : ()), ($u ? $u : ()))), + ($q ? $q : ()), + T_END); + if ($power) { + if ($power->toString !~ /-/ && $power->toString == 0.5 && six_getBool('power-half-as-sqrt')) { + $result = Tokens(T_CS('\sqrt'), T_BEGIN, $result, T_END); } + else { + $result = Tokens(T_CS('\lx@power'), T_BEGIN, $result, T_END, T_BEGIN, $power, T_END); } } if ($$unit{cancel}) { $result = Tokens(T_CS('\cancel'), T_BEGIN, $result, T_END); } if (my $color = $$unit{highlight}{color}) { @@ -1041,28 +2024,33 @@ sub six_format_unitproduct { # Format multiple (product of) units sub six_format_units { my (@units) = @_; - # Most complexity here is how to deal with "per", negative powers, and grouping of units - my $p2 = 0; - my $p10 = 0; - # This option MODIFIES the units objects, extracts (removing) all prefixes - # all prefixes are combined into a single common power of 10 or 2, at the front - if (!six_getBool('prefixes-as-symbols')) { + # per-mode options: reciprocal (nee power), fraction, reciprocal-positive-first, + # symbol, symbol-or-fraction, single-symbol + my $mathstyle = LookupValue('font')->getMathstyle || 'text'; + my $mode = $mathstyle eq 'display' ? 'display' : 'inline'; + my $permode = six_getBool('parse-units') ? six_getChoice($mode . '-per-mode') : 'symbol'; + my $prefixMode = six_getChoice('prefix-mode'); + if ($permode eq 'symbol-or-fraction') { + $permode = $mathstyle eq 'display' ? 'fraction' : 'symbol'; } + my $result = Tokens(); + my $currPower = 0; + if ($prefixMode eq 'extract-exponent' || !six_getBool('prefixes-as-symbols')) { + my $base; foreach my $unit (@units) { - if (my $pre = $$unit{prefix}) { - my $p = ToString($$unit{prepower}{power} || $$unit{postpower}{power} || 1) - * ($$unit{per} ? -1 : +1); - if ($$pre{base} == 2) { $p2 += $p * ToString($$pre{power}); } - else { $p10 += $p * ToString($$pre{power}); } - $$unit{prefix} = undef; - if (($$unit{unit}{name} || '') eq 'gram') { # Special case: keep kilograms! - $$unit{prefix} = LookupMapping('siunitx_macros', 'kilo'); - $p10 -= 3 * $p; } } } } - # per-mode = reciprocal, fraction, reciprocal-positive-first, symbol, symbol-or-fraction - my $permode = six_getChoice('per-mode'); - if ($permode eq 'symbol-or-fraction') { # in display use fraction, otherwise symbol - $permode = ((LookupValue('font')->getMathstyle || 'text') eq 'display' ? 'fraction' : 'symbol'); } - my $result = Tokens(); - if ($permode eq 'reciprocal') { # Each unit processed, in order, with its own per (if any) + my $unitMult = ToString($$unit{prepower}{power} || $$unit{postpower}{power} || 1) * ($$unit{per} ? -1 : +1); + if (my $prefix = $$unit{prefix}) { + $currPower += $unitMult * ToString($$prefix{power}); + if ($base) { + if ($$unit{prefix}{base} != $base) { + Error('unexpected', undef, undef, "Prefix bases do not match: Expected $base, found $$unit{prefix}{base}"); } } + else { + $base = $$unit{prefix}{base}; } + delete $$unit{prefix}; } + if (($$unit{unit}{name} || '') eq 'gram' && six_getBool('extract-mass-in-kilograms')) { # Special case: keep kilograms! + $currPower -= 3 * $unitMult; + $$unit{prefix} = LookupMapping('siunitx_macros', 'kilo'); } } + AssignValue('SIX_exponent-base' => Tokenize($base)) if $currPower; } + if ($permode eq 'reciprocal' || $permode eq 'power') { # Each unit processed, in order, with its own per (if any) $result = six_format_unitproduct(0, @units); } else { # Otherwise, we've got to collect num & denom, possibly into a fraction my @numer = (); @@ -1070,15 +2058,19 @@ sub six_format_units { foreach my $unit (@units) { # Separate into positive & negative powers. if ($$unit{per}) { push(@denom, $unit); } else { push(@numer, $unit); } } - if ($permode eq 'reciprocal-positive-first') { # re-ordered, otherwise each per as-is. + if ($permode eq 'single-symbol' && (scalar(@denom) != 1 || scalar(@numer) == 0)) { + $result = six_format_unitproduct(0, @units); } # single-symbol fails. repeat $permode eq 'power' + elsif ($permode eq 'reciprocal-positive-first' || $permode eq 'power-positive-first') { + # re-ordered, otherwise each per as-is. $result = six_format_unitproduct(0, @numer, @denom); } - else { # Otherwise, remove per markers from denom. - map { $$_{per} = undef; } @denom; # MODIFY the denominator units! + else { # Otherwise, remove per markers from denom. + map { $$_{per} = undef; } @denom; # MODIFY the denominator units! if ($permode eq 'fraction') { - $result = Tokens(T_CS('\frac'), + $result = Tokens(six_get('fraction-command'), T_BEGIN, six_format_unitproduct(0, @numer), T_END, T_BEGIN, six_format_unitproduct(0, @denom), T_END); } - elsif ($permode eq 'repeated-symbol') { + elsif ($permode eq 'repeated-symbol' || $permode eq 'single-symbol') { + # if single-symbol, then @denom==1 and @numer>0 from above my $per = six_get_op({ role => 'MULOP', meaning => 'divide' }, 'per-symbol'); $result = six_format_unitproduct(0, @numer); foreach my $denom (@denom) { # special symbol prefixes each denom unit @@ -1092,13 +2084,10 @@ sub six_format_units { six_format_unitproduct($bracket, @denom)); } else { Error('unexpected', $permode, undef, "Unknown siunitx per-mode $permode"); } } } - if ($p2 || $p10) { - $result = six_format_infix( - six_get_op({ role => 'MULOP', meaning => 'times' }, 'inter-unit-product'), - undef, undef, - ($p2 ? Tokens(T_CS('\lx@power'), T_OTHER('2'), T_OTHER($p2)) : ()), - ($p10 ? Tokens(T_CS('\lx@power'), T_OTHER('10'), T_OTHER($p10)) : ()), - $result); } + if ($currPower) { + my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); + my $prefix = { operator => 'exponent', arg2 => { integer => Tokenize($currPower) } }; + $result = six_format_infix($times, undef, undef, six_format_number($prefix), $result); } return $result; } # NOTE: This takes units as-is; is it feasable to guess at semantics? @@ -1145,64 +2134,305 @@ DefMacro('\si OptionalKeyVals:SIX {}', sub { my $funits = six_wrap(six_process_units($units)); six_end_processing(); return $funits; }); +Let(T_CS('\unit'), T_CS('\si')); # \SI [options]{number}{units} +# \qty, \complexqty, and \qtyproduct also get Let to this +# This whole thing could be done better. It originally parsed and formatted the units +# then parsed and formatted the number. But the units can affect the number, +# depending on the options (and vice versa). So it would be better to parse both, use the +# options, and then format both. Or use the aforementioned options to change the +# number and units, and then pass it off to \num and \si. DefMacro('\SI OptionalKeyVals:SIX {}{}', sub { my ($gullet, $kv, $number, $units) = @_; six_begin_processing($gullet, $kv); # multi-part-units, product-units !!!! BLECH!!! - my $fnumber = six_format_number(six_parse_number($gullet, $number)); + my $parsedNumber = six_parse_number($gullet, $number); six_enableUnitMacros(1); - my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); - my $result = six_wrap(six_format_infix($times, undef, undef, - $fnumber, I_wrap({}, six_process_units($units)))); + my $expr = ExpandPartially($units); # Apparently only partially here + my ($formattedUnits, $result); + if (my $defns = six_convertUnits($expr)) { + my @parsedUnits; + ($parsedNumber, @parsedUnits) = six_process_SI_units($defns, $parsedNumber); + $formattedUnits = six_format_units(@parsedUnits); + $result = six_format_SI($parsedNumber, $formattedUnits, $defns); } + else { + $formattedUnits = six_parse_literalunits($expr); + $result = six_format_SI($parsedNumber, $formattedUnits); } six_end_processing(); return $result; }); +Let(T_CS('\qty'), T_CS('\SI')); +Let(T_CS('\complexqty'), T_CS('\SI')); +Let(T_CS('\qtyproduct'), T_CS('\SI')); + +sub six_get_num_terms { + my ($parsedNumber) = @_; + if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} && $$parsedNumber{operator} eq 'product') { + return six_get_num_terms($$parsedNumber{arg1}) + six_get_num_terms($$parsedNumber{arg2}); } + else { + return 1; } } + +sub six_process_SI_units { + my ($defns, $parsedNumber) = @_; + my $numTerms = six_get_num_terms($parsedNumber); + my $prefixMode = six_getChoice('prefix-mode'); + my $currPower = six_get_sci_exp($parsedNumber); + my $productUnits = 'single'; # 'six_getChoice('product-units'); # todo upgrade + $productUnits =~ s/^brackets/bracket/; + $numTerms = 1 unless ($productUnits =~ /power$/); + my @parsedUnits = six_parse_units($defns); + + if ($numTerms > 1) { + foreach my $unit (@parsedUnits) { + if ($$unit{prepower}) { + my $oldExp = $$unit{prepower}{power}->toString; + $$unit{prepower} = { %{ LookupMapping('siunitx_macros', 'raiseto') } }; + $$unit{prepower}{power} = Tokenize($oldExp * $numTerms); } + elsif ($$unit{postpower}) { + my $oldExp = $$unit{postpower}{power}->toString; + $$unit{postpower} = { %{ LookupMapping('siunitx_macros', 'tothe') } }; + $$unit{postpower}{power} = Tokenize($oldExp * $numTerms); } + else { + $$unit{postpower} = { %{ LookupMapping('siunitx_macros', 'tothe') } }; + $$unit{postpower}{power} = Tokenize($numTerms); } } } + if ($prefixMode eq 'combine-exponent' && $currPower) { + # the power of 10 (or 2?) (if present) is absorbed into the first unit's prefix, modifying it + six_adjust_unit_prefix($parsedUnits[0], $currPower); + $parsedNumber = six_get_number_with_sci_exp($parsedNumber, $currPower); } + elsif ($prefixMode eq 'extract-exponent' || !six_getBool('prefixes-as-symbols')) { + # all prefixes are combined into a single common power of 10 or 2, at the front + # This option MODIFIES the units objects, extracts (removing) all prefixes + # Most complexity here is how to deal with "per", negative powers, and grouping of units + foreach my $unit (@parsedUnits) { + my $p = ToString($$unit{prepower}{power} || $$unit{postpower}{power} || 1) * ($$unit{per} ? -1 : +1); + if (my $pre = $$unit{prefix}) { + $currPower += $p * ToString($$pre{power}); } + $$unit{prefix} = undef; + if (($$unit{unit}{name} || '') eq 'gram' && six_getBool('extract-mass-in-kilograms')) { # Special case: keep kilograms! + $$unit{prefix} = LookupMapping('siunitx_macros', 'kilo'); + $currPower -= 3 * $p; } } + if ($$parsedNumber{operator} && $$parsedNumber{operator} eq 'exponent') { + if ($currPower) { + $$parsedNumber{arg2}{sign} = T_OTHER('-') if ($currPower < 0); + $$parsedNumber{arg2}{integer} = Tokenize(abs($currPower)); } + else { + $$parsedNumber = $$parsedNumber{arg1}; } } + elsif ($currPower) { + my %exponent = (integer => Tokenize(abs($currPower))); + $exponent{sign} = T_OTHER('-') if ($currPower < 0); + $parsedNumber = { arg1 => $parsedNumber, arg2 => \%exponent, operator => 'exponent' }; } } + return ($parsedNumber, @parsedUnits); } + +sub six_format_SI { + my ($parsedNumber, $processedUnits, $defns) = @_; + my $result; + my $productUnits = 'single'; # six_getChoice('product-units'); # todo upgrade + my $wrappedUnits = I_wrap({}, $processedUnits); + my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); + if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} + && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'repeat' && 0) { # todo upgrade + my $main = $$parsedNumber{arg1}; + my $fmain = six_format_number($main); + my @mainresult = six_format_infix($times, undef, undef, $fmain, $wrappedUnits); + my @uncertainties = @{ $$parsedNumber{arg2} }; + my @funcertainties = map { six_format_number($_) } @uncertainties; + my @uncertainResults = map { six_format_infix($times, undef, undef, $_, $wrappedUnits) } @funcertainties; + $result = six_wrap(six_format_infix(T_CS('\pm'), undef, undef, @mainresult, @uncertainResults)); } + else { + if (!six_getBool('parse-numbers') + || ($$parsedNumber{integer} && ToString($$parsedNumber{integer}) ne '1') + || (six_getBool('print-unity-mantissa')) + || $$parsedNumber{sign} || $$parsedNumber{decimal} || $$parsedNumber{fraction} || $$parsedNumber{operator}) { + if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} && $$parsedNumber{operator} eq 'product') { + my @terms = ($$parsedNumber{arg1}, $$parsedNumber{arg2}); + while ($terms[0]{operator} && $terms[0]{operator} eq 'product') { + my $arg1 = shift(@terms); + unshift(@terms, $$arg1{arg1}, $$arg1{arg2}); } + my @fterms; + if (six_getBool('exponent-to-prefix') && $defns) { + if (six_getBool('product-independent-prefix')) { + foreach my $parsedNum (@terms) { + my @units = six_parse_units($defns); # do this again + if (my $exp = six_get_sci_exp($parsedNum)) { + six_adjust_unit_prefix($units[0], $exp); + $parsedNum = six_get_number_with_sci_exp($parsedNum, $exp); } + my $funits = six_format_units(@units); + push(@fterms, six_format_infix($times, undef, undef, six_format_number($parsedNum), $funits)); } } + else { + my @units = six_parse_units($defns); + my $min_exp; + foreach my $parsedNum (@terms) { + my $next_exp = six_get_sci_exp($parsedNum); + if (!defined $min_exp || $next_exp < $min_exp) { + $min_exp = $next_exp; } } + @terms = map { six_get_number_with_sci_exp($_, $min_exp) } @terms; + six_adjust_unit_prefix($units[0], $min_exp); + my $funits = six_format_units(@units); + my @formatted = map { six_format_number($_); } @terms; + @fterms = map { six_format_infix($times, undef, undef, $_, $funits) } @formatted; } + $result = six_wrap(six_format_infix(six_get_op({ role => 'MULOP', meaning => 'times' }, 'output-product'), + undef, undef, @fterms)); } + else { + if ($productUnits eq 'repeat') { + @fterms = map { six_format_infix($times, undef, undef, six_format_number($_), $wrappedUnits) } @terms; } + else { + @fterms = map { six_format_number($_) } @terms; } + $result = six_wrap(six_format_infix(six_get_op({ role => 'MULOP', meaning => 'times' }, 'output-product'), + undef, undef, @fterms)); + if ($productUnits =~ /^bracket/) { + $result = six_wrap(six_get('product-open-bracket', 'open-bracket'), $result, + six_get('product-close-bracket', 'close-bracket')); } + $result = six_wrap(six_format_infix($times, undef, undef, $result, $wrappedUnits)) unless ($productUnits eq 'repeat'); } } + else { + my $fnumber = six_format_number($parsedNumber); + if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} + && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'bracket' && 0) { # todo upgrade + $result = I_wrap({}, T_OTHER('('), $fnumber, T_OTHER(')')); } + else { + $result = $fnumber; } + $result = six_wrap(six_format_infix($times, undef, undef, $result, $wrappedUnits)); } } + else { + $result = six_wrap($wrappedUnits); } } + return $result; } + +# get a prefix corresponding to a given power (and base) +# if more than one prefix has that power, returns one of them arbitrarily +sub six_get_prefix_from_power { + my ($power, $base) = @_; + $base ||= 10; + my @units = LookupMappingKeys('siunitx_macros'); + foreach my $unit (@units) { + my $prefix = LookupMapping('siunitx_macros', $unit); + if ($$prefix{type} eq 'prefix' && $$prefix{base} == $base) { + my $prefixPower = ToString($$prefix{power}); + $prefixPower =~ s/\s+//g; + if ($prefixPower eq $power) { + return $prefix; } } } + Error('power', 'unknown', undef, "Exponent '$power' cannot be converted into a symbolic prefix (base $base)"); + return; } + +# adjust a unit according to a given exponential. modifies the unit in place. +sub six_adjust_unit_prefix { + my ($unit, $adjustment) = @_; + my $pre = $$unit{prefix}; + my $prePostPower = ToString(($$unit{prepower} && $$unit{prepower}{power}) + || ($$unit{postpower} && $$unit{postpower}{power}) || 1); + if ($pre) { + $adjustment += $prePostPower * ($$unit{per} ? -1 : 1) * ToString($$pre{power}); } + if ($adjustment) { + $adjustment /= $prePostPower * ($$unit{per} ? -1 : 1); + $$unit{prefix} = six_get_prefix_from_power($adjustment); } + else { + $$unit{prefix} = undef; } + return; } # \SIlist[options]{number;number;...}{units} DefMacro('\SIlist OptionalKeyVals:SIX {}{}', sub { my ($gullet, $kv, $numbers, $units) = @_; six_begin_processing($gullet, $kv); - my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); - my $mode = six_getChoice('list-units'); # brackets, repeat, single. - my @items = six_parse_numbers($gullet, $numbers); - @items = map { six_format_number($_); } @items; # Format (semantically) each number + my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); + my $mode = six_getChoice('list-units'); # brackets, repeat, single. + my @parsed = six_parse_numbers($gullet, $numbers); + my ($result, $funits, @qtys, $defns); six_enableUnitMacros(1); - my $funits = six_process_units($units); - my $result; + my $expr = ExpandPartially($units); # Apparently only partially here - if ($mode eq 'repeat') { # make product of units with each number - $result = six_format_list(($mode eq 'brackets'), - map { six_format_infix($times, undef, undef, $_, $funits); } @items); } + if ($defns = six_convertUnits($expr)) { + $funits = six_format_units(six_parse_units($defns)); } + else { + $funits = six_parse_literalunits($expr); } + + if ($mode eq 'repeat') { # make product of units with each number + if ($defns && six_getBool('exponent-to-prefix')) { + if (six_getBool('list-independent-prefix')) { + foreach my $parsedNum (@parsed) { + my @units = six_parse_units($defns); # do this again + if (my $exp = six_get_sci_exp($parsedNum)) { + six_adjust_unit_prefix($units[0], $exp); + $parsedNum = six_get_number_with_sci_exp($parsedNum, $exp); } + $funits = six_format_units(@units); + push(@qtys, six_format_infix($times, undef, undef, six_format_number($parsedNum), $funits)); } + $result = six_format_list(0, @qtys); } + else { + my @units = six_parse_units($defns); + my $min_exp = undef; + foreach my $parsedNum (@parsed) { + my $next_exp = six_get_sci_exp($parsedNum); + if (!defined $min_exp || $next_exp < $min_exp) { + $min_exp = $next_exp; } } + @parsed = map { six_get_number_with_sci_exp($_, $min_exp) } @parsed; + six_adjust_unit_prefix($units[0], $min_exp); + $funits = six_format_units(@units); + my @formatted = map { six_format_number($_); } @parsed; # Format (semantically) each number + $result = six_format_list(0, map { six_format_infix($times, undef, undef, $_, $funits); } @formatted); } } + else { + my @formatted = map { six_format_number($_); } @parsed; # Format (semantically) each number + $result = six_format_list(0, map { six_format_infix($times, undef, undef, $_, $funits); } @formatted); } } else { + my @formatted = map { six_format_number($_); } @parsed; # Format (semantically) each number $result = six_format_infix($times, undef, undef, - six_format_list(($mode eq 'brackets'), @items), $funits); } + six_format_list(scalar($mode =~ /^brackets?$/), @formatted), $funits); } $result = six_wrap($result); six_end_processing(); return $result; }); +Let(T_CS('\qtylist'), T_CS('\SIlist')); + +# if a number has the form {arg1, operator=>'exponent', arg2}, extract, parse, and return the exponent +sub six_get_sci_exp { + my ($parsedNum) = @_; + if (ref($parsedNum) eq 'HASH' && $$parsedNum{operator} && $$parsedNum{operator} eq 'exponent') { + return six_UnTeX($$parsedNum{arg2}) || 0; } + return 0; } # \SIrange[options]{number}{first}{last} DefMacro('\SIrange OptionalKeyVals:SIX {}{}{}', sub { my ($gullet, $kv, $first, $last, $units) = @_; six_begin_processing($gullet, $kv); - my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); - my $mode = six_getChoice('range-units'); # brackets, repeat, single. - my $fnumber = six_format_number(six_parse_number($gullet, $first)); - my $lnumber = six_format_number(six_parse_number($gullet, $last)); + my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); + my $mode = six_getChoice('range-units'); # brackets, repeat, single. + my @parsed = map { six_parse_number($gullet, $_) } ($first, $last); + my @formatted = map { six_format_number($_) } @parsed; six_enableUnitMacros(1); - my $result; - my $funits = six_process_units($units); + my ($result, $defns, $funits); + my $expr = ExpandPartially($units); # Apparently only partially here - if ($mode eq 'repeat') { # repeat the units on each number - $result = six_format_range(($mode eq 'brackets'), - six_format_infix($times, undef, undef, $fnumber, $funits), - six_format_infix($times, undef, undef, $lnumber, $funits)); } - else { # put the units after the range + if ($defns = six_convertUnits($expr)) { + $funits = six_format_units(six_parse_units($defns)); } + else { + $funits = six_parse_literalunits($expr); } + + if ($mode eq 'repeat') { # repeat the units on each number + if (six_getBool('exponent-to-prefix')) { + @formatted = (); + if (six_getBool('range-independent-prefix')) { + foreach my $parsedNum (@parsed) { + my $exp = six_get_sci_exp($parsedNum); + $parsedNum = six_get_number_with_sci_exp($parsedNum, $exp); + my @units = six_parse_units($defns); # do this again + six_adjust_unit_prefix($units[0], $exp); + push(@formatted, six_format_infix($times, undef, undef, six_format_number($parsedNum), six_format_units(@units))); } + $result = six_format_range(0, @formatted); } + else { + my @exps = map { six_get_sci_exp($_) } @parsed; + my $min_exp = $exps[$exps[0] < $exps[1] ? 0 : 1]; + @parsed = map { six_get_number_with_sci_exp($_, $min_exp) } @parsed; + @formatted = map { six_format_number($_) } @parsed; + my @units = six_parse_units($defns); + six_adjust_unit_prefix($units[0], $min_exp); + $funits = six_format_units(@units); + my @infixed = map { six_format_infix($times, undef, undef, $_, $funits) } @formatted; + $result = six_format_range(0, @infixed); } } + else { + $result = six_format_range(0, + six_format_infix($times, undef, undef, $formatted[0], $funits), + six_format_infix($times, undef, undef, $formatted[1], $funits)); } } + else { # put the units after the range $result = six_format_infix($times, undef, undef, - six_format_range(($mode eq 'brackets'), $fnumber, $lnumber), $funits); } + six_format_range(scalar($mode =~ /brackets?/), @formatted), $funits); } $result = six_wrap($result); six_end_processing(); return $result; }); +Let(T_CS('\qtyrange'), T_CS('\SIrange')); #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1277,6 +2507,7 @@ DefPrimitive('\DeclareSIPrefix OptionalKeyVals:SIX SkipSpaces DefToken {}{}', su DefMacroI($newcs, undef, '\lx@six@unitobject@collapsible{' . $name . '}{' . ToString($presentation) . '}'); return; }); + # \NewDocumentCommand \DeclareSIPrePower { m m } { # \__siunitx_declare_power_before:Nn #1 {#2} } # Prefix operator, applies a power @@ -1305,6 +2536,11 @@ DefPrimitive('\DeclareSIPostPower OptionalKeyVals:SIX SkipSpaces DefToken {}', s DefMacroI($newcs, undef, '\lx@six@unitobject{' . $name . '}'); return; }); +DefMacro('\DeclareSIPower DefToken DefToken {}', sub { + my ($gullet, $csPre, $csPost, $power) = @_; + return Tokens(T_CS('\DeclareSIPrePower'), $csPre, T_BEGIN, $power, T_END, + T_CS('\DeclareSIPostPower'), $csPost, T_BEGIN, $power, T_END); }); + # Special builtins: \tothe{}, \raiseto{} AssignMapping('siunitx_macros', tothe => { name => 'tothe', cs => T_CS('\tothe'), implementation => T_CS('\lx@six@tothe'), @@ -1332,8 +2568,22 @@ DefPrimitive('\DeclareSIQualifier OptionalKeyVals:SIX SkipSpaces DefToken {}', s # Special builtin: \of{} AssignMapping('siunitx_macros', of => { name => 'of', cs => T_CS('\of'), implementation => T_CS('\lx@six@of'), - keyvals => undef, type => 'qualifier', arg => 'qualifier', presentation => T_CS('\mathrm') }); -DefMacro('\lx@six@of{}', '\lx@six@unitobject@arg{of}{#1}'); + keyvals => undef, type => 'qualifier', arg => 'qualifier', presentation => Tokens() }); + +# TODO latexml Warning: "MathParser failed to match rule 'Anything'" for subscript, bracket, phrase +# TODO latexmlpost "Info:ignored:spacing No place to set spacing to 0.5 (default 0) between ..." +DefMacro('\lx@six@of', sub { + my $qmode = six_get('qualifier-mode')->toString; + $qmode =~ s/s$//; + T_CS('\lx@six@of@' . $qmode); }); +DefMacro('\lx@six@of@subscript{}', '\sb{\mathrm{#1}}'); +DefMacro('\lx@six@of@bracket{}', sub { + my ($gullet, $arg) = @_; + Tokens(six_get('open-bracket'), T_CS('\mathrm'), T_BEGIN, $arg, T_END, six_get('close-bracket')); }); +DefMacro('\lx@six@of@combine', '\mathrm'); +DefMacro('\lx@six@of@phrase', sub { + Tokens(six_get('qualifier-phrase'), T_CS('\mathrm')); }); +DefMacro('\lx@six@of@space', '\;'); # \NewDocumentCommand \DeclareSIUnit { O {} m m } { # \__siunitx_declare_unit:Nnn #2 {#3} {#1} } @@ -1344,6 +2594,20 @@ DefPrimitive('\DeclareSIUnit OptionalKeyVals:SIX SkipSpaces DefToken {}', sub { my ($stomach, $kv, $cs, $presentation) = @_; my $name = $cs->getCSName; $name =~ s/^\\//; my $newcs = T_CS('\lx@six@' . $name); + # siunitx no longer allows prefixes without units. The recommended alternative is + # \DeclareSIUnit\noop{\relax} + # This becomes the xml + # + # + # + # and then the html + # + # noop + # + # we can fix this by replacing the $presentation, but we have to know when to do so + # \char, \text, and the various \SIUnitSymbol commands are Primitives, but they're ok + # explicitly looking for \relax feels hacky, but gets the job done + $presentation = Tokenize('') if ($presentation->equals(Tokenize('\relax'))); AssignMapping('siunitx_macros', $name => { name => $name, cs => $cs, implementation => $newcs, keyvals => $kv, type => 'unit', presentation => $presentation }); @@ -1375,7 +2639,7 @@ AssignMapping('siunitx_macros', DefMacro('\lx@six@highlight{}', '\lx@six@unitobject@arg{highlight}{#1}'); #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# Tables +# Tables - \lx@six@initialize also sets up column types passed to the key table-column-type (default S) DefColumnType('s Optional', sub { my ($gullet, $kv) = @_; $LaTeXML::BUILD_TEMPLATE->addColumn( @@ -1387,17 +2651,6 @@ DefColumnType('s Optional', sub { ); return; }); -DefColumnType('S Optional', sub { - my ($gullet, $kv) = @_; - $LaTeXML::BUILD_TEMPLATE->addColumn( - before => Tokens(T_BEGIN, - T_CS('\lx@si@column@prep'), ($kv ? (T_OTHER('['), $kv, T_OTHER(']')) : ()), - T_CS('\lx@SI@column@parse')), - after => Tokens(T_CS('\lx@si@column@end'), T_END), - # align => 'char:' . ToString(Digest(T_CS('\nprt@decimal')))); - ); - return; }); - DefMacro('\lx@si@column@prep OptionalKeyVals:SIX', sub { my ($gullet, $kv) = @_; six_begin_processing($gullet, $kv); @@ -1412,14 +2665,26 @@ DefPrimitive('\lx@si@column@end', ''); # color treated a bit differently? DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { - my ($gullet, $number) = @_; - my @tokens = $number->unlist; + my ($gullet, $entry) = @_; + my @tokens = $entry->unlist; my $doparse = six_getBool('parse-numbers'); + if (six_getBool('table-auto-round')) { + AssignValue('SIX_round-precision' => six_get('table-figures-decimal')); + AssignValue('SIX_round-mode' => Tokenize('places')); } # Deal with recognizing "surrounding material" - my @pre = (); - my @post = (); - my $color = six_get('color'); - my $result; + my ($result, @pre, @post, $save_trimright); # , $pretoks, $posttoks + $save_trimright = @tokens && Equals($tokens[-1], T_CS('\lx@column@trimright')); + if ($save_trimright) { + pop(@tokens); + pop(@tokens) while (@tokens && Equals($tokens[-1], T_SPACE)); } + my $color = six_get('number-color'); + # todo upgrade - just delete these 4 lines? + #($pretoks, @tokens) = six_peel_group(@tokens); + #($posttoks, @tokens) = six_peel_tail_group(@tokens); + #push(@pre, T_BEGIN, $pretoks->unlist, T_END) if $pretoks; + #unshift(@post, T_BEGIN, $posttoks->unlist, T_END) if $posttoks; + # move spaces, commands, and groups from the table entry to @pre or @post + # this may fail if \command{arg} doesn't bracket an argument while (@tokens) { my $cc = $tokens[0]->getCatcode; if (($cc == CC_SPACE) @@ -1434,21 +2699,76 @@ DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { push(@pre, T_BEGIN, $p, T_END); } else { last; } } - # six_parse_begin($gullet, $kv); - if ($doparse) { + while (@tokens) { # move spaces and commands from the table entry to @post + my $cc = $tokens[-1]->getCatcode; + if (($cc == CC_SPACE) + || ($doparse && ($cc == CC_CS) + && !six_match1($tokens[-1], 'input-protect-tokens', 'input-symbols'))) { + unshift(@post, pop(@tokens)); } + elsif ($doparse && $cc == CC_END) { + my $p; + ($p, @tokens) = six_peel_tail_group(@tokens); + unshift(@post, T_BEGIN, $p, T_END); } + else { + last; } } + my ($pad_left, $pad_right) = ('', ''); + if ($doparse and @tokens) { my $tokens = [six_apply_mathligatures(@tokens)]; my $parsed = six_match_number($tokens); - @post = @$tokens; # Save what's left - $result = six_format_number(six_postprocess($parsed)); } + # todo upgrade + # if ( @pre || six_get('table-space-text-pre') ) { + # my $prewidth = Digest(six_get('table-space-text-pre')||'')->getWidth->[0]; + # @pre = (T_CS('\makebox'), ExplodeText('['.$prewidth.'sp][r]'), T_BEGIN, @pre, T_END); } + # if ( @post || six_get('table-space-text-post') ) { + # my $postwidth = Digest(six_get('table-space-text-post')||'')->getWidth->[0]; + # @post = (T_CS('\makebox'), ExplodeText('['.$postwidth.'sp][l]'), T_BEGIN, @post, T_END); } + if (@$tokens) { + # how does siunitx tell that something isn't a number? + #Error('unexpected', undef, undef, 'Unexpected tokens remain in table cell'); + unshift(@post, @$tokens); } +# we pass references to pad_left / right so that we can update them and have that pass back up the recursion + $result = $parsed + ? six_format_number(six_postprocess($parsed), bracket => 0, pad_left_ref => \$pad_left, pad_right_ref => \$pad_right, + in_table_number => (0 && six_get('table-alignment-mode')->ToString ne 'none')) # todo upgrade + : (); } else { $result = Tokens(@tokens); } + if ($pad_left) { + my $spacing = six_table_space($pad_left); + if (six_getBool('table-align-text-before')) { + push(@pre, $spacing); } + else { + unshift(@pre, $spacing); } } + if ($pad_right) { + my $spacing = six_table_space($pad_right); + if (six_getBool('table-align-text-after')) { + unshift(@post, $spacing); } + else { + push(@post, $spacing); } } if ($color) { push(@pre, T_BEGIN, T_CS('\color'), T_BEGIN, $color, T_END); unshift(@post, T_END); } + # get this before closing the group in end_postprocessing + # but it's not used, because alignment is set when the column is initially parsed + # todo upgrade delete? + #my $align = six_get('table-'.(@tokens?'number':'text').'-alignment')->ToString; six_end_processing(); - return Tokens(@pre, - ($result ? six_wrap($result) : ()), - @post); }); + push(@post, T_SPACE, T_CS('\lx@column@trimright')) if ($save_trimright); + if (@tokens) { + $result = Tokens(@pre, six_wrap($result), @post); + # todo upgrade delete? + # if ( @pre && $pre[0]->getCatcode == CC_BEGIN && ! $color ) { + # $result = Tokens(@pre, six_wrap($result, @post)); } + # else { + # $result = six_wrap(@pre?@pre:(), $result, @post?@post:()); } + } + else { + $result = Tokens(@pre, $result, @post); } + return $result; + # todo upgrade delete + #return @tokens ? six_wrap($result) : $result; + #return Tokens(@pre, ( $result && @{$result} ? six_wrap($result) : ()), @post); +}); # similar to \si DefMacro('\lx@si@column@parse XUntil:\lx@si@column@end', sub { @@ -1456,7 +2776,7 @@ DefMacro('\lx@si@column@parse XUntil:\lx@si@column@end', sub { my @tokens = $units->unlist; my @pre = (); my @post = (); - my $color = six_get('color'); + my $color = six_get('color', 'unit-color'); my $result; while (@tokens) { @@ -1484,93 +2804,86 @@ DefMacro('\lx@si@column@parse XUntil:\lx@si@column@end', sub { ($result ? six_wrap($result) : ()), @post); }); -# ? -#Let('\tablenum', '\lx@table@num'); -Let('\tablenum', '\num'); - #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RawTeX(<<'EoTeX'); + \sisetup{ abbreviations, - binary-units, + binary-units , - math-rm = \mathrm, - math-sf = \mathsf, - math-tt = \mathtt, - mode = math, + math-rm = \mathrm , + math-sf = \mathsf , + math-tt = \mathtt , + mode = math , text-rm = \rmfamily, text-sf = \sffamily, text-tt = \ttfamily, input-product = x, input-quotient = /, -%( + input-open-uncertainty = (, input-close-uncertainty = ), input-complex-roots = ij, input-comparators = {<=>\approx\ge\geq\gg\le\leq\ll\sim}, input-decimal-markers = {.,}, input-digits = 0123456789, input-exponent-markers = dDeE, - input-open-uncertainty = (, % ) input-protect-tokens = \approx\dots\ge\geq\gg\le\leq\ll\mp\pi\pm\sim, input-signs = +-\mp\pm, input-symbols = \dots\pi, input-uncertainty-signs = \pm, - add-decimal-zero = true, add-integer-zero = true, retain-unity-mantissa = true, - round-half = up, - round-minimum = 0, - round-precision = 2, + round-half = up , + round-minimum = 0 , + round-precision = 2 , - bracket-numbers = true , % ( + bracket-numbers = true , + open-bracket = ( , close-bracket = ) , complex-root-position = after-number , copy-decimal-marker = false , exponent-base = 10 , exponent-product = \times , - group-digits = true , + group-digits = all , group-minimum-digits = 5 , group-separator = \, , - open-bracket = ( , % ) ( + output-open-uncertainty = ( , output-close-uncertainty = ) , output-complex-root = \ensuremath { \mathrm { i } } , output-decimal-marker = . , - output-open-uncertainty = (, % ) fraction-function = \frac , output-product = \times , output-quotient = / , parse-numbers = true , - quotient-mode = symbol, - + quotient-mode = symbol , forbid-literal-units = false, - parse-units = true, + parse-units = true , prefixes-as-symbols = true, - bracket-unit-denominator = true, - inter-unit-product = \,, - literal-superscript-as-power = true, - per-mode = reciprocal, - per-symbol = /, - power-font = number, - qualifier-mode = subscript, - qualifier-phrase = { ~ of ~ }, + bracket-unit-denominator = true , + inter-unit-product = \, , + literal-superscript-as-power = true , + per-mode = power , % same behavior of v2 recipricol + per-symbol = / , + power-font = number , + qualifier-mode = subscript , multi-part-units = brackets, number-unit-product = \, , - product-units = repeat, + product-units = repeat , list-final-separator = { and } , list-pair-separator = { and } , - list-separator = {, } , - list-units = repeat, + list-separator = {, } , + list-units = repeat , range-phrase = { to }, - range-units = repeat, + range-units = repeat , table-unit-alignment = center, @@ -1581,10 +2894,7 @@ RawTeX(<<'EoTeX'); table-align-uncertainty = true, table-omit-exponent = false, table-parse-only = false, - table-number-alignment = center-decimal-marker, table-text-alignment = center, - table-figures-decimal = 2, - table-figures-integer = 3, redefine-symbols = true, @@ -1599,8 +2909,7 @@ RawTeX(<<'EoTeX'); text-angstrom = \AA, text-arcminute = \ensuremath { { } ^ { \prime } }, text-arcsecond = \ensuremath { { } ^ { \prime \prime } }, - text-celsius = - \ensuremath { { } ^ { \circ } } \kern -\scriptspace C , + text-celsius = \ensuremath { { } ^ { \circ } } \kern -\scriptspace C , text-degree = \ensuremath { { } ^ { \circ } }, text-micro = \c__siunitx_mu_tl , text-ohm = \ensuremath { \c__siunitx_omega_tl }, @@ -1614,26 +2923,23 @@ RawTeX(<<'EoTeX'); % multi-part-units = brackets, % parse-numbers = true, % parse-units = true, -% product-units = repeat, % otherwise - bracket-numbers , +% bracket-numbers , detect-family , detect-italic , detect-mode , detect-shape , detect-weight , multi-part-units , - parse-numbers , - parse-units , - product-units, +% parse-numbers , +% parse-units , number-angle-product=, number-angle-separator=, arc-separator=, } -\DeclareSIUnit \kilogram { \kilo \gram } -%%%\DeclareSIUnit \metre { m } -%%%\DeclareSIUnit \meter { \metre } +%%%\DeclareSIUnit \metre { m } +%%%\DeclareSIUnit \meter { \metre } %%% Swapped to be more NIST consistent. \DeclareSIUnit \meter { m } \DeclareSIUnit \metre { \meter } @@ -1643,6 +2949,8 @@ RawTeX(<<'EoTeX'); \DeclareSIUnit \kelvin { K } \DeclareSIUnit \candela { cd } \DeclareSIUnit \gram { g } +\DeclareSIPrefix \quecto { q } { -30 } +\DeclareSIPrefix \ronto { r } { -27 } \DeclareSIPrefix \yocto { y } { -24 } \DeclareSIPrefix \zepto { z } { -21 } \DeclareSIPrefix \atto { a } { -18 } @@ -1664,6 +2972,9 @@ RawTeX(<<'EoTeX'); \DeclareSIPrefix \exa { E } { 18 } \DeclareSIPrefix \zetta { Z } { 21 } \DeclareSIPrefix \yotta { Y } { 24 } +\DeclareSIPrefix \ronna { R } { 27 } +\DeclareSIPrefix \quetta { Q } { 30 } +\DeclareSIUnit \kilogram { \kilo \gram } \DeclareSIUnit \becquerel { Bq } \DeclareSIUnit \celsius { \SIUnitSymbolCelsius } \DeclareSIUnit \degreeCelsius { \SIUnitSymbolCelsius } @@ -1688,46 +2999,31 @@ RawTeX(<<'EoTeX'); \DeclareSIUnit \watt { W } \DeclareSIUnit \weber { Wb } \DeclareSIUnit [ number-unit-product = ] \arcmin { \arcminute } -\DeclareSIUnit [ number-unit-product = ] - \arcminute { \SIUnitSymbolArcminute } -\DeclareSIUnit [ number-unit-product = ] - \arcsecond { \SIUnitSymbolArcsecond } +\DeclareSIUnit [ number-unit-product = ] \arcminute { \SIUnitSymbolArcminute } +\DeclareSIUnit [ number-unit-product = ] \arcsecond { \SIUnitSymbolArcsecond } \DeclareSIUnit \day { d } \DeclareSIUnit[ number-unit-product = ] \degree { \SIUnitSymbolDegree } \DeclareSIUnit \hectare { ha } \DeclareSIUnit \hour { h } -\DeclareSIUnit \litre { l } -\DeclareSIUnit \liter { L } +\DeclareSIUnit \litre { l } % siunitx uses L +\DeclareSIUnit \liter { L } % siunitx uses \litre \DeclareSIUnit \minute { min } \DeclareSIUnit \percent { \char 37 } \DeclareSIUnit \tonne { t } -\DeclareSIUnit \astronomicalunit { ua } +\DeclareSIUnit \astronomicalunit { ua } % upgrade to au \DeclareSIUnit \atomicmassunit { u } \DeclareSIUnit \electronvolt { eV } \DeclareSIUnit \dalton { Da } - -%\group_begin: -%\cs_set_eq:NN \endgroup \group_end: -%\char_set_catcode_math_subscript:N \_ -%\use:n -% { -% \endgroup - \DeclareSIUnit \clight { \text { \ensuremath { c _ { 0 } } } } - \DeclareSIUnit \electronmass - { \text { \ensuremath { m _ { \textup { e } } } } } -% } -\DeclareSIUnit \planckbar { \text { \ensuremath { \hbar } } } +\DeclareSIUnit \clight { \text { \( c \sb { 0 } \) } } +%\DeclareSIUnit \clight { \text { \ensuremath { c \char_generate:nn { `\_ } { 8 } { 0 } } } } +\DeclareSIUnit \electronmass { \text { \( m \sb { \textup { e } } \) } } +%\DeclareSIUnit \electronmass { \text { \ensuremath { m \char_generate:nn { `\_ } { 8 } { \textup { e } } } } } +\DeclareSIUnit \planckbar { \text { \ensuremath { \hbar } } } \DeclareSIUnit \elementarycharge { \text { \ensuremath { e } } } -%\group_begin: -%\cs_set_eq:NN \endgroup \group_end: -%\char_set_catcode_math_subscript:N \_ -%\use:n -% { -% \endgroup - \DeclareSIUnit \bohr { \text { \ensuremath { a _ { 0 } } } } - \DeclareSIUnit \hartree - { \text { \ensuremath { E _ { \textup { h } } } } } -% } +\DeclareSIUnit \bohr { \text { \( a \sb { 0 } \) } } +%\DeclareSIUnit \bohr { \text { \ensuremath { a \char_generate:nn { `\_ } { 8 } { 0 } } } } +\DeclareSIUnit \hartree { \text { \( E \sb { \textup { h } } \) } } +%\DeclareSIUnit \hartree { \text { \ensuremath { E \char_generate:nn { `\_ } { 8 } { \textup { h } } } } } \DeclareSIUnit \angstrom { \SIUnitSymbolAngstrom } \DeclareSIUnit \bar { bar } \DeclareSIUnit \barn { b } @@ -1742,8 +3038,126 @@ RawTeX(<<'EoTeX'); \DeclareSIPrePower \cubic { 3 } \DeclareSIPostPower \cubed { 3 } +\DeclareSIUnit \nW { \nano \watt } +\DeclareSIUnit \nF { \nano \farad } +\DeclareSIUnit \uF { \micro \farad } +\DeclareSIUnit \mF { \milli \farad } +\DeclareSIUnit \H { \henry } +\DeclareSIUnit \fH { \femto \henry } +\DeclareSIUnit \pH { \pico \henry } +\DeclareSIUnit \nH { \nano \henry } +\DeclareSIUnit \uH { \micro \henry } +\DeclareSIUnit \mH { \milli \henry } +\DeclareSIUnit \nC { \nano \coulomb } +\DeclareSIUnit \uC { \micro \coulomb } +\DeclareSIUnit \mC { \milli \coulomb } +\DeclareSIUnit \C { \coulomb } +\DeclareSIUnit \uT { \micro \tesla } +\DeclareSIUnit \mT { \milli \tesla } +\DeclareSIUnit \T { \tesla } + +\sisetup{ + % 4.2 printing + number-mode = math , + reset-math-version = true , + reset-text-family = true , + reset-text-series = true , + reset-text-shape = true , + text-subscript-command = \textsubscript , + text-superscript-command = \textsuperscript, + unit-mode = math , + % 4.3 parsing numbers (input-uncertainty-divider below) + expression = #1 , + % 4.4 post-processing numbers (exponent-thresholds below) + add-decimal-zero = true , + drop-zero-decimal = false , + exponent-mode = input , + fixed-exponent = 0 , + minimum-integer-digits = 0 , + minimum-decimal-digits = 0 , + round-direction = nearest, + round-mode = none , + round-pad = true , + round-zero-positive = true , + uncertainty-round-direction = nearest, + % 4.5 printing numbers + bracket-ambiguous-numbers = true , + digit-group-size = 3 , + digit-group-first-size = 3 , + digit-group-other-size = 3 , + print-zero-integer = true , + print-unity-mantissa = true , + uncertainty-descriptor-mode = bracket-separator, + uncertainty-descriptor-separator = ~ , % regular space because expl3 + uncertainty-separator =, + uncertainty-mode = compact , + zero-symbol = {\mbox{---}} , + % 4.6 + list-open-bracket = ( , + list-close-bracket = ) , + list-exponents = individual , + product-open-bracket = ( , + product-close-bracket = ) , + product-exponents = individual , + product-mode = symbol , + product-phrase = { \text{by} }, + product-symbol = \times , + range-open-bracket = ( , + range-close-bracket = ) , + range-exponents = individual , + % 4.7 + complex-angle-unit = degrees , + complex-mode = input , + complex-phase-command = \angle , + complex-symbol-degree = \SIUnitSymbolDegree, %\degree, + input-complex-root = ij , + % 4.8 + angle-mode = input, + angle-symbol-degree = \degree, + angle-symbol-minute = \arcminute, + angle-symbol-second = \arcsecond, + % 4.10 + fraction-command = \frac, + per-symbol-script-correction = \!, + unit-font-command = \mathrm, + % 4.11 + extract-mass-in-kilograms = true, + prefix-mode = input, + quantity-product = \,, + separate-uncertainty-units = bracket, + % 4.12 + table-align-text-after = true, + table-align-text-before = true, + table-alignment = center, + table-column-width = 0pt, + table-format=2.2, + % 4.14: preamble only + list-input-separator = ;, + product-input-separator = x, + table-column-type = S, +} + +% can't seem to get :_12 in expl3 +% : becomes :_11 +% \c_colon_str becomes the \cs_16 +% \char_generate:nn { `: } { 12 } becomes the 11 item token list +\sisetup{ + % 4.3 parsing numbers + input-uncertainty-divider =:, + % 4.4 post-processing numbers + exponent-thresholds ={-3:3}, + % these don't exist in siunitx, but using them simplifies our code + angle-input-separator =;, + complex-angle-separator =:, + exponent-threshold-separator =:, +} +%\sisetup{table-format=2.2} + EoTeX +AssignValue('SIX_retain-explicit-decimal-marker' => Tokenize($VERSION_TWO ? 'true' : 'false')); +AssignValue('SIX_qualifier-phrase' => Tokenize($VERSION_TWO ? '~of~' : '')); # todo upgrade remove ~ + sub six_load_compat1 { RawTeX(<<'EoTeX'); \DeclareSIPrePower \Square { 2 } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index d7fa36ff466d0b26ef19c0b920506b9cbcdc50ed..0e74e164d3304122e25e32844abc37b37e871da5 100644 GIT binary patch delta 73184 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 delta 64239 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ಷ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 Y!_#sK!SKGbGjlPs!;+DS%8SAN7to=X7ytkO diff --git a/t/complex/si.tex b/t/complex/si.tex index f94d9c5cb6..85bee7b16b 100644 --- a/t/complex/si.tex +++ b/t/complex/si.tex @@ -1,7 +1,7 @@ \documentclass{article} \usepackage{xcolor} \usepackage{cancel} -\usepackage{siunitx} +\usepackage{siunitx}[=v2] \usepackage{float} \usepackage{multirow} \usepackage{booktabs} diff --git a/t/complex/si.xml b/t/complex/si.xml index 6fe21e31c6..6feb59a11e 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -220,11 +220,11 @@ Some text + - + × - 0.3 + 0.3 10 @@ -294,30 +294,26 @@ Some text 0.123 45 - + - + × 3.45 10 - - - - - - 4 - - + + - + 4 + - + - - - - - + + - + 10 10 @@ -488,27 +484,33 @@ Some text + - - 3 - i + + + + 3 + i + - + - × - - - 3 - i - - - - 10 - 4 + + + × + + + 3 + i + + + + 10 + 4 + @@ -516,9 +518,9 @@ Some text

Pretty nonsensical stuff? - + - + × @@ -531,7 +533,7 @@ Some text 10 - 3 + 3 @@ -1092,33 +1094,33 @@ Some text 1.3.7explicit-sign, retain-explicit-plus -

+

- 345 + + + 345 + - + - - - - + - 345 - - + + + + 345 + - + - - - - - - 345 - - + + - + 345 + - + - 345 + + + 345 +

@@ -1919,25 +1921,19 @@ Some text 1.4.9negative-color -

+

- - - - - - 15 673 - - + + - + 15 673 + - + - - - - - - 15 673 - - + + - + 15 673 +

@@ -1950,20 +1946,17 @@ Some text 1.4.10bracket-negative-numbers -

+

- - - - - - 15 673 - - + + - + 15 673 + - + - + ( 15 673 @@ -3580,14 +3573,20 @@ Some text y - + - + - 10 - -24 + 10 + + + + - + 24 + + @@ -3600,13 +3599,13 @@ Some text da - + - + - 10 + 10 1 @@ -3622,14 +3621,20 @@ Some text z - + - + - 10 - -21 + 10 + + + + - + 21 + + @@ -3642,13 +3647,13 @@ Some text h - + - + - 10 + 10 2 @@ -3664,14 +3669,20 @@ Some text a - + - + - 10 - -18 + 10 + + + + - + 18 + + @@ -3684,13 +3695,13 @@ Some text k - + - + - 10 + 10 3 @@ -3706,14 +3717,20 @@ Some text f - + - + - 10 - -15 + 10 + + + + - + 15 + + @@ -3726,13 +3743,13 @@ Some text M - + - + - 10 + 10 6 @@ -3748,14 +3765,20 @@ Some text p - + - + - 10 - -12 + 10 + + + + - + 12 + + @@ -3768,13 +3791,13 @@ Some text G - + - + - 10 + 10 9 @@ -3790,14 +3813,20 @@ Some text n - + - + - 10 - -9 + 10 + + + + - + 9 + + @@ -3810,14 +3839,14 @@ Some text T - + - + - 10 - 12 + 10 + 12 @@ -3832,14 +3861,20 @@ Some text µ - + - + - 10 - -6 + 10 + + + + - + 6 + + @@ -3852,14 +3887,14 @@ Some text P - + - + - 10 - 15 + 10 + 15 @@ -3874,14 +3909,20 @@ Some text m - + - + - 10 - -3 + 10 + + + + - + 3 + + @@ -3894,14 +3935,14 @@ Some text E - + - + - 10 - 18 + 10 + 18 @@ -3916,14 +3957,20 @@ Some text c - + - + - 10 - -2 + 10 + + + + - + 2 + + @@ -3936,14 +3983,14 @@ Some text Z - + - + - 10 - 21 + 10 + 21 @@ -3958,14 +4005,20 @@ Some text d - + - + - 10 - -1 + 10 + + + + - + 1 + + @@ -3978,14 +4031,14 @@ Some text Y - + - + - 10 - 24 + 10 + 24 @@ -4883,7 +4936,7 @@ Some text 2 - 10 + 10 @@ -4905,7 +4958,7 @@ Some text 2 - 20 + 20 @@ -4927,7 +4980,7 @@ Some text 2 - 30 + 30 @@ -4949,7 +5002,7 @@ Some text 2 - 40 + 40 @@ -4971,7 +5024,7 @@ Some text 2 - 50 + 50 @@ -4993,7 +5046,7 @@ Some text 2 - 60 + 60 @@ -5015,7 +5068,7 @@ Some text 2 - 70 + 70 @@ -5037,7 +5090,7 @@ Some text 2 - 80 + 80 @@ -5943,13 +5996,13 @@ Some text + - + ( @@ -5965,7 +6018,7 @@ Some text - + ( @@ -5992,20 +6045,20 @@ Some text + dBi

-

+

- + ( @@ -6022,7 +6075,7 @@ Some text - + ( @@ -6050,13 +6103,13 @@ Some text + - + ( @@ -6068,7 +6121,7 @@ Some text - + ( @@ -6118,14 +6171,20 @@ Some text dA - + - + - 10 - -4 + 10 + + + + - + 4 + + @@ -6142,14 +6201,20 @@ Some text + - + - 10 - -1 + 10 + + + + - + 1 + + @@ -6174,13 +6239,13 @@ Some text ds - + - + - 10 + 10 5 @@ -6210,14 +6275,20 @@ Some text ds - + - + - 10 - -19 + 10 + + + + - + 19 + + @@ -6245,14 +6316,20 @@ Some text ds - + - + - 10 - -7 + 10 + + + + - + 7 + + @@ -6287,14 +6364,14 @@ Some text ds - + - + - 10 - 17 + 10 + 17 @@ -6463,7 +6540,7 @@ Some text -

+

× @@ -6475,17 +6552,14 @@ Some text 10 - - - - - - 4 - - + + - + 4 + - + @@ -6499,13 +6573,10 @@ Some text 10 - - - - - - 4 - - + + - + 4 + m @@ -6522,98 +6593,80 @@ Some text 2.2.4product-units -

+

- × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m - + - × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m - + - × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m - + - × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m - + - × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m - + - × - - × - 2 - 3 - - 4 + × + 2 + 3 + 4 m @@ -6969,15 +7022,12 @@ Some text + - - - - - - 6.7835 - - + + - + 6.7835 + @@ -7014,13 +7064,9 @@ Some text - - - - - 10 - 4 - + + 10 + 4 @@ -7062,7 +7108,7 @@ Some text 44.268 - a + a @@ -7318,47 +7364,41 @@ Some text + - - - - - - - 88.8 - - - - - - ( - 9 - ) - - + - + + + 88.8 + + + + ( + 9 + ) + + + - + - - - - - - - 88.8 - - - - - - ( - 9 - ) - - + - + + + 88.8 + + + + ( + 9 + ) + + + @@ -7678,15 +7718,12 @@ uncertainty - + - - - - - - 56.78 - - + + - + 56.78 + @@ -7739,27 +7776,20 @@ uncertainty - + - - - - ± - 3.76 - - + + ± + 3.76 + - - - - - 10 - 6 - + + 10 + 6 @@ -7867,13 +7897,9 @@ uncertainty - - - - - 10 - 6 - + + 10 + 6 @@ -8020,15 +8046,12 @@ uncertainty - + - - - - - - 56.78 - - + + - + 56.78 + @@ -8072,27 +8095,20 @@ uncertainty - + - - - - ± - 3.76 - - + + ± + 3.76 + - - - - - 10 - 6 - + + 10 + 6 @@ -8133,7 +8149,7 @@ uncertainty 34.2345 - a + a
@@ -8372,13 +8388,9 @@ uncertainty Header / - - - - - 10 - 3 - + + 10 + 3 @@ -8558,128 +8570,128 @@ uncertainty
- + 2.35 - + 2.35 - + 2.35 - + 2.35
- + 34.234 - + 34.234 - + 34.234 - + 34.234
- + 56.783 - + 56.783 - + 56.783 - + 56.783
- + - - + + - 3 + 3 , - 762 + 762 - + - - + + - 3 + 3 , - 762 + 762 - + - - + + - 3 + 3 , - 762 + 762 - + 3.762
- + @@ -8687,7 +8699,7 @@ uncertainty - + @@ -8695,7 +8707,7 @@ uncertainty - + @@ -8703,7 +8715,7 @@ uncertainty - + From 4c2a77a84a0dd9e1ea65f6002933cdec64e37e43 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:06:38 -0500 Subject: [PATCH 02/35] implement rounding --- lib/LaTeXML/Package/siunitx.sty.ltxml | 13 +++-- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 80 +++++++++++++------------- 3 files changed, 48 insertions(+), 45 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index ba9e1359d4..b0f034a2b9 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -139,10 +139,13 @@ my %LOCALE = ( # Would be nice if we could load the package (without errors!): # InputDefinitions('siunitx', type=>'sty', noltxml => 1); # in order to pick up all the unit definitions! -# But siunitx runs into strange errors in a file I cannot locate: -# the first error occurs at the last line of siunitx.sty, -# and subsequent errors occur at subsequent (non-existent?) lines -# see issue #2747 +# But siunitx runs into many errors, starting with: +# Error:recursion:\q_recursion_stop Token T_CS[\q_recursion_stop] expands into itself! +# at siunitx.sty; line 6587 col 1 - line 6587 col 4 +# defining as empty +# Next token is T_CS[\__siunitx_number_token_auxi:NN] ( == Core::Definition::Expandable[\__siunitx_number_token_auxi:NN {}{}]) +# In Core::Definition::Expandable[\q_recur... latex; from line 1 col 1 to line 1 col 1 +# <= Core::Gullet[@0x13361da10] <= Core::Stomach[@0x132025e10] <= Core::Gullet[@0x13361da10] <= ... RequirePackage('xcolor'); RequirePackage('amstext'); @@ -626,7 +629,7 @@ sub six_postprocess_aux { $$number{integer} = Tokenize(0); } if (my $s = !$$number{sign} && six_get('explicit-sign')) { $$number{sign} = $s; } } - #six_round($number) if six_getBool('parse-numbers'); # todo upgrade + six_round($number) if six_getBool('parse-numbers'); while ($$number{fraction} && @{ $$number{fraction} } && $$number{fraction}->[-1]->equals(T_OTHER('0')) && six_getBool('drop-zero-decimal')) { pop(@{ $$number{fraction} }); } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 0e74e164d3304122e25e32844abc37b37e871da5..1fa49bdac64d1382d957b3754ef15d5ddc25f815 100644 GIT binary patch delta 109 zcmX?hoa@+eu7(!IElk%ZvKkwh8JJJMGm%LS!rcCUBGWv6Cs%VLCnIA6b5k={Q*$#% hGdBxMHzyNw3s*NMXJ>OmI|UmH0!p^uU&!>F5dc!GAMXGF delta 109 zcmX?hoa@+eu7(!IElk%ZvKktg8yZZ%Gm%LS!rcCUBGWv6CqpMQ3lld3b8}N?7dK;b hCnF0NGh<6j7gtMDM+0XAI|UmH0!p^uU&!>F5dcbfAF}`e diff --git a/t/complex/si.xml b/t/complex/si.xml index 6feb59a11e..12b5ca1b90 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -883,15 +883,15 @@ Some text + - 1.234 56 + 1.235 - + - 14.23 + 14.230 - + @@ -900,21 +900,21 @@ Some text ( - 9 + 9.000 ) - + - 1.234 56 + 1.23 - + - 14.23 + 14.2 - + @@ -923,7 +923,7 @@ Some text ( - 9 + 9.00 ) @@ -940,22 +940,22 @@ Some text 1.3.2round-integer-to-decimal -

+

- 1 + 1.0 - + - 1 + 1.00 - + - 1 + 1.0 - + - 1 + 1.00

@@ -968,21 +968,21 @@ Some text 1.3.3round-minimum -

+

- 0.0055 + 0.01 - + - 0.0045 + 0.00 - + - 0.0055 + 0.01 - + - 0.0045 + 0.00

@@ -995,21 +995,21 @@ Some text 1.3.4round-half -

+

- 0.055 + 0.06 - + - 0.045 + 0.05 - + - 0.055 + 0.06 - + - 0.045 + 0.04

@@ -8522,9 +8522,9 @@ uncertainty 1.2 - + - 1.2 + 1.200 @@ -8534,9 +8534,9 @@ uncertainty 1.2345 - + - 1.2345 + 1.235 From 80c4486fc0cf63fcd1fbb484f47c9cf6e278ed94 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:07:50 -0500 Subject: [PATCH 03/35] implement minimum-integer-digits option --- lib/LaTeXML/Package/siunitx.sty.ltxml | 4 ++-- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index b0f034a2b9..f71dc4b46f 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -638,8 +638,8 @@ sub six_postprocess_aux { delete $$number{fraction}; } while ($$number{fraction} && @{ $$number{fraction} } < six_get('minimum-decimal-digits')->toString) { push(@{ $$number{fraction} }, T_OTHER('0')); } - # while ( $$number{integer} && @{$$number{integer}} < six_get('minimum-integer-digits')->toString) { - # unshift(@{$$number{integer}}, T_OTHER('0')); } # todo upgrade + while ( $$number{integer} && @{$$number{integer}} < six_get('minimum-integer-digits')->toString) { + unshift(@{$$number{integer}}, T_OTHER('0')); } return $number; } # Given an uncertain number whose uncertainty is not separate (ie. it is relative) diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 1fa49bdac64d1382d957b3754ef15d5ddc25f815..fb1bc16402b5d50d51cdd43785c7dc443713b729 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jGMgKkOusXcNdd&z{(mCVTz+RGXG=>Xb5nCeGZSYgQwsw# fb60Z{XIEoO0}E3lH&Y8c1sg(2w%=dK^qdg@_LUyP delta 106 zcmX?hoa@+eu7(!IElf8jGMgEgProyfNdd&z{(mCVTz+Q@S92pLBVz+|Q!`gnb2CRX fHw#NQClhlES2rhTXLCb41sg(2w%=dK^qdg@3)vrG diff --git a/t/complex/si.xml b/t/complex/si.xml index 12b5ca1b90..b1a83ea3c4 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -1079,9 +1079,9 @@ Some text 123 - + - 123 + 123

From 0931c5fff576c08719180721e07c9c3122eeca21 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:13:29 -0500 Subject: [PATCH 04/35] follow retain-unity-mantissa option --- lib/LaTeXML/Package/siunitx.sty.ltxml | 11 +++++------ t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 12 ++++-------- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index f71dc4b46f..3ebeefd8a5 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -638,8 +638,8 @@ sub six_postprocess_aux { delete $$number{fraction}; } while ($$number{fraction} && @{ $$number{fraction} } < six_get('minimum-decimal-digits')->toString) { push(@{ $$number{fraction} }, T_OTHER('0')); } - while ( $$number{integer} && @{$$number{integer}} < six_get('minimum-integer-digits')->toString) { - unshift(@{$$number{integer}}, T_OTHER('0')); } + while ($$number{integer} && @{ $$number{integer} } < six_get('minimum-integer-digits')->toString) { + unshift(@{ $$number{integer} }, T_OTHER('0')); } return $number; } # Given an uncertain number whose uncertainty is not separate (ie. it is relative) @@ -1245,8 +1245,7 @@ sub six_format_complexnumber { $arg2 = six_parse_number(undef, Tokenize($parsedArg2)); six_round($arg1); six_round($arg2); } - my $real = six_format_number($arg1, %flags, bracket => 0, in_sci_number => 1); # todo upgrade - #my $real = six_format_number($arg1, %flags, bracket=>0, in_sci_number=>0); # toggle off in_sci_number b/c it's already bracketed + my $real = six_format_number($arg1, %flags, bracket => 0, in_sci_number => 0); # toggle off in_sci_number b/c it's already bracketed return $real unless $arg2; if ($complexMode eq 'cartesian' || ($complexMode eq 'input' && !exists $$number{input_form})) { # Cartesian output if (six_getBool('print-complex-unity') && !defined $$arg2{integer} && !defined $$arg2{fraction}) { @@ -1306,7 +1305,7 @@ sub six_format_scinumber { $result = six_format_number($arg1, %flags, in_sci_number => 1); } elsif (my $marker = six_get('output-exponent-marker')) { # the order of the conditionals is important here - $$arg1{integer} causes an $arg1 undef to become {} which is true - if (((1 || six_getBool('print-unity-mantissa')) && $arg1) # todo upgrade + if ((six_getBool('print-unity-mantissa') && $arg1) || ($$arg1{integer} && ToString($$arg1{integer}) ne '1') || $$arg1{fraction} || $$arg1{operator}) { my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1, bracket => 0); @@ -1329,7 +1328,7 @@ sub six_format_scinumber { six_format_number($arg2, %flags, in_sci_number => 1, in_exponent => 1, bracket => 0)); } } else { # the order of the conditionals is important here - $$arg1{integer} causes an $arg1 undef to become {} which is true - if (((1 || six_getBool('print-unity-mantissa')) && $arg1) # todo upgrade + if ((six_getBool('print-unity-mantissa') && $arg1) || ($$arg1{integer} && ToString($$arg1{integer}) ne '1') || $$arg1{fraction} || $$arg1{operator}) { my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1, bracket => 0); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index fb1bc16402b5d50d51cdd43785c7dc443713b729..1c1c440d9f3749a9c6206bf2d4ec45a0cea52062 100644 GIT binary patch delta 108 zcmX?hoa@+eu7(!IElf8ivKSf}8Bf16kx3rR+Wvnc(_DUM6K6MLa{~(lXEQfbS7&2q gCucV^M^`5&H$zuv11AeZI|Um;O19r$$n=~M08XGFF8}}l delta 108 zcmX?hoa@+eu7(!IElf8ivKW{fnoPelkx3rR+Wvnc(_DUMBWFuXBXd)8Lo*X+CsPXp gGjmsS6K7XrO9Km2BR5kEI|Um;O19r$$n=~M04H=GBLDyZ diff --git a/t/complex/si.xml b/t/complex/si.xml index b1a83ea3c4..6af879ce22 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -1145,16 +1145,12 @@ Some text + - × - 1 - - - 10 - 4 - + + 10 + 4 From ff85af37a299ce22c9d5d54d19d850935d6223a1 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:30:22 -0500 Subject: [PATCH 05/35] implement angle-symbol options --- lib/LaTeXML/Package/siunitx.sty.ltxml | 11 +++-------- t/complex/si.pdf | Bin 172998 -> 172998 bytes 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 3ebeefd8a5..733aac7a8a 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -1784,21 +1784,21 @@ sub six_format_angle { my $fdegrees = $degrees && six_format_number($degrees); if ($fdegrees && $fdegrees->unlist) { push(@punctuated, ($above && $$degrees{decimal} ? $fdegrees - : I_apply({}, $mulop, $fdegrees, T_CS('\SIUnitSymbolDegree')))); } + : I_apply({}, $mulop, $fdegrees, Expand(six_get('angle-symbol-degree'))))); } # Format minutes, if any if ($above && $minutes && $$minutes{decimal}) { $$minutes{decimal} = T_CS('\lx@arcminuteoverdot'); } my $fminutes = $minutes && six_format_number($minutes); if ($minutes && $fminutes->unlist) { push(@punctuated, ($above && $$minutes{decimal} ? $fminutes - : I_apply({}, $mulop, $fminutes, T_CS('\SIUnitSymbolArcminute')))); } + : I_apply({}, $mulop, $fminutes, Expand(six_get('angle-symbol-minute'))))); } # Format seconds, if any if ($above && $seconds && $$seconds{decimal}) { $$seconds{decimal} = T_CS('\lx@arcsecondoverdot'); } my $fseconds = $seconds && six_format_number($seconds); if ($seconds && $fseconds->unlist) { push(@punctuated, ($above && $$seconds{decimal} ? $fseconds - : I_apply({}, $mulop, $fseconds, T_CS('\SIUnitSymbolArcsecond')))); } + : I_apply({}, $mulop, $fseconds, Expand(six_get('angle-symbol-second'))))); } if (scalar(@punctuated) > 1) { @punctuated = (I_apply({}, $addop, @punctuated)); } if ($sign && ($sign->toString ne '+' || six_getBool('retain-explicit-plus'))) { # Finally, prepend the sign @@ -1809,11 +1809,6 @@ sub six_format_angle { ($degrees ? six_number_string($degrees) . "\x{00B0}" : ''), ($minutes ? six_number_string($minutes) . "\x{2032}" : ''), ($seconds ? six_number_string($seconds) . "\x{2033}" : '')); -# todo upgrade -# this should go with the SIUnitSymbol above -# ($degrees ? six_number_string($degrees) . Expand(six_get('angle-symbol-degree'))->toString : ''), -# ($minutes ? six_number_string($minutes) . Expand(six_get('angle-symbol-minute'))->toString : ''), -# ($seconds ? six_number_string($seconds) . Expand(six_get('angle-symbol-second'))->toString : '')); my $result = six_wrap(I_dual({}, I_symbol({ role => 'NUMBER', meaning => $string }), I_wrap({}, @punctuated))); six_end_processing(); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 1c1c440d9f3749a9c6206bf2d4ec45a0cea52062..68762993c3eb921129c9c3b2b9b1217d163f81a1 100644 GIT binary patch delta 108 zcmX?hoa@+eu7(!IElf8ivKU#K8cn}5kx3rR+Wvnc(_DUM0|N_lLlZL-6IW9+Cs!j= gBNt;AS2HJb6AKe#HzP9xI|Um;O19r$$n=~M04Eq98vp Date: Tue, 24 Mar 2026 13:31:57 -0500 Subject: [PATCH 06/35] implement product-units option --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 16 ++++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 733aac7a8a..42416d0b93 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2174,7 +2174,7 @@ sub six_process_SI_units { my $numTerms = six_get_num_terms($parsedNumber); my $prefixMode = six_getChoice('prefix-mode'); my $currPower = six_get_sci_exp($parsedNumber); - my $productUnits = 'single'; # 'six_getChoice('product-units'); # todo upgrade + my $productUnits = six_getChoice('product-units'); $productUnits =~ s/^brackets/bracket/; $numTerms = 1 unless ($productUnits =~ /power$/); my @parsedUnits = six_parse_units($defns); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 68762993c3eb921129c9c3b2b9b1217d163f81a1..ecddd926a63c7c290a65cf8929aa3eee3c7cfd38 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8ivKSj08Bf16kx3rR+Wvnc(>#7hM`ufCb0afTH&<6nBPUZc g0~aGFM>k7jV#7h0}FFQ6EhPNS5q@5S0hs+ g7h@M!GbeKs3ln2EBQpa#1senWO19ry$n=5{0Pe~jx&QzG diff --git a/t/complex/si.xml b/t/complex/si.xml index 6af879ce22..793773e538 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -6615,7 +6615,7 @@ Some text m - + @@ -6625,10 +6625,14 @@ Some text 3 4 - m + + + m + 3 + - + @@ -6638,7 +6642,11 @@ Some text 3 4 - m + + + m + 3 + From 9d8b71b05e89e2b51df2bcf69249f4f584cce666 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:33:34 -0500 Subject: [PATCH 07/35] implement product-units option (again) --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 86 +++++++++++++++++--------- 3 files changed, 59 insertions(+), 29 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 42416d0b93..4f53d794fa 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2223,7 +2223,7 @@ sub six_process_SI_units { sub six_format_SI { my ($parsedNumber, $processedUnits, $defns) = @_; my $result; - my $productUnits = 'single'; # six_getChoice('product-units'); # todo upgrade + my $productUnits = six_getChoice('product-units'); my $wrappedUnits = I_wrap({}, $processedUnits); my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} diff --git a/t/complex/si.pdf b/t/complex/si.pdf index ecddd926a63c7c290a65cf8929aa3eee3c7cfd38..b23ef9d9cf3d9bdee44b0df6aad46d3ce8298665 100644 GIT binary patch delta 104 zcmX?hoa@+eu7(!IElf8jG8vgpzdeyj5lCR delta 104 zcmX?hoa@+eu7(!IElf8jG8r08zdeyj5lC2.2.4product-units -

+

- + × - × - 2 - 3 - 4 + + 2 + m + + + + 3 + m + + + + 4 + m - m - + - - × - 2 - 3 - 4 - + + + + ( + + × + 2 + 3 + 4 + + ) + + m - + - - × - 2 - 3 - 4 - + + + + ( + + × + 2 + 3 + 4 + + ) + + m @@ -6649,17 +6671,25 @@ Some text + - + × - × - 2 - 3 - 4 + + 2 + m + + + + 3 + m + + + + 4 + m - m From 8e7ff51af6b147595be095ddf5c30bff8561f792 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:35:07 -0500 Subject: [PATCH 08/35] allow separate-uncertainty-units=repeat --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 14 +++++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 4f53d794fa..4fafc8a43a 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2227,7 +2227,7 @@ sub six_format_SI { my $wrappedUnits = I_wrap({}, $processedUnits); my $times = six_get_op({ role => 'MULOP', meaning => 'times' }, 'number-unit-product'); if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} - && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'repeat' && 0) { # todo upgrade + && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'repeat') { my $main = $$parsedNumber{arg1}; my $fmain = six_format_number($main); my @mainresult = six_format_infix($times, undef, undef, $fmain, $wrappedUnits); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index b23ef9d9cf3d9bdee44b0df6aad46d3ce8298665..012f86cd5387f9e2c443c5acdeaaad8bc5538644 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jGMgA1OusXcNdd&z{(mCVTz+R~LnjwYBR4lUOG_753o{E# f0~a%AV-picV>3%s1ProyfNdd&z{(mCVTz+Rqb8~YuGcyZQ3j-4u7Z*b_ d7ejLsGZQyQV^=effSrO3Atl@IFJyYo2mk_$A1wd? diff --git a/t/complex/si.xml b/t/complex/si.xml index afebf33687..0ad9f886bd 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -6509,16 +6509,20 @@ Some text kg - + - + ± - ± + 12.3 - 0.4 + kg + + + + 4 + kg - kg From 04cbac4ae1e7a4396554388ac8e28d30f3e0ea3e Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:36:51 -0500 Subject: [PATCH 09/35] allow separate-uncertainty-units=bracket --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 19 +++++++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 4fafc8a43a..d54a8e7fad 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2283,7 +2283,7 @@ sub six_format_SI { else { my $fnumber = six_format_number($parsedNumber); if (ref($parsedNumber) eq 'HASH' && $$parsedNumber{operator} - && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'bracket' && 0) { # todo upgrade + && $$parsedNumber{operator} eq 'uncertain' && six_getChoice('separate-uncertainty-units') eq 'bracket') { $result = I_wrap({}, T_OTHER('('), $fnumber, T_OTHER(')')); } else { $result = $fnumber; } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 012f86cd5387f9e2c443c5acdeaaad8bc5538644..c5486e11ae27825604c8cd18528a44b6114cd7d9 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jGMgEgO}{gdNdd&z{(mCVTz+RGOG9TTM@w@fS4SfgOA8AF f3nym-XER4r3nybEQzHXA1sg(2w%=dK^qdg@|3n_) delta 106 zcmX?hoa@+eu7(!IElf8jGMgA1OusXcNdd&z{(mCVTz+R~LnjwYBR4lUOG_753o{E# f0~a%AV-picV>3%2.2.3multi-part-units -

+

- - ± - 12.3 - 0.4 - + + + + ( + + ± + 12.3 + 0.4 + + ) + + kg From f7bb5a0b9230cfbbc9d86a36cb7424474c5203e6 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:38:51 -0500 Subject: [PATCH 10/35] implement table alignment --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 406 ++++++++++++++++---------- 3 files changed, 254 insertions(+), 154 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index d54a8e7fad..96edb6dd02 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2726,7 +2726,7 @@ DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { # we pass references to pad_left / right so that we can update them and have that pass back up the recursion $result = $parsed ? six_format_number(six_postprocess($parsed), bracket => 0, pad_left_ref => \$pad_left, pad_right_ref => \$pad_right, - in_table_number => (0 && six_get('table-alignment-mode')->ToString ne 'none')) # todo upgrade + in_table_number => (six_get('table-alignment-mode')->ToString ne 'none')) : (); } else { $result = Tokens(@tokens); } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index c5486e11ae27825604c8cd18528a44b6114cd7d9..48508d284a42d9c14c0b775bf34618fbd91ad37e 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jGFuoKOusXcNdd&z{(mCVTz+SBXE!G&BUfibGcz|+Qzt`L fR|8`gS64S96K5AU3s+M+1sg(2w%=dK^qdg@B`zQD delta 106 zcmX?hoa@+eu7(!IElf8jGMgEgO}{gdNdd&z{(mCVTz+RGOG9TTM@w@fS4SfgOA8AF f3nym-XER4r3nybEQzHXA1sg(2w%=dK^qdg@|3n_) diff --git a/t/complex/si.xml b/t/complex/si.xml index 3ad9a7e3e9..ad983f37fc 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -7053,7 +7053,7 @@ Some text + 2.3456 @@ -7067,7 +7067,7 @@ Some text + - @@ -7088,14 +7088,18 @@ Some text 5642.5 - +
- + × - 1.2 + + + 1.2 + + 10 @@ -7106,7 +7110,7 @@ Some text + @@ -7397,12 +7401,12 @@ Some text + 6.78 - + 6.78 @@ -7427,7 +7431,7 @@ Some text @@ -7446,14 +7450,18 @@ Some text
- + × - 4.5 + + + 4.5 + + 10 @@ -7462,11 +7470,15 @@ Some text + × - 4.5 + + + 4.5 + + 10 @@ -7506,22 +7518,22 @@ Some text + 2.3456 - + 2.3456 - + 2.3456 - + 2.3456 @@ -7576,22 +7588,22 @@ Some text 90.473 - + 90.473 - + 90.473 - +
90.473 - +
@@ -7626,17 +7638,17 @@ uncertainty
- + 2.3 - - + + 2.3 - - + + @@ -7651,26 +7663,34 @@ uncertainty - - + + ± - 2.3 + + + 2.3 + + 0.5 - - + + 2.3 - - + + × - 2.3 + + + 2.3 + + 10 @@ -7707,7 +7727,7 @@ uncertainty - + ± @@ -7725,7 +7745,7 @@ uncertainty 34.23 - +
@@ -7754,7 +7774,7 @@ uncertainty - + ± @@ -7771,11 +7791,15 @@ uncertainty - + × - 56.78 + + + 56.78 + + 10 @@ -7786,17 +7810,17 @@ uncertainty
- + 3.76 - + 3.76 - + @@ -7812,7 +7836,7 @@ uncertainty - + ± @@ -7821,7 +7845,7 @@ uncertainty - + ± @@ -7829,7 +7853,7 @@ uncertainty - + @@ -7867,88 +7891,112 @@ uncertainty
- + 2.3 - - + + < - - × - 2.3 - - - 10 - 8 + + + + + × + + + 2.3 + + + + + 10 + 8 + - +
34.23 - - + + = - 34.23 + + + + 34.23 + - +
56.78 - - + + - - × - 56.78 - - - 10 - 3 + + + + + × + + + 56.78 + + + + + 10 + 3 + - +
- + 3.76 - - + + - - - 10 - 6 + + + + + + 10 + 6 + - + @@ -7981,17 +8029,17 @@ uncertainty - + 2.3 - - + + 2.3 - - + + @@ -8006,17 +8054,21 @@ uncertainty - - + + 2.3 - - + + × - 2.3 + + + 2.3 + + 10 @@ -8062,7 +8114,7 @@ uncertainty 34.23 - + @@ -8099,11 +8151,15 @@ uncertainty - + × - 56.78 + + + 56.78 + + 10 @@ -8114,17 +8170,17 @@ uncertainty
- + 3.76 - + 3.76 - + @@ -8140,7 +8196,7 @@ uncertainty - + ± @@ -8148,7 +8204,7 @@ uncertainty - + @@ -8183,7 +8239,7 @@ uncertainty Values
- + 2.3456 @@ -8234,11 +8290,15 @@ uncertainty
- + × - 1.2 + + + 1.2 + + 10 @@ -8246,7 +8306,7 @@ uncertainty - + @@ -8259,14 +8319,18 @@ uncertainty - +
- + × - 1.234 + + + 1.234 + + 10 @@ -8309,15 +8373,19 @@ uncertainty
- + ± - 1.2 + + + 1.2 + + 0.1 - + @@ -8326,7 +8394,7 @@ uncertainty 0.3 - +
@@ -8368,16 +8436,20 @@ uncertainty
- + > - 1.2 + + + + 1.2 + - - + + > @@ -8385,15 +8457,19 @@ uncertainty 1.2 - +
- + < - 12.34 + + + + 12.34 + @@ -8443,11 +8519,15 @@ uncertainty
- + × - 1.2 + + + 1.2 + + 10 @@ -8456,11 +8536,15 @@ uncertainty - + × - 1.2 + + + 1.2 + + 10 @@ -8471,11 +8555,15 @@ uncertainty
- + × - 3 + + + 3 + + 10 @@ -8484,11 +8572,15 @@ uncertainty - + × - 3 + + + 3 + + 10 @@ -8499,11 +8591,15 @@ uncertainty
- + × - 1.0 + + + 1.0 + + 10 @@ -8512,11 +8608,15 @@ uncertainty - + × - 1.0 + + + 1.0 + + 10 @@ -8556,17 +8656,17 @@ uncertainty
- Header + Header Header
- + 1.2 - + 1.200 @@ -8574,7 +8674,7 @@ uncertainty
- + 1.2345 @@ -8798,21 +8898,21 @@ uncertainty
- + 992.435 - - + + 992.435 - - + + 992.435 - +
@@ -8832,34 +8932,34 @@ uncertainty
- + 56.7834 - + 56.7834 - + 56.7834
- + 3.7462 - + 3.7462 - + 3.7462 @@ -8990,15 +9090,15 @@ uncertainty
- Flexible - Fixed + Flexible + Fixed Flexible Fixed
- + @@ -9014,7 +9114,7 @@ uncertainty - + @@ -9030,19 +9130,19 @@ uncertainty - + 1.23 - + 1.23
- + @@ -9051,7 +9151,7 @@ uncertainty - + @@ -9064,12 +9164,12 @@ uncertainty 45.6 - + 45.6 - +
From a3f19c4b0ad347a3c727446e20906bdd24f8c4c7 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:40:31 -0500 Subject: [PATCH 11/35] allow pre and post text in table numbers --- lib/LaTeXML/Package/siunitx.sty.ltxml | 13 ++++++------- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 26 +++++++++++++------------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 96edb6dd02..98d8b9411b 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -2712,13 +2712,12 @@ DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { if ($doparse and @tokens) { my $tokens = [six_apply_mathligatures(@tokens)]; my $parsed = six_match_number($tokens); - # todo upgrade - # if ( @pre || six_get('table-space-text-pre') ) { - # my $prewidth = Digest(six_get('table-space-text-pre')||'')->getWidth->[0]; - # @pre = (T_CS('\makebox'), ExplodeText('['.$prewidth.'sp][r]'), T_BEGIN, @pre, T_END); } - # if ( @post || six_get('table-space-text-post') ) { - # my $postwidth = Digest(six_get('table-space-text-post')||'')->getWidth->[0]; - # @post = (T_CS('\makebox'), ExplodeText('['.$postwidth.'sp][l]'), T_BEGIN, @post, T_END); } + if (@pre || six_get('table-space-text-pre')) { + my $prewidth = Digest(six_get('table-space-text-pre') || '')->getWidth->[0]; + @pre = (T_CS('\makebox'), ExplodeText('[' . $prewidth . 'sp][r]'), T_BEGIN, @pre, T_END); } + if (@post || six_get('table-space-text-post')) { + my $postwidth = Digest(six_get('table-space-text-post') || '')->getWidth->[0]; + @post = (T_CS('\makebox'), ExplodeText('[' . $postwidth . 'sp][l]'), T_BEGIN, @post, T_END); } if (@$tokens) { # how does siunitx tell that something isn't a number? #Error('unexpected', undef, undef, 'Unexpected tokens remain in table cell'); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 48508d284a42d9c14c0b775bf34618fbd91ad37e..dd49e2589f629af1bc661d15caa68290da263665 100644 GIT binary patch delta 108 zcmX?hoa@+eu7(!IElf8ivX~ecm`%Skkx3rR+Wvnc(_DUMQwvKc7h_XPX9E*MV>b&E g3s(bECl@m(Gh;(1Cs#)|I|Um;O19r$$n=~M063B#uK)l5 delta 108 zcmX?hoa@+eu7(!IElf8ivKU(!8BD)3kx3rR+Wvnc(_DUMb7wavCnHy9Lo+isQ&T5H gS62gL7gtv|BNJyAHw#x&I|Um;O19r$$n=~M09X - - 975.31 - -
+ + + 975.31 + +
44.268 - a +
a
@@ -8239,28 +8239,28 @@ uncertainty Values
- + 2.3456 - +
- + 34.2345 - a + a
- + 56.7835 - +
- now  90.473 + now  90.473
From b9450bb895be35b2357846429341849ac2300911 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:41:55 -0500 Subject: [PATCH 12/35] astronomicalunit was misabbreviated --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 98d8b9411b..ee6ab6e862 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -3006,7 +3006,7 @@ RawTeX(<<'EoTeX'); \DeclareSIUnit \minute { min } \DeclareSIUnit \percent { \char 37 } \DeclareSIUnit \tonne { t } -\DeclareSIUnit \astronomicalunit { ua } % upgrade to au +\DeclareSIUnit \astronomicalunit { au } \DeclareSIUnit \atomicmassunit { u } \DeclareSIUnit \electronvolt { eV } \DeclareSIUnit \dalton { Da } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index dd49e2589f629af1bc661d15caa68290da263665..e6eec1508b9b7896d7f4993eb5db058ddef4e4c3 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jG8-CNOusXcNdd&z{(mCVTz+Q@17jmgM`KG@HzQ*MGgoI5 f7ZU>`7Xvp#OJheTV@DG^1sg(2w%=dK^qdg@`ko%? delta 106 zcmX?hoa@+eu7(!IElf8jG8-6}O}{gdNdd&z{(mCVTz+R$3ri;#V^d3K0~14IHwzOB fR|8Wg7c(a_V?!q=S4THH1sg(2w%=dK^qdg@1ppsM diff --git a/t/complex/si.xml b/t/complex/si.xml index c109645db9..1cc5bfb8e8 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -3308,9 +3308,9 @@ Some text astronomicalunit
\astronomicalunit - + - ua + au
From f88a50e5ac34aacec06d88627c1e4320e396b95f Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:43:19 -0500 Subject: [PATCH 13/35] default qualifier-phrase has no spaces --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 16 +++------------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index ee6ab6e862..e728698fa1 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -3152,7 +3152,7 @@ RawTeX(<<'EoTeX'); EoTeX AssignValue('SIX_retain-explicit-decimal-marker' => Tokenize($VERSION_TWO ? 'true' : 'false')); -AssignValue('SIX_qualifier-phrase' => Tokenize($VERSION_TWO ? '~of~' : '')); # todo upgrade remove ~ +AssignValue('SIX_qualifier-phrase' => Tokenize($VERSION_TWO ? 'of' : '')); sub six_load_compat1 { RawTeX(<<'EoTeX'); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index e6eec1508b9b7896d7f4993eb5db058ddef4e4c3..ff7446e0bb901cd1f5e34bf6d65ace86cdade81e 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jG8>s1OusXcNdd&z{(mCVTz+RK0|QGFS7#GL12a=6b4vp= fCszv-S634gCu3s^OD7{c1sg(2w%=dK^qdg@`E4HK delta 106 zcmX?hoa@+eu7(!IElf8jG8-CNOusXcNdd&z{(mCVTz+Q@17jmgM`KG@HzQ*MGgoI5 f7ZU>`7Xvp#OJheTV@DG^1sg(2w%=dK^qdg@`ko%? diff --git a/t/complex/si.xml b/t/complex/si.xml index 1cc5bfb8e8..3307bbd713 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -6048,7 +6048,7 @@ Some text -

+

@@ -6058,12 +6058,7 @@ Some text ( - - - kg - of - pol - + kgofpol ) @@ -6075,12 +6070,7 @@ Some text ( - - - mol - of - cat - + molofcat ) From 9eb82ae1b6c75128498704b5c026c4f429ebb5ad Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 13:48:47 -0500 Subject: [PATCH 14/35] attempt to implement table alignments --- lib/LaTeXML/Package/siunitx.sty.ltxml | 1 - t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 356 +++++++++++++------------- 3 files changed, 178 insertions(+), 179 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index e728698fa1..3816877ee9 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -339,7 +339,6 @@ DefPrimitiveI('\lx@six@initialize', undef, sub { $align = ($kv->getValue('table-number-alignment') || six_get('table-number-alignment') || '')->ToString; } elsif ($mode eq 'marker') { $align = 'char:' . six_get('output-decimal-marker')->ToString; } } - $align = 'left'; # todo upgrade $LaTeXML::BUILD_TEMPLATE->addColumn( before => Tokens(T_BEGIN, T_CS('\lx@si@column@prep'), ($kv ? (T_OTHER('['), $kv->revert(), T_OTHER(']')) : ()), diff --git a/t/complex/si.pdf b/t/complex/si.pdf index ff7446e0bb901cd1f5e34bf6d65ace86cdade81e..bbc4a8b3716cde975034f99bc7efb34ef63b14bb 100644 GIT binary patch delta 106 zcmX?hoa@+eu7(!IElf8jGMgBfO}{gdNdd&z{(mCVTz+R`3u8+|M-vlcHz!wDS0_^w f17lZb3u8A6QzIuQ6Jt|51sg(2w%=dK^qdg@24x>9 delta 106 zcmX?hoa@+eu7(!IElf8jG8>s1OusXcNdd&z{(mCVTz+RK0|QGFS7#GL12a=6b4vp= fCszv-S634gCu3s^OD7{c1sg(2w%=dK^qdg@`E4HK diff --git a/t/complex/si.xml b/t/complex/si.xml index 3307bbd713..24b1f19922 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -7038,26 +7038,26 @@ Some text
- Some Values + Some Values
- + 2.3456
- + 34.2345
- + - @@ -7067,21 +7067,21 @@ Some text + 90.473
- + 5642.5
- + × @@ -7100,7 +7100,7 @@ Some text + @@ -7124,26 +7124,26 @@ Some text
- Some Values + Some Values
- + 12.34
- + 975.31
- + 44.268 @@ -7373,37 +7373,37 @@ Some text
- Decimal-centred - Simple centring + Decimal-centred + Simple centring
- + 12.345 - + 12.345
- + 6.78 - + 6.78
- + - @@ -7422,7 +7422,7 @@ Some text - + - @@ -7443,7 +7443,7 @@ Some text
- + × @@ -7460,7 +7460,7 @@ Some text + × @@ -7500,20 +7500,20 @@ Some text
+ Some Values + Some Values Some Values - Some Values - Some Values - Some Values + Some Values
- + 2.3456 - + 2.3456 @@ -7523,19 +7523,19 @@ Some text 2.3456
- + 2.3456
- + 34.2345 - + 34.2345 @@ -7545,19 +7545,19 @@ Some text 34.2345
- + 34.2345
- + 56.7835 - + 56.7835 @@ -7567,19 +7567,19 @@ Some text 56.7835
- + 56.7835
- + 90.473 - + 90.473 @@ -7589,7 +7589,7 @@ Some text 90.473 - + 90.473 @@ -7618,27 +7618,27 @@ uncertainty
- Values - Values - Values - Values - Values - Values + Values + Values + Values + Values + Values + Values
- + 2.3 - + 2.3 - + @@ -7654,7 +7654,7 @@ uncertainty - + ± @@ -7667,12 +7667,12 @@ uncertainty - + 2.3 - + × @@ -7691,17 +7691,17 @@ uncertainty
- + 34.23 - + 34.23 - + @@ -7717,7 +7717,7 @@ uncertainty - + ± @@ -7726,29 +7726,29 @@ uncertainty - + 34.23 - + 34.23
- + 56.78 - + 56.78 - + @@ -7764,7 +7764,7 @@ uncertainty - + ± @@ -7773,7 +7773,7 @@ uncertainty - + - @@ -7781,7 +7781,7 @@ uncertainty - + × @@ -7800,17 +7800,17 @@ uncertainty
- + 3.76 - + 3.76 - + @@ -7826,7 +7826,7 @@ uncertainty - + ± @@ -7835,7 +7835,7 @@ uncertainty - + ± @@ -7843,7 +7843,7 @@ uncertainty - + @@ -7875,18 +7875,18 @@ uncertainty
- Values - Values + Values + Values
- + 2.3 - + < @@ -7913,12 +7913,12 @@ uncertainty
- + 34.23 - + = @@ -7933,12 +7933,12 @@ uncertainty
- + 56.78 - + @@ -7965,12 +7965,12 @@ uncertainty
- + 3.76 - + @@ -8010,26 +8010,26 @@ uncertainty
- Values - Values - Values - Values - Values + Values + Values + Values + Values + Values
- + 2.3 - + 2.3 - + @@ -8045,12 +8045,12 @@ uncertainty - + 2.3 - + × @@ -8069,17 +8069,17 @@ uncertainty
- + 34.23 - + 34.23 - + @@ -8095,29 +8095,29 @@ uncertainty - + 34.23 - + 34.23
- + 56.78 - + 56.78 - + @@ -8133,7 +8133,7 @@ uncertainty - + - @@ -8141,7 +8141,7 @@ uncertainty - + × @@ -8160,17 +8160,17 @@ uncertainty
- + 3.76 - + 3.76 - + @@ -8186,7 +8186,7 @@ uncertainty - + ± @@ -8194,7 +8194,7 @@ uncertainty - + @@ -8226,31 +8226,31 @@ uncertainty
- Values + Values
- + 2.3456
- + 34.2345 a
- + 56.7835
- now  90.473 + now  90.473
@@ -8274,13 +8274,13 @@ uncertainty
- Header - Header + Header + Header
- + × @@ -8297,7 +8297,7 @@ uncertainty - + × @@ -8312,7 +8312,7 @@ uncertainty
- + × @@ -8329,7 +8329,7 @@ uncertainty - + × @@ -8357,13 +8357,13 @@ uncertainty
- Header - Header + Header + Header
- + ± @@ -8376,7 +8376,7 @@ uncertainty - + ± @@ -8387,7 +8387,7 @@ uncertainty
- + ± @@ -8396,7 +8396,7 @@ uncertainty - + ± @@ -8420,13 +8420,13 @@ uncertainty
- Header - Header + Header + Header
- + > @@ -8439,7 +8439,7 @@ uncertainty - + > @@ -8450,7 +8450,7 @@ uncertainty
- + < @@ -8463,7 +8463,7 @@ uncertainty - + < @@ -8495,8 +8495,8 @@ uncertainty
- Header - Header / + Header + Header / @@ -8509,7 +8509,7 @@ uncertainty
- + × @@ -8526,7 +8526,7 @@ uncertainty - + × @@ -8545,7 +8545,7 @@ uncertainty
- + × @@ -8562,7 +8562,7 @@ uncertainty - + × @@ -8581,7 +8581,7 @@ uncertainty
- + × @@ -8598,7 +8598,7 @@ uncertainty - + × @@ -8646,30 +8646,30 @@ uncertainty
- Header - Header + Header + Header
- + 1.2 - + 1.200
- + 1.2345 - + 1.235 @@ -8697,25 +8697,25 @@ uncertainty
- Some values - Some values - Some values + Some values + Some values + Some values Some values
- + 2.35 - + 2.35 - + 2.35 @@ -8727,17 +8727,17 @@ uncertainty
- + 34.234 - + 34.234 - + 34.234 @@ -8749,17 +8749,17 @@ uncertainty
- + 56.783 - + 56.783 - + 56.783 @@ -8771,7 +8771,7 @@ uncertainty
- + @@ -8787,7 +8787,7 @@ uncertainty - + @@ -8803,7 +8803,7 @@ uncertainty - + @@ -8826,7 +8826,7 @@ uncertainty
- + @@ -8834,7 +8834,7 @@ uncertainty - + @@ -8842,7 +8842,7 @@ uncertainty - + @@ -8881,75 +8881,75 @@ uncertainty
- Values - Values - Values + Values + Values + Values
- + 992.435 - + 992.435 - + 992.435
- + 7734.2344 - + 7734.2344 - + 7734.2344
- + 56.7834 - + 56.7834 - + 56.7834
- + 3.7462 - + 3.7462 - + 3.7462 @@ -9082,8 +9082,8 @@ uncertainty
Flexible Fixed - Flexible - Fixed + Flexible + Fixed
@@ -9120,12 +9120,12 @@ uncertainty
- + 1.23 - + 1.23 @@ -9150,12 +9150,12 @@ uncertainty
- + 45.6 - + 45.6 From 7d8fb58b6781d325dd3067d3e7c43e06b9850b57 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 14:24:11 -0500 Subject: [PATCH 15/35] pure imag E # should have parens --- lib/LaTeXML/Package/siunitx.sty.ltxml | 12 ++--- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 70 +++++++++++++++----------- 3 files changed, 48 insertions(+), 34 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 3816877ee9..cb4935b28a 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -968,7 +968,7 @@ sub six_round { Error('operator', 'operator', undef, "unknown operator: $op"); } } else { my $precision = six_get('round-precision')->toString; - shift(@{ $$number{integer} }) while (scalar(@{ $$number{integer} }) && $$number{integer}[0]->equals(T_OTHER(0))); + shift(@{ $$number{integer} }) while ($$number{intger} && scalar(@{ $$number{integer} }) && $$number{integer}[0]->equals(T_OTHER(0))); if ($mode eq 'figures') { my $excess_zeros = 0; if (number_is_zero($$number{integer})) { @@ -1259,7 +1259,7 @@ sub six_format_complexnumber { $i = I_wrap({ role => 'ID', meaning => 'imaginary-unit' }, Invocation(T_CS('\text'), $i)); my $result = six_format_infix(T_CS('\lx@InvisibleTimes'), undef, undef, (six_getChoice('complex-root-position') eq 'before-number' ? ($i, $imag) : ($imag, $i))); - $flags{bracket} ||= $flags{in_sci_number} && six_getBool('bracket-ambiguous-numbers') && $arg1 && $arg2; + $flags{bracket} ||= $flags{in_sci_number} && six_getBool('bracket-ambiguous-numbers'); if ($arg1 && keys %$arg1) { $result = six_format_infix( $sign, # Hopefully has proper semantics? @@ -1298,16 +1298,16 @@ sub six_format_scinumber { # there's no exponent, but we want space for one. omitting the mathord causes extra space ${ $flags{pad_right_ref} } .= '222' . ('.' x six_get('table-figures-exponent')->ToString); # \mathord x10^{...} return I_wrap(undef, six_format_number($number, %flags)); } - if (!six_getBool('print-zero-exponent') && !ToString($$arg2{integer}) && !ToString($$arg2{fraction})) { # - # there is no arg2 - ${ $flags{pad_right_ref} } .= '222' . ('.' x six_get('table-figures-exponent')->ToString) if $flags{in_table_number}; # x10^{...} + if (!six_getBool('print-zero-exponent') && !ToString($$arg2{integer}) && !ToString($$arg2{fraction})) { + # there is no arg2. add padding for \times10^{...} + ${ $flags{pad_right_ref} } .= '222' . ('.' x six_get('table-figures-exponent')->ToString) if $flags{in_table_number}; $result = six_format_number($arg1, %flags, in_sci_number => 1); } elsif (my $marker = six_get('output-exponent-marker')) { # the order of the conditionals is important here - $$arg1{integer} causes an $arg1 undef to become {} which is true if ((six_getBool('print-unity-mantissa') && $arg1) || ($$arg1{integer} && ToString($$arg1{integer}) ne '1') || $$arg1{fraction} || $$arg1{operator}) { - my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1, bracket => 0); + my $mantissa = six_format_number($arg1, %flags, in_sci_number => 1); # , bracket => 0 todo upgrade do not need if ($flags{in_table_number} && six_getBool('table-align-exponent')) { push(@{$mantissa}, six_table_space(${ $flags{pad_right_ref} })); ${ $flags{pad_right_ref} } = ''; } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index bbc4a8b3716cde975034f99bc7efb34ef63b14bb..e1e2bd38d874fe26d9301627c4e09072651ad865 100644 GIT binary patch delta 110 zcmX?hoa@+eu7(!IElk%ZvYHqf8yQZ&Gm%LS!rcCUBGX)cXA5UbV;2_-S4U?T7Z+zo hOH&I&Lo+8wOA`Zg6LT|jS33n8LQ1yZU&!>F5deS;AWr}Q delta 110 zcmX?hoa@+eu7(!IElk%ZvKpJ17?@4JGm%LS!rcCUBGX)cXJZRvOG8H!6Js|gS65dj hQxgMYS7!@jHw#lECnpnQQ#%D4LQ1yZU&!>F5ddwhANK$N diff --git a/t/complex/si.xml b/t/complex/si.xml index 24b1f19922..fb9a395f4a 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -495,17 +495,24 @@ Some text + × - - - 3 - i - + + + + ( + + + 3 + i + + ) + + 10 @@ -968,21 +975,21 @@ Some text 1.3.3round-minimum -

+

- 0.01 + 0.01 - + - 0.00 + 0.00 - + - 0.01 + 0.01 - + - 0.00 + 0.00

@@ -995,21 +1002,21 @@ Some text 1.3.4round-half -

+

- 0.06 + 0.06 - + - 0.05 + 0.05 - + - 0.06 + 0.06 - + - 0.04 + 0.04

@@ -1807,15 +1814,22 @@ Some text + × - - - 2 - i - + + + + ( + + + 2 + i + + ) + + 10 From 2dffedcb27c7980d3ac0c4f077d12af106199ca1 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 19:42:17 -0500 Subject: [PATCH 16/35] fix is_explicit_zero bug --- lib/LaTeXML/Package/siunitx.sty.ltxml | 43 ++++++++++++++------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index cb4935b28a..cc906b2947 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -556,9 +556,9 @@ sub six_match_number { #====================================================================== # Post-processing numbers -# round-half, round-minimum, round-mode, round-precision +# round-half, round-minimum, round-mode, round-precision, scientific-notation, zero-decimal-to-integer # Options NOT YET HANDLED: -# round-integer-to-decimal, scientific-notation, zero-decimal-to-integer +# round-integer-to-decimal sub six_postprocess { my ($number) = @_; @@ -771,7 +771,7 @@ sub six_parse_number { if ($$matched{sign} && $$matched{sign}->ToString eq '+' && !six_getBool('retain-explicit-plus')) { # make sure an explicit-sign doesn't get added later $$matched{sign} = T_CS('\lx@InvisiblePlus'); } - if ($$matched{sign} && $$matched{sign} eq '-' && is_explicit_zero($matched) && !six_getBool('retain-negative-zero')) { + if ($$matched{sign} && $$matched{sign}->ToString eq '-' && is_explicit_zero($matched) && !six_getBool('retain-negative-zero')) { $$matched{sign} = undef; } $result = six_postprocess($matched); if (scalar(@$tokens)) { @@ -820,7 +820,7 @@ sub number_is_zero { unless (ref($number) eq 'ARRAY' || $number->isa('ARRAY')) { return 0; } foreach my $digit (@{$number}) { - unless ((ref($digit) eq 'SCALAR' && $digit == 0) || (ref($digit) eq 'Token' && $digit->equals(T_OTHER('0')))) { + unless ((ref($digit) eq 'SCALAR' && $digit == 0) || (ref($digit) eq 'LaTeXML::Core::Token' && $digit->ToString eq '0')) { return 0; } } return 1; } @@ -1741,29 +1741,30 @@ DefMacro('\ang OptionalKeyVals:SIX {}', sub { $$degrees{fraction} = $$fraction{fraction}; $minutes = undef; $seconds = undef; } - # Normalize integer/fraction part. - my $addd0 = !%$degrees && six_getBool('fill-angle-degrees'); - my $addm0 = !($minutes && %$minutes) && six_getBool('fill-angle-minutes') - && (!$degrees || !%$degrees || !$$degrees{fraction}); - my $adds0 = !($seconds && %$seconds) && six_getBool('fill-angle-seconds') - && (!$degrees || !%$degrees || !$$degrees{fraction}) - && (!$minutes || !%$minutes || !$$minutes{fraction}); - $degrees = { integer => T_OTHER('0') } if $addd0; - $minutes = { integer => T_OTHER('0') } if $addm0; - $seconds = { integer => T_OTHER('0') } if $adds0; # Pull out the (overall) sign, assuming(!) the first one applies to all components. my $sign = ($degrees && $$degrees{sign}) || ($minutes && $$minutes{sign}) || ($seconds && $$seconds{sign}); $$degrees{sign} = undef if $degrees; $$minutes{sign} = undef if $minutes; $$seconds{sign} = undef if $seconds; - # remove explicit zeros - if (is_explicit_zero($degrees) && !six_getBool('fill-angle-degrees')) { - $degrees = undef; } - if (is_explicit_zero($minutes) && !six_getBool('fill-angle-minutes')) { - $minutes = undef; } - if (is_explicit_zero($seconds) && !six_getBool('fill-angle-seconds')) { - $seconds = undef; } + if (!($degrees && %$degrees) || is_explicit_zero($degrees)) { + if (six_getBool('fill-angle-degrees')) { + $degrees = { integer => T_OTHER('0') }; } + else { + $degrees = undef; } } + if (!($minutes && %$minutes && !is_explicit_zero($minutes)) + && (!$degrees || !%$degrees || !$$degrees{fraction})) { + if (six_getBool('fill-angle-minutes')) { + $minutes = { integer => T_OTHER('0') }; } + else { + $minutes = undef; } } + if (!($seconds && %$seconds && !is_explicit_zero($seconds)) + && (!$degrees || !%$degrees || !$$degrees{fraction}) + && (!$minutes || !%$minutes || !$$minutes{fraction})) { + if (six_getBool('fill-angle-seconds')) { + $seconds = { integer => T_OTHER('0') }; } + else { + $seconds = undef; } } return six_format_angle($sign, $degrees, $minutes, $seconds); }); sub six_format_angle { From 7060b5fd9c8ff048c33d48172d25e9377b843763 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Tue, 24 Mar 2026 21:34:56 -0500 Subject: [PATCH 17/35] ensure scientific notation on simple numbers --- lib/LaTeXML/Package/siunitx.sty.ltxml | 20 +++++++++++++++++--- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 8 ++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index cc906b2947..3bf11d1e2d 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -562,8 +562,20 @@ sub six_match_number { sub six_postprocess { my ($number) = @_; + $number = six_ensure_scientific($number) if (six_getChoice('exponent-mode') ne 'input'); return six_postprocess_aux($number); } +sub six_ensure_scientific { + my ($number) = @_; + my $op = $$number{operator}; + return $number if ($op && $op eq 'exponent'); + if (!$op || $op eq 'complex' || $op eq 'uncertain') { + return { arg1 => $number, operator => 'exponent', arg2 => { integer => T_OTHER('0') } }; } + else { + $$number{arg1} = six_ensure_scientific($$number{arg1}) if ($$number{arg1}); + $$number{arg2} = six_ensure_scientific($$number{arg2}) if ($$number{arg2}); } + return $number; } + sub six_postprocess_aux { my ($number) = @_; if (!$number) { } @@ -609,9 +621,11 @@ sub six_postprocess_aux { while ($parsedExp < 0) { unshift(@fracTokens, (pop(@intTokens) || T_OTHER('0'))); $parsedExp++; } } } - $$number{arg1}->{integer} = Tokens(@intTokens); - $$number{arg1}->{fraction} = Tokens(@fracTokens); } - $$number{arg2} = six_parse_number(undef, Tokenize($parsedExp)); } + $$number{arg1}{integer} = Tokens(@intTokens); + $$number{arg1}{fraction} = Tokens(@fracTokens); + $$number{arg1}{decimal} = undef if (!@fracTokens); } + $$number{arg2} = { integer => Tokenize(($parsedExp < 0 ? -1 : 1) * $parsedExp) }; + $$number{arg2}{sign} = T_OTHER('-') if ($parsedExp < 0); } if (six_getBool('drop-exponent')) { if ($$number{arg2} && $$number{arg2}{integer}) { # mimic an siunitx warning diff --git a/t/complex/si.pdf b/t/complex/si.pdf index e1e2bd38d874fe26d9301627c4e09072651ad865..67879fc36688cf540bab5752603c460b52fc8f07 100644 GIT binary patch delta 112 zcmX?hoa@+eu7(!IElk%YvKbi~8ylNWzcZ0Z7RuiKe3%vQx{7^ iH&atrXBTG!BMVa}OD89DXG1#$8$wF9-(Se|oDl$`rXY0y delta 112 zcmX?hoa@+eu7(!IElk%YvKg8f850.01 - + - 0.00 + + < + + 0.01 +

From 17eb9098635b776de27c64235d4f78149077f990 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Mon, 30 Mar 2026 13:10:14 -0500 Subject: [PATCH 18/35] better rounding output also a few bug fixes --- lib/LaTeXML/Package/siunitx.sty.ltxml | 227 +++++++++++++++++--------- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 52 +++--- 3 files changed, 173 insertions(+), 106 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 3bf11d1e2d..0253cfca5b 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -493,8 +493,9 @@ sub six_match_uncertainnumber { sub six_match_complexnumber { my ($tokens, $is_table_formatter) = @_; my $number = six_match_uncertainnumber($tokens, $is_table_formatter); - if (my $i = six_match_keys($tokens, 'input-complex-roots')) { # pure imaginary! - my $sign = $$number{sign}; $$number{sign} = undef; # Make sign "infix" + if (my $i = six_match_keys($tokens, 'input-complex-roots')) { # pure imaginary, make sign "infix" + my $sign = $$number{sign}; + delete $$number{sign}; $number = { operator => 'complex', symbol => $i, sign => $sign, arg2 => $number }; } # Check if followed by a sign, then expect imaginary part elsif (my $sign = six_match_sign($tokens)) { # Imaginary part @@ -563,6 +564,7 @@ sub six_match_number { sub six_postprocess { my ($number) = @_; $number = six_ensure_scientific($number) if (six_getChoice('exponent-mode') ne 'input'); + six_round($number) if six_getBool('parse-numbers'); return six_postprocess_aux($number); } sub six_ensure_scientific { @@ -623,7 +625,7 @@ sub six_postprocess_aux { $parsedExp++; } } } $$number{arg1}{integer} = Tokens(@intTokens); $$number{arg1}{fraction} = Tokens(@fracTokens); - $$number{arg1}{decimal} = undef if (!@fracTokens); } + delete $$number{arg1}{decimal} if (!@fracTokens); } $$number{arg2} = { integer => Tokenize(($parsedExp < 0 ? -1 : 1) * $parsedExp) }; $$number{arg2}{sign} = T_OTHER('-') if ($parsedExp < 0); } if (six_getBool('drop-exponent')) { @@ -642,13 +644,15 @@ sub six_postprocess_aux { $$number{integer} = Tokenize(0); } if (my $s = !$$number{sign} && six_get('explicit-sign')) { $$number{sign} = $s; } } - six_round($number) if six_getBool('parse-numbers'); while ($$number{fraction} && @{ $$number{fraction} } && $$number{fraction}->[-1]->equals(T_OTHER('0')) && six_getBool('drop-zero-decimal')) { pop(@{ $$number{fraction} }); } if ($$number{integer} && $$number{fraction} && @{ $$number{fraction} } && number_is_zero(@{ $$number{fraction} }) && six_getBool('zero-decimal-to-integer')) { + delete $$number{decimal}; delete $$number{fraction}; } + $$number{integer} ||= Tokens() if (six_get('minimum-integer-digits')->toString); + $$number{fraction} ||= Tokens() if (six_get('minimum-decimal-digits')->toString); while ($$number{fraction} && @{ $$number{fraction} } < six_get('minimum-decimal-digits')->toString) { push(@{ $$number{fraction} }, T_OTHER('0')); } while ($$number{integer} && @{ $$number{integer} } < six_get('minimum-integer-digits')->toString) { @@ -780,13 +784,13 @@ sub six_parse_number { return; } my $matched = six_match_number($tokens); if ($$matched{integer} && $$matched{decimal} && !$$matched{fraction} && !six_getBool('retain-explicit-decimal-marker')) { - $$matched{decimal} = undef; } + delete $$matched{decimal}; } # todo upgrade if ($$matched{sign} && $$matched{sign}->ToString eq '+' && !six_getBool('retain-explicit-plus')) { # make sure an explicit-sign doesn't get added later $$matched{sign} = T_CS('\lx@InvisiblePlus'); } if ($$matched{sign} && $$matched{sign}->ToString eq '-' && is_explicit_zero($matched) && !six_getBool('retain-negative-zero')) { - $$matched{sign} = undef; } + delete $$matched{sign}; } $result = six_postprocess($matched); if (scalar(@$tokens)) { Error('unexpected', $$tokens[0], $gullet, 'Not matched in \num: ' . ToString(Tokens(@$tokens)) . "\n"); @@ -879,9 +883,8 @@ sub six_format_simplenumber { push @tokens, $sign if ($sign && $flags{in_exponent}); if ($integer) { my @intTokens = $integer->unlist; - while (@intTokens && $intTokens[0]->equals(T_OTHER('0'))) { + while (@intTokens && $intTokens[0]->equals(T_OTHER('0')) && six_get('minimum-integer-digits')->ToString < @intTokens) { shift(@intTokens); } - # todo upgrade if (!@intTokens && six_getBool('print-zero-integer')) { unshift(@intTokens, T_OTHER('0')); } $integer = Tokens(@intTokens); @@ -905,11 +908,18 @@ sub six_format_simplenumber { ${ $flags{pad_left_ref} } .= '2'; } } } # mantissa + if ($integer) { push(@tokens, $integer); } + my $decimal = six_getBool('copy-decimal-marker') + ? $$number{decimal} + : (($fraction && @{$fraction}) || ($$number{decimal} && $VERSION_TWO) ? six_get('output-decimal-marker') : undef); + if ($decimal) { + push(@tokens, $decimal); } + my $using_symbol_for_zero; if ($fraction) { my @fracTokens = $fraction ? $fraction->unlist : (); if (number_is_zero($fraction)) { if (six_getBool('zero-decimal-as-symbol')) { - $fraction = six_get('zero-symbol'); } + $using_symbol_for_zero = 1; + $fraction = six_get('zero-symbol'); } elsif (@fracTokens) { $fraction = Tokens(@fracTokens); $fraction = (($grouping eq 'all') || ($grouping eq 'true') || ($grouping eq 'decimal') @@ -920,16 +930,14 @@ sub six_format_simplenumber { $fraction = (($grouping eq 'all') || ($grouping eq 'true') || ($grouping eq 'decimal') ? six_groupdigits($fraction, -1) : $fraction); } } + elsif (six_getBool('zero-decimal-as-symbol')) { + $using_symbol_for_zero = 1; + $fraction = six_get('zero-symbol'); } if ($flags{in_table_number} && !$flags{in_uncertainty} && !$flags{in_exponent}) { my $digits_needed = six_get('table-figures-decimal')->toString; ${ $flags{pad_right_ref} } .= '.' if ($digits_needed && !$fraction && !$$number{decimal}); $fraction = Tokens() if ($digits_needed && !$fraction); ${ $flags{pad_right_ref} } .= '2' x ($digits_needed - @{$fraction}) if (@{$fraction} < $digits_needed); } - my $decimal = six_getBool('copy-decimal-marker') - ? $$number{decimal} - : (($fraction && @{$fraction}) || ($$number{decimal} && $VERSION_TWO) ? six_get('output-decimal-marker') : undef); - if ($decimal) { - push(@tokens, $decimal); } if ($fraction) { push(@tokens, $fraction); } # if ( $flags{in_table_number} ) { @@ -982,12 +990,12 @@ sub six_round { Error('operator', 'operator', undef, "unknown operator: $op"); } } else { my $precision = six_get('round-precision')->toString; - shift(@{ $$number{integer} }) while ($$number{intger} && scalar(@{ $$number{integer} }) && $$number{integer}[0]->equals(T_OTHER(0))); + shift(@{ $$number{integer} }) while ($$number{integer} && scalar(@{ $$number{integer} }) && $$number{integer}[0]->ToString eq '0'); if ($mode eq 'figures') { my $excess_zeros = 0; if (number_is_zero($$number{integer})) { foreach my $digit (@{ $$number{fraction} }) { - if ($digit->equals(T_OTHER(0))) { + if ($digit->ToString eq '0') { $excess_zeros++; } else { last; } } } @@ -1027,7 +1035,8 @@ sub six_round_simple_number { @dropped = splice(@{ $$number{integer} }, $figures); push(@dropped, @{ $$number{fraction} }) if (scalar(@{ $$number{fraction} || [] })); $fraction_size = scalar(@{ $$number{fraction} || [] }); - $$number{fraction} = undef; } + delete $$number{decimal}; + delete $$number{fraction}; } else { @dropped = splice(@{ $$number{fraction} }, $figures - scalar(@{ $$number{integer} || [] })); $fraction_size = scalar(@{ $$number{fraction} }); } @@ -1063,7 +1072,7 @@ sub six_round_simple_number { delete $$number{$_} foreach (qw(sign integer decimal fraction)); $$number{operator} = 'comparator'; } elsif (six_getBool('round-zero-positive')) { - $$number{sign} = undef; } + delete $$number{sign}; } elsif ($$number{sign} && ToString($$number{sign}) eq '-') { $$number{rounded_negative} = 1; } } return ($is_uncertainty ? $fraction_size : 0) + $stolen_from_integer; } @@ -1082,7 +1091,7 @@ sub round_last_digit_up { if (scalar(@{ $$number{fraction} })) { $$number{fraction} = Tokens($$number{fraction}); } else { - $$number{fraction} = undef; } + delete $$number{fraction}; } $i = $#{ $$number{integer} }; while (0 <= $i) { my $digit = ($$number{integer}[$i]->toString + 1) % 10; @@ -1185,9 +1194,9 @@ sub six_format_uncertainnumber { my @wrap_args = ({}, ($flags{bracket} ? six_get('open-bracket') : ()), I_arg(1)); foreach my $i (0 .. $#{$seps}) { my $sign = $$seps[$i]{sign}; - $$seps[$i]{sign} = undef; + delete $$seps[$i]{sign}; push(@wrap_args, (six_get('uncertainty-separator') || ()), ($sign || ()), I_arg(2 + $i)); - if (1 < scalar(@descriptors) && $i < scalar(@descriptors)) { + if (1 < scalar(@descriptors) && $i < scalar(@descriptors) && 1 < scalar(@{$seps})) { push(@wrap_args, six_get('uncertainty-descriptor-separator')) if ($descriptorMode =~ /separator$/); my $text = $descriptors[$i]; $text = "($text)" if ($descriptorMode =~ /^bracket/); @@ -1210,7 +1219,7 @@ sub six_format_uncertainnumber { push(@wrap_args, (six_get('uncertainty-separator') || ()), I_arg(2 + $i)); my $sep = $$seps[$i]; my $rel = $$rels[$i]; - $$sep{sign} = undef; # AFTER computing relative!!! + delete $$sep{sign}; # AFTER computing relative!!! my $uncert = $uncertainty_mode eq 'compact' || ($uncertainty_mode eq 'compact-marker' && (number_is_zero($$sep{integer}) || number_is_zero($$sep{fraction}))) ? $rel : $sep; @@ -1238,6 +1247,7 @@ sub six_format_complexnumber { $parsedArg2 %= 360; $parsedArg2 = deg2rad($parsedArg2); } ($parsedArg1, $parsedArg2) = $parsedArg2 == pi ? (-$parsedArg1, 0) : cylindrical_to_cartesian($parsedArg1, $parsedArg2); + # or within epsilon of pi? $arg1 = $parsedArg1 ? six_parse_number(undef, Tokenize($parsedArg1)) : undef; $arg2 = $parsedArg2 ? six_parse_number(undef, Tokenize($parsedArg2)) : undef; six_round($arg1); @@ -1248,7 +1258,7 @@ sub six_format_complexnumber { elsif ((!exists $$number{input_form}) && $complexMode eq 'polar') { my $parsedArg1 = six_UnTeX($arg1) || 0; my $parsedArg2 = six_UnTeX($arg2) || 0; - if ($parsedArg1 == 0 && $parsedArg2 == 0 && $$number{operator} eq 'complex' && $$number{symbol}->equals(Tokens(T_LETTER('i')))) { + if ($parsedArg1 == 0 && $parsedArg2 == 0 && $$number{operator} eq 'complex' && $$number{symbol}->ToString eq 'i') { $parsedArg2 = 1; # seems to be a one off case $$number{sign} ||= T_OTHER('+'); } ($parsedArg1, $parsedArg2) = cartesian_to_cylindrical($parsedArg1, $parsedArg2); @@ -1264,11 +1274,11 @@ sub six_format_complexnumber { if (six_getBool('print-complex-unity') && !defined $$arg2{integer} && !defined $$arg2{fraction}) { $$arg2{integer} = T_OTHER(1); } if (!six_getBool('print-complex-unity') && $$arg2{integer} && number_is_zero($$arg2{fraction}) - && ($$arg2{integer}->equals(T_OTHER('1')) || $$arg2{integer}->equals(Tokens(T_OTHER('1'))))) { + && ($$arg2{integer}->ToString eq '1')) { $arg2 = undef; } my $sign = $$arg2{sign} || ($arg1 && T_OTHER('+')); delete $$arg2{sign} if $$arg2{sign}; - my $imag = six_format_number($arg2, %flags, bracket => 0, in_sci_number => 0); # toggle off in_sci_number b/c it's already bracketed + my $imag = %$arg2 ? six_format_number($arg2, %flags, bracket => 0, in_sci_number => 0) : (); # toggle off in_sci_number b/c it's already bracketed my $i = (six_getBool('copy-complex-root') ? $$number{symbol} : six_get('output-complex-root')); $i = I_wrap({ role => 'ID', meaning => 'imaginary-unit' }, Invocation(T_CS('\text'), $i)); my $result = six_format_infix(T_CS('\lx@InvisibleTimes'), undef, undef, @@ -1441,8 +1451,8 @@ sub six_format_number { if ($sign) { delete $$number{sign}; if (ToString($sign) eq '-') { - if ($op || !number_is_zero($$number{integer}) || !number_is_zero($$number{fraction}) - || $$number{rounded_negative} || ($flags{in_sci_number} && !$flags{in_exponent})) { + if ($op || !number_is_zero($$number{integer}) || !number_is_zero($$number{fraction}) || $$number{rounded_negative} + || six_getBool('retain-negative-zero') || ($flags{in_sci_number} && !$flags{in_exponent})) { my $c = six_get('negative-color'); if ($c && $op ne 'complex' && !$flags{in_complex_number}) { push(@tokens, T_BEGIN, T_CS('\color'), T_BEGIN, $c->unlist, T_END); @@ -1464,7 +1474,7 @@ sub six_format_number { push(@tokens, T_OTHER('+')); } elsif ($flags{in_table_number} && six_getBool('table-sign-exponent')) { ${ $flags{pad_right_ref} } .= '.'; } } - else { + elsif (!$flags{in_sci_number}) { if (six_getBool('print-mantissa-implicit-plus') && !$flags{mantissa_implicit_plus_present}) { $flags{mantissa_implicit_plus_present} = 1; push(@tokens, T_OTHER('+')); } @@ -1717,8 +1727,12 @@ sub six_get_number_with_sci_exp { while ($new_exp < $old_exp) { $old_exp--; push(@intTokens, (shift(@fracTokens) || T_OTHER('0'))); } - $$number{integer} = @intTokens ? Tokens(@intTokens) : undef; - $$number{fraction} = @fracTokens ? Tokens(@fracTokens) : undef; } + $$number{integer} = @intTokens ? Tokens(@intTokens) : undef; + if (@fracTokens) { + $$number{fraction} = Tokens(@fracTokens); } + else { + delete $$number{decimal}; + delete $$number{fraction}; } } return $number; } # These are in serious need of tweaking! @@ -1740,15 +1754,15 @@ DefMacro('\ang OptionalKeyVals:SIX {}', sub { if (six_getChoice('angle-mode') eq 'arc' && $$degrees{fraction}) { my $oldFraction = UnTeX($$degrees{fraction}); my $angle = $oldFraction * 60 / (10**scalar(@{ $$degrees{fraction} })); - $minutes = six_parse_number(undef, Tokenize($angle)); - $$degrees{decimal} = undef; - $$degrees{fraction} = undef; + $minutes = six_parse_number(undef, Tokenize($angle)); + delete $$degrees{decimal}; + delete $$degrees{fraction}; if ($$minutes{fraction}) { - $oldFraction = UnTeX($$minutes{fraction}); - $angle = $oldFraction * 60 / (10**scalar(@{ $$minutes{fraction} })); - $seconds = six_parse_number(undef, Tokenize($angle)); - $$minutes{decimal} = undef; - $$minutes{fraction} = undef; } } + $oldFraction = UnTeX($$minutes{fraction}); + $angle = $oldFraction * 60 / (10**scalar(@{ $$minutes{fraction} })); + $seconds = six_parse_number(undef, Tokenize($angle)); + delete $$minutes{decimal}; + delete $$minutes{fraction}; } } if (six_getChoice('angle-mode') eq 'decimal' && ($minutes || $seconds)) { my $fraction = six_parse_number(undef, Tokenize((UnTeX($$minutes{integer}) + UnTeX($$seconds{integer}) / 60) / 60)); $$degrees{decimal} = $$fraction{decimal}; @@ -1758,9 +1772,9 @@ DefMacro('\ang OptionalKeyVals:SIX {}', sub { # Pull out the (overall) sign, assuming(!) the first one applies to all components. my $sign = ($degrees && $$degrees{sign}) || ($minutes && $$minutes{sign}) || ($seconds && $$seconds{sign}); - $$degrees{sign} = undef if $degrees; - $$minutes{sign} = undef if $minutes; - $$seconds{sign} = undef if $seconds; + delete $$degrees{sign} if $degrees; + delete $$minutes{sign} if $minutes; + delete $$seconds{sign} if $seconds; if (!($degrees && %$degrees) || is_explicit_zero($degrees)) { if (six_getBool('fill-angle-degrees')) { $degrees = { integer => T_OTHER('0') }; } @@ -1901,6 +1915,9 @@ sub six_convertUnits { ($arg, @tokens) = six_peel_group(@tokens); my $newdefn = { %{ LookupMapping('siunitx_macros', ToString($name)) } }; if (my $argkey = $$newdefn{arg}) { + #my $qmode = six_getChoice('qualifier-mode') if ($argkey eq 'qualifier'); + #$qmode = 'combine' if $qmode eq 'text'; + #$$newdefn{qmode} = $qmode; $$newdefn{$argkey} = $arg; } push(@defns, $newdefn); } elsif ($tokens[0]->equals(T_SPACE)) { @@ -1961,25 +1978,49 @@ sub six_format_1unit { my $meaning = ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') . ($q ? '-' . $$unit{qualifier}{name} : ''); if ($$unit{per}) { # NOTE: Probably deal with this more semantically (ie "per" for accessibility)? $power = Tokens(T_OTHER('-'), $power || T_OTHER('1')); } + # my $bracket_qualifier = $power; if ($q) { # Format the qualifier, if any - my $qmode = six_getChoice('qualifier-mode'); - if ($qmode eq 'subscript') { - $q = Tokens(T_SUB, T_BEGIN, T_CS('\mathrm'), T_BEGIN, $q, T_END, T_END); } - elsif ($qmode =~ /^brackets?$/) { - $q = Tokens(six_get('open-bracket'), T_CS('\mathrm'), T_BEGIN, $q, T_END, six_get('close-bracket')); } - elsif (($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'text')) { - my $sep = $qmode eq 'phrase' ? six_get('qualifier-phrase') : ($qmode eq 'space' ? T_CS('\;') : Tokens()); - $u = Tokens(($power ? six_get('open-bracket') : ()), - ($prefix ? $prefix : ()), - $u, $sep, $q, - ($power ? six_get('close-bracket') : ())); - $q = $prefix = undef; - } - elsif ($qmode eq 'text') { - $q = Tokens(T_CS('\mathrm'), T_BEGIN, $q, T_END) } } - # $meaning ||= ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') - # . ($q ? '-' . $$unit{qualifier}{name} : ''); - # Apparently best to treat $prefix & $u as a single symbol? AND probably the qualifier? + my $qmode = six_get('qualifier-mode')->toString; + $qmode =~ s/s$//; + $qmode = 'combine' if $qmode eq 'text'; + #$bracket_qualifier &&= ($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'combine'); + $q = Invocation(T_CS('\lx@six@of@' . $qmode), + $$unit{qualifier}{arg} ? $$unit{qualifier}{ $$unit{qualifier}{arg} } : $q, + $qmode eq 'phrase' ? six_get('qualifier-phrase') : ()); + if ($power && (($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'combine'))) { + $u = Tokens(six_get('open-bracket'), ($prefix || ()), $u, $q, six_get('close-bracket')); + $meaning ||= ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') + . ($q ? '-' . $$unit{qualifier}{name} : ''); + $q = $prefix = undef; } } +# if ($$unit{qualifier}{arg}) { +# $bracket_qualifier &&= ($$unit{qualifier}{qmode} eq 'phrase') || ($$unit{qualifier}{qmode} eq 'space') || ($$unit{qualifier}{qmode} eq 'combine'); +# $q = Invocation(T_CS($$unit{qualifier}{implementation}->ToString . '@' . $$unit{qualifier}{qmode}), $$unit{qualifier}{ $$unit{qualifier}{arg} }); } +# else { +# # we have to determine qmode before ending the group +# $bracket_qualifier &&= ($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'combine'); +# $q = Invocation(T_CS('\lx@six@of@'.$qmode), $q); } } +# if ( $bracket_qualifier ) { +# $u = Tokens(six_get('open-bracket'), ($prefix||()), $u, $q, six_get('close-bracket')); +# $meaning ||= ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') +# . ($q ? '-' . $$unit{qualifier}{name} : ''); +# $q = $prefix = undef; } +# my $qmode = six_getChoice('qualifier-mode'); +# if ($qmode eq 'subscript') { +# $q = Tokens(T_SUB, T_BEGIN, T_CS('\mathrm'), T_BEGIN, $q, T_END, T_END); } +# elsif ($qmode =~ /^brackets?$/) { +# $q = Tokens(six_get('open-bracket'), T_CS('\mathrm'), T_BEGIN, $q, T_END, six_get('close-bracket')); } +# elsif (($qmode eq 'phrase') || ($qmode eq 'space') || ($qmode eq 'text')) { +# my $sep = $qmode eq 'phrase' ? six_get('qualifier-phrase') : ($qmode eq 'space' ? T_CS('\;') : Tokens()); +# $u = Tokens(($power ? six_get('open-bracket') : ()), +# ($prefix ? $prefix : ()), +# $u, $sep, $q, +# ($power ? six_get('close-bracket') : ())); +# $q = $prefix = undef; } +# elsif ($qmode eq 'text') { +# $q = Tokens(T_CS('\mathrm'), T_BEGIN, $q, T_END) } } +# $meaning ||= ($prefix ? $$unit{prefix}{name} : '') . ($u ? $$unit{unit}{name} : '') +# . ($q ? '-' . $$unit{qualifier}{name} : ''); +# Apparently best to treat $prefix & $u as a single symbol? AND probably the qualifier? my $result = Tokens( T_CS('\lx@unit'), T_BEGIN, @@ -2045,7 +2086,7 @@ sub six_format_units { $permode = $mathstyle eq 'display' ? 'fraction' : 'symbol'; } my $result = Tokens(); my $currPower = 0; - if ($prefixMode eq 'extract-exponent' || !six_getBool('prefixes-as-symbols')) { + if (!six_getBool('prefixes-as-symbols')) { # $prefixMode eq 'extract-exponent' || my $base; foreach my $unit (@units) { my $unitMult = ToString($$unit{prepower}{power} || $$unit{postpower}{power} || 1) * ($$unit{per} ? -1 : +1); @@ -2075,7 +2116,7 @@ sub six_format_units { # re-ordered, otherwise each per as-is. $result = six_format_unitproduct(0, @numer, @denom); } else { # Otherwise, remove per markers from denom. - map { $$_{per} = undef; } @denom; # MODIFY the denominator units! + map { delete $$_{per}; } @denom; # MODIFY the denominator units! if ($permode eq 'fraction') { $result = Tokens(six_get('fraction-command'), T_BEGIN, six_format_unitproduct(0, @numer), T_END, @@ -2091,8 +2132,8 @@ sub six_format_units { $result = six_format_infix( six_get_op({ role => 'MULOP', meaning => 'divide' }, 'per-symbol'), undef, undef, - six_format_unitproduct(0, @numer), - six_format_unitproduct($bracket, @denom)); } + six_format_unitproduct(0, @numer), + (@denom ? six_format_unitproduct($bracket, @denom) : ())); } else { Error('unexpected', $permode, undef, "Unknown siunitx per-mode $permode"); } } } if ($currPower) { @@ -2133,6 +2174,8 @@ sub six_process_units { if (my $defns = six_convertUnits($expr)) { return six_format_units(six_parse_units($defns)); } else { + if (six_getBool('forbid-literal-units') && six_getBool('parse-units')) { + Error('unexpected', undef, undef, 'Literal units disabled'); } return six_parse_literalunits($expr); } } #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2168,6 +2211,8 @@ DefMacro('\SI OptionalKeyVals:SIX {}{}', sub { $formattedUnits = six_format_units(@parsedUnits); $result = six_format_SI($parsedNumber, $formattedUnits, $defns); } else { + if (six_getBool('forbid-literal-units') && six_getBool('parse-units')) { + Error('unexpected', undef, undef, 'Literal units disabled'); } $formattedUnits = six_parse_literalunits($expr); $result = six_format_SI($parsedNumber, $formattedUnits); } six_end_processing(); @@ -2218,7 +2263,7 @@ sub six_process_SI_units { my $p = ToString($$unit{prepower}{power} || $$unit{postpower}{power} || 1) * ($$unit{per} ? -1 : +1); if (my $pre = $$unit{prefix}) { $currPower += $p * ToString($$pre{power}); } - $$unit{prefix} = undef; + delete $$unit{prefix}; if (($$unit{unit}{name} || '') eq 'gram' && six_getBool('extract-mass-in-kilograms')) { # Special case: keep kilograms! $$unit{prefix} = LookupMapping('siunitx_macros', 'kilo'); $currPower -= 3 * $p; } } @@ -2334,7 +2379,7 @@ sub six_adjust_unit_prefix { $adjustment /= $prePostPower * ($$unit{per} ? -1 : 1); $$unit{prefix} = six_get_prefix_from_power($adjustment); } else { - $$unit{prefix} = undef; } + delete $$unit{prefix}; } return; } # \SIlist[options]{number;number;...}{units} @@ -2351,6 +2396,8 @@ DefMacro('\SIlist OptionalKeyVals:SIX {}{}', sub { if ($defns = six_convertUnits($expr)) { $funits = six_format_units(six_parse_units($defns)); } else { + if (six_getBool('forbid-literal-units') && six_getBool('parse-units')) { + Error('unexpected', undef, undef, 'Literal units disabled'); } $funits = six_parse_literalunits($expr); } if ($mode eq 'repeat') { # make product of units with each number @@ -2410,6 +2457,8 @@ DefMacro('\SIrange OptionalKeyVals:SIX {}{}{}', sub { if ($defns = six_convertUnits($expr)) { $funits = six_format_units(six_parse_units($defns)); } else { + if (six_getBool('forbid-literal-units') && six_getBool('parse-units')) { + Error('unexpected', undef, undef, 'Literal units disabled'); } $funits = six_parse_literalunits($expr); } if ($mode eq 'repeat') { # repeat the units on each number @@ -2556,7 +2605,10 @@ DefMacro('\DeclareSIPower DefToken DefToken {}', sub { AssignMapping('siunitx_macros', tothe => { name => 'tothe', cs => T_CS('\tothe'), implementation => T_CS('\lx@six@tothe'), keyvals => undef, type => 'postpower', arg => 'power', presentation => T_SUPER }); -DefMacro('\lx@six@tothe{}', '\lx@six@unitobject@arg{tothe}{#1}'); +#DefMacro('\lx@six@tothe{}', '\lx@six@unitobject@arg{tothe}{#1}'); +DefMacro('\lx@six@tothe{}', sub { + my ($gullet, $arg) = @_; + return Invocation(T_CS('\lx@six@unitobject@arg'), 'tothe', $arg); }); AssignMapping('siunitx_macros', raiseto => { name => 'raiseto', cs => T_CS('\raiseto'), implementation => T_CS('\lx@six@raiseto'), @@ -2579,22 +2631,35 @@ DefPrimitive('\DeclareSIQualifier OptionalKeyVals:SIX SkipSpaces DefToken {}', s # Special builtin: \of{} AssignMapping('siunitx_macros', of => { name => 'of', cs => T_CS('\of'), implementation => T_CS('\lx@six@of'), - keyvals => undef, type => 'qualifier', arg => 'qualifier', presentation => Tokens() }); - -# TODO latexml Warning: "MathParser failed to match rule 'Anything'" for subscript, bracket, phrase -# TODO latexmlpost "Info:ignored:spacing No place to set spacing to 0.5 (default 0) between ..." -DefMacro('\lx@six@of', sub { + keyvals => undef, type => 'qualifier', arg => 'qualifier', presentation => T_CS('\lx@six@of@aux') }); +# todo delete comments +# presentation should be T_CS('\lx@six@of@aux') +# presentation => Tokens() +# and \lx@six@of should become \lx@six@unitobject@arg{of}. But then it doesn't get the next argument +DefMacro('\lx@six@of{}', '\lx@six@unitobject@arg{of}{#1}'); +#DefMacro('\lx@six@of{}', '\lx@six@of@aux {#1}'); + +# todo delete this? +DefMacro('\lx@six@of@aux {}', sub { + my ($gullet, $arg) = @_; + # this is usually too late - the group for the \si or \SI has closed my $qmode = six_get('qualifier-mode')->toString; $qmode =~ s/s$//; - T_CS('\lx@six@of@' . $qmode); }); -DefMacro('\lx@six@of@subscript{}', '\sb{\mathrm{#1}}'); + return Invocation(T_CS('\lx@six@of@' . $qmode), $arg); }); +DefMacro('\lx@six@of@subscript{}', sub { + my ($gullet, $arg) = @_; + return Tokens(T_SUB, T_BEGIN, T_CS('\mathrm'), T_BEGIN, $arg, T_END, T_END); + #return Tokens(six_get('text-subscript-command'), T_BEGIN, $arg, T_END); + # switch to this once #2781 fixed +}); DefMacro('\lx@six@of@bracket{}', sub { my ($gullet, $arg) = @_; - Tokens(six_get('open-bracket'), T_CS('\mathrm'), T_BEGIN, $arg, T_END, six_get('close-bracket')); }); -DefMacro('\lx@six@of@combine', '\mathrm'); -DefMacro('\lx@six@of@phrase', sub { - Tokens(six_get('qualifier-phrase'), T_CS('\mathrm')); }); -DefMacro('\lx@six@of@space', '\;'); + Tokens(six_get('open-bracket'), Invocation(T_CS('\mathrm'), $arg), six_get('close-bracket')); }); +DefMacro('\lx@six@of@combine{}', '\mathrm{#1}'); +DefMacro('\lx@six@of@phrase{}{}', sub { + my ($gullet, $qual, $phrase) = @_; + Tokens($phrase, Invocation(T_CS('\mathrm'), $qual)); }); +DefMacro('\lx@six@of@space{}', '\;\mathrm{#1}'); # \NewDocumentCommand \DeclareSIUnit { O {} m m } { # \__siunitx_declare_unit:Nnn #2 {#3} {#1} } @@ -2739,7 +2804,7 @@ DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { # we pass references to pad_left / right so that we can update them and have that pass back up the recursion $result = $parsed ? six_format_number(six_postprocess($parsed), bracket => 0, pad_left_ref => \$pad_left, pad_right_ref => \$pad_right, - in_table_number => (six_get('table-alignment-mode')->ToString ne 'none')) + in_table_number => (six_getChoice('table-alignment-mode') ne 'none')) : (); } else { $result = Tokens(@tokens); } @@ -2761,7 +2826,7 @@ DefMacro('\lx@SI@column@parse XUntil:\lx@si@column@end', sub { # get this before closing the group in end_postprocessing # but it's not used, because alignment is set when the column is initially parsed # todo upgrade delete? - #my $align = six_get('table-'.(@tokens?'number':'text').'-alignment')->ToString; + #my $align = six_getChoice('table-'.(@tokens?'number':'text').'-alignment'); six_end_processing(); push(@post, T_SPACE, T_CS('\lx@column@trimright')) if ($save_trimright); if (@tokens) { @@ -2803,6 +2868,8 @@ DefMacro('\lx@si@column@parse XUntil:\lx@si@column@end', sub { if (my $defns = six_convertUnits(Tokens(@tokens))) { $result = six_format_units(six_parse_units($defns)); } else { + if (six_getBool('forbid-literal-units') && six_getBool('parse-units')) { + Error('unexpected', undef, undef, 'Literal units disabled'); } ## Info('unexpected', 'whatever', undef, ## "Don't yet know how to parse non-macro unit expressions"); $result = Tokens(@tokens); } diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 67879fc36688cf540bab5752603c460b52fc8f07..685bad095362d209e2559c73e4d26d7a9cceb9e1 100644 GIT binary patch delta 114 zcmX?hoa@+eu7(!IElgJ?vKt#18XK4yO}{;nNe0H*{%<1FJbq^*Cnpyd69X3uXA4(j jOG{T117kxA3s)B-BMVb!6H`|^1sg(2w%=dK^qdg@*GwSA delta 114 zcmX?hoa@+eu7(!IElgJ?vKyHg85$cKPrp5pNe0H*{%<1FJbq_aBPRn>17kBwS5p^D jLpM`XS7#Sz10xGlCrc+Mb7w<41sg(2w%=dK^qdg@)yyE( diff --git a/t/complex/si.xml b/t/complex/si.xml index bae535b526..614cc514c2 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -898,7 +898,7 @@ Some text 14.230 - + @@ -907,7 +907,7 @@ Some text ( - 9.000 + 9 ) @@ -921,7 +921,7 @@ Some text 14.2 - + @@ -930,7 +930,7 @@ Some text ( - 9.00 + 9 ) @@ -975,24 +975,24 @@ Some text 1.3.3round-minimum -

+

- 0.01 + 0.01 - + - 0.00 + 0.00 - + - 0.01 + 0.01 - + < - 0.01 + 0.01

@@ -1006,21 +1006,21 @@ Some text 1.3.4round-half -

+

- 0.06 + 0.06 - + - 0.05 + 0.05 - + - 0.06 + 0.06 - + - 0.04 + 0.04

@@ -1090,9 +1090,9 @@ Some text 123 - + - 123 + 0123

@@ -6010,7 +6010,7 @@ Some text + @@ -6059,14 +6059,14 @@ Some text + dBi

-

+

@@ -6107,7 +6107,7 @@ Some text + From 123cd1fffb5523b0a416ef95a2988f508a137b74 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:06:39 -0500 Subject: [PATCH 19/35] follow group-four-digits also, better handling of 123. --- lib/LaTeXML/Package/siunitx.sty.ltxml | 12 ++++++++---- t/complex/si.pdf | Bin 172998 -> 172998 bytes t/complex/si.xml | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 0253cfca5b..0c301c2884 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -159,6 +159,7 @@ foreach my $key (qw( free-standing-units overwrite-functions bracket-numbers detect-family detect-italic detect-mode detect-shape detect-weight multi-part-units parse-numbers + group-four-digits copy-complex-root copy-decimal-marker bracket-numbers separate-uncertainty @@ -228,8 +229,8 @@ sub six_get_op { sub six_setup { my ($kv) = @_; my @keyVals; - # because %META_SETTING (and table-format) can change other settings (see siunitx#841), - # we can't use the usual $kv->getKeyVals because the hash is randomly ordered +# because %META_SETTING (and table-format and group-four-digits) can change other settings (see siunitx#841), +# we can't use the usual $kv->getKeyVals because the hash is randomly ordered my @orderedKV = $kv->getPairs; while (@orderedKV) { my $key = shift(@orderedKV); @@ -249,6 +250,9 @@ sub six_setup { elsif ($key eq 'table-format') { six_setup_table_format($value); } else { + if ($key eq 'group-four-digits' && $value->ToString eq 'true') { + $key = 'digit-group-size'; + $value = T_OTHER(4); } AssignValue('SIX_' . $key => $value); } if ($META_SETTING{$key}) { foreach my $subkey (@{ $META_SETTING{$key} }) { @@ -647,8 +651,8 @@ sub six_postprocess_aux { while ($$number{fraction} && @{ $$number{fraction} } && $$number{fraction}->[-1]->equals(T_OTHER('0')) && six_getBool('drop-zero-decimal')) { pop(@{ $$number{fraction} }); } - if ($$number{integer} && $$number{fraction} && @{ $$number{fraction} } - && number_is_zero(@{ $$number{fraction} }) && six_getBool('zero-decimal-to-integer')) { + if ($$number{integer} && $$number{fraction} && number_is_zero(@{ $$number{fraction} }) + && (six_getBool('zero-decimal-to-integer') || six_getBool('drop-zero-decimal'))) { delete $$number{decimal}; delete $$number{fraction}; } $$number{integer} ||= Tokens() if (six_get('minimum-integer-digits')->toString); diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 685bad095362d209e2559c73e4d26d7a9cceb9e1..94a0c1d5699ea428c5f85db500ada9384f37a4be 100644 GIT binary patch delta 118 zcmX?hoa@+eu7(!IEligua+(+z85tUw8d^@jGm%LO!QK9UBGX)cXG=pfXLEBCOEXt< lM>j_oS3_4rQ&&ebQ$sgHCs$KL13Lv9LQ1yZU&!>F5dcSgA*lcW delta 118 zcmX?hoa@+eu7(!IEliguavB>O7#bUx8JSMMGm%LO!QK9UBGX)cXCo&k7Z(!)7Yk<# lS7S>{R}%wcLkkO67b7DJQ)d%XS33n8LQ1yZU&!>F5dcPAA(sFE diff --git a/t/complex/si.xml b/t/complex/si.xml index 614cc514c2..673f0db1f4 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -1326,9 +1326,9 @@ Some text 1 234 567 890.123 456 789 0 - + - 1 234 567 890.123 456 789 0 + 12 3456 7890.1234 5678 90

From 0d9f76301c72a228b96b3fef81cdb22e417ebf1f Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:18:21 -0500 Subject: [PATCH 20/35] separate siunitx v2 specific tests --- t/80_complex.t | 3 + t/complex/siV2.pdf | Bin 0 -> 88333 bytes t/complex/siV2.tex | 76 ++++++++ t/complex/siV2.xml | 463 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 542 insertions(+) create mode 100644 t/complex/siV2.pdf create mode 100644 t/complex/siV2.tex create mode 100644 t/complex/siV2.xml diff --git a/t/80_complex.t b/t/80_complex.t index 901d04a187..9fc7233bef 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -12,5 +12,8 @@ latexml_tests("t/complex", packages => ['algorithm.sty','algorithmic.sty','graphicx.sty','ifthen.sty','keyval.sty'], texlive_min => 2021}, si => { + env=>'CI', # only runs in continuous integration + packages => 'siunitx.sty', texlive_min => 2015 } + siV2 => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015 } }); diff --git a/t/complex/siV2.pdf b/t/complex/siV2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77f7c8e5a2f3395719bc904ea2893da899859d6a GIT binary patch literal 88333 zcma&NV~j6O5G^>iZQHhO+qP|6cV>QL+qz@hwrzXvcxL~L_ma(f$!;Z`RCiKes{5P| z)#s2aiAm5iGjPI?&o7Ux!>|%D5jmRJ!0_?GFv^)bSh`seadB`F{oet@C}C~qX6{17 zC}C&pW-exK>S$&TBOn0d>gHl@Y!BnLd80X1wfMY~4Buf?FOYb5Qri-Pc> zb#SUpc$H@-@oa*Sl=Dn_IUb`b%HAG$g&oyD;GBV{u$ITP&C=qLEyB=m3POV8o(C5m zyOsDzU~Uq0&&+&Q^TJ;T&(SEfPA9!!abc0!N>D`VAylL z8txE>4gWQ_(2slbP;=!PR5$xk?V?-q)i56Wy9!(mD1dRW zv;cKilB6Z;r-{Pd4TwkTL*}T3n2y;$=ZS76OXE`=6q#u!U@nO677{I8A;ClDILeZN z+$o?8Bo>*(BN7X1amPET4sBTNoX-CUKTjzvzA5VJ&%X+`y>O)}Y5XqwmEVhhhW}_J zZW5f;W1Veme9QcIEK_Ng8c>JuF}-&VHL_Y>^7b_umm!0#DqN?6s$#921>5ri^{M;@HlL2O=M3r zwX?hHbF^C7x==jR?zy9#>H8E=T2&;W+1wWt88Zs8+N>7%Oh3aShba9;Vn2AcS3d8g z;&?aFF4@R)ob>050|Ejb7>!rZef3`)FO_tSXA>_wz?c<+CWJ8Os!)RgcK{+!^3ZUH zS2Obfs=B(eg8_*l@)u0fe+G-;Ve-R7^~&O2tG?1G>X#+{bhT|y$ah(11nu|v_FB8$ zJ?Yg(s;^5AnyGqFVrad{1?!m&G^0oeH#T3&z-a_!&)o3e(r>a*tn zxun}S&A2GL(RuPFU_c}Wzc5I1?*@}HL<5WaN~~RsAu~Q}ixfXu=4w&bfV&id_1r_S zzo3({<2A#WJDB}HaQiR&KcULZ@xNl0g`4&NH)czdy#TP>5BA@xUX{ z={gG;7x@M34SX0$@b&)*jIQt8tw#EPqIbPG(Bb2>j0JE{@2u?a;t4m1_lqY{=^6@0 zqvy3b{Do_1Jj4Sz%{ur--N6Y79&W{LcWra{$7-rhhXlIu*K`o$q+88KB;iXR$M!vT zIjV|?+$4$3rftTWNO&--l&zrv3}QfxN5n6zYzHN4TCw08c@m%y;?V>Bge1a6tmo!7 zxKC@NabNNee{SztuXAiPM6qI0gS@87F#RFrae|DaS>^pzdp1rOJ@dt|DV^w_8%SwU z$pt9q2_%7buEPJ?bQbpirRmH>%v|i8|ARJJh?rSfnOXnG_CH?zA1M(t8ygq%|8+h8 z--H_f3a+%h^#~4gbjtt?;rV}trITkm&;U6Y{4IlUDA<1ouo&AfNv^X!l&`=3>US$@ zGhZ67m%BaxZg*Kl6>3Uk80}7tKvJ9`g}N?!>$yeS_k%>4P%S`=<|+|mALnOZ0AVkyO{|ZARV%#W>XN-eI2 z4UJ8`ag2}aTk3XfYVXOc2+hTx-(3N}_4GHV!^ZMqY{N()X z!nXS13=j;oq*V-JSn~a32F(cQ`}r*S-8HsA_}6OiyZFmvBEe10?5%CT8A$fKMon_K z4}D)~c?LA!)bQU6$>d%K%DF=f_|2A_Sij8Y`H4zx<@5w{`qjVv6!TS@?AnM{#Iv4ScWsq4@fJ zi@&L{>-jP6_N>dk`a~P&?Vbzy{w=iu`6bXthSY8Py#jc!2jqhr`@(MhIuxhIhNV)@ z%S}wKEI;0Pyl>V0_|DtaUI)t{FlhAEV*v59qAvYD^eCoR&V0TcJnjMlJA&?pp88~C zwz7FLzVlepUQszbJUIS^_zE6-4kO$f2M|iK7MvOC!x@=1csltb0(ZwgfoAY>4SfqJ zJ177ZKR7P!Md9{aeHadp{!7>`zc&26gTbEp37Q6y*e6T`@3;D4{EDynf!)v!6nzc6 zxbFK#aF`7o?o*}v(a*#0x4Jm7dJh2qp7Ltb{s!KwZhHrH0micb4Z5?r{t3Sm9e9(h zdSy0qd-MG3dHX5;9r@YAGZwgmcX!^Si~oc48}P}>^Ix6k6(argU25l7^$RCR=Pz;i zckb<@z|k*6H{-!a{eLx@vX=XVTQ3H^)saJlz;}l`KkGN1zl0ZByQp6O)t`9%g8!EL z%kAXk?lCU(L45VJ{e=E@{tXsVETG
<*=NjB>Y^+VYQQ>V^E?<@$wt&$FOm@0m+} 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 Ku-a{P@c#h2_1Q@P literal 0 HcmV?d00001 diff --git a/t/complex/siV2.tex b/t/complex/siV2.tex new file mode 100644 index 0000000000..103e02a760 --- /dev/null +++ b/t/complex/siV2.tex @@ -0,0 +1,76 @@ +\documentclass{article} +\usepackage{siunitx}[=v2] +\DeclareSIQualifier\polymer{pol} +\DeclareSIQualifier\catalyst{cat} +\usepackage{amsmath} +\usepackage{booktabs} +\begin{document} + +% This file has two purposes: +% 1. test valid commands that give different results in siunitx v2 and v3 +% 2. test v2 commands and options that have no counterpart in v3 +% +% The section numbering matches the corresponding section from +% version two of the siunitx documentation. + +\num{\pi}\\ + +\setcounter{section}{5} +\setcounter{subsection}{4} +\subsection{Post-processing numbers} +\subsubsection{add-decimal-zero} +\num{10.}\\ +\num[add-decimal-zero = false]{123.} + +\subsection{Printing numbers} +\subsubsection{group-four-digits} +\num[group-four-digits]{1234567890.1234567890} + +\subsubsection{copy-complex-root, copy-decimal-marker} +\num[copy-complex-root]{1+2j}\\ +\num[copy-decimal-marker]{555,555} + +\subsection{Multi-part numbers} +\subsubsection{input-quotient} +\num{ 1 / 2e4 } \\ +\num{ 1e2 / 3e4 }\\ +\num[input-quotient=?]{ 1e2 ? 3e4 } + +\subsubsection{output-quotient} +\num[output-quotient = \text{ div }]{1 / 2} + +\subsubsection{quotient-mode} +\num{1 / 2e4} \\ +\num[quotient-mode = fraction]{1 / 2e4} + +\subsubsection{fraction-function} +{ +\sisetup{quotient-mode= fraction} +\num{1 / 1}\\ +\num[fraction-function= \dfrac]{1 / 2}\\ +%\num[fraction-function= \sfrac]{1 / 3}\\ +\num[fraction-function= \tfrac]{1 / 4} +} + +\setcounter{subsection}{11} +\subsection{Using units} +\subsubsection{qualifier-mode} +\si[qualifier-mode = phrase] +{\kilogram\polymer\squared\per\mole\catalyst\per\hour} + +\begin{table} +\centering +\caption{Units in tables.} +\label{tab:s:demo} +\begin{tabular}{s} +\toprule +\multicolumn{1}{c}{Unit} \\ +\midrule +\metre\squared\per\second \\ +\pascal \\ +m.s^{-1} \\ +\bottomrule +\end{tabular} +\end{table} + +\end{document} diff --git a/t/complex/siV2.xml b/t/complex/siV2.xml new file mode 100644 index 0000000000..348199498b --- /dev/null +++ b/t/complex/siV2.xml @@ -0,0 +1,463 @@ + + + + + + + + + + +

+ + π + +

+
+ + + 5.5 + 5.5 + §5.5 + + <tag close=" ">5.5</tag>Post-processing numbers + + + 5.5.1 + 5.5.1 + §5.5.1 + + <tag close=" ">5.5.1</tag>add-decimal-zero + +

+ + 10.0 + + + + + + + 123 + . + + + +

+
+
+
+ + + 5.6 + 5.6 + §5.6 + + <tag close=" ">5.6</tag>Printing numbers + + + 5.6.1 + 5.6.1 + §5.6.1 + + <tag close=" ">5.6.1</tag>group-four-digits + +

+ + 12 3456 7890.1234 5678 90 + +

+
+
+ + + 5.6.2 + 5.6.2 + §5.6.2 + + <tag close=" ">5.6.2</tag>copy-complex-root, copy-decimal-marker + +

+ + + + + 1 + + + 2 + j + + + + + + + + + 555 + , + 555 + + + +

+
+
+
+ + + 5.7 + 5.7 + §5.7 + + <tag close=" ">5.7</tag>Multi-part numbers + + + 5.7.1 + 5.7.1 + §5.7.1 + + <tag close=" ">5.7.1</tag>input-quotient + +

+ + + / + 1 + + + + + + + + ( + + × + 2 + + + 10 + 4 + + + ) + + + + + + + + / + + × + 1 + + + 10 + 2 + + + + + + + + + + ( + + × + 3 + + + 10 + 4 + + + ) + + + + + + + + / + + × + 1 + + + 10 + 2 + + + + + + + + + + ( + + × + 3 + + + 10 + 4 + + + ) + + + + +

+
+
+ + + 5.7.2 + 5.7.2 + §5.7.2 + + <tag close=" ">5.7.2</tag>output-quotient + +

+ + + div + 1 + 2 + + +

+
+
+ + + 5.7.3 + 5.7.3 + §5.7.3 + + <tag close=" ">5.7.3</tag>quotient-mode + +

+ + + / + 1 + + + + + + + + ( + + × + 2 + + + 10 + 4 + + + ) + + + + + + + + + 1 + + × + 2 + + + 10 + 4 + + + + +

+
+
+ + + 5.7.4 + 5.7.4 + §5.7.4 + + <tag close=" ">5.7.4</tag>fraction-function + +

+ + + + 1 + 1 + + + + + + + 1 + 2 + + + + + + + 1 + 4 + + +

+
+
+
+ + + 5.12 + 5.12 + §5.12 + + <tag close=" ">5.12</tag>Using units + + + 5.12.1 + 5.12.1 + §5.12.1 + + <tag close=" ">5.12.1</tag>qualifier-mode + +

+ + + + + + + + + ( + kgofpol + ) + + + 2 + + + + + + + ( + molofcat + ) + + + + - + 1 + + + + + h + + - + 1 + + + + +

+
+ + + Table 1 + 1 + Table 1 + + 1Units in tables. + + + + + + + + + + + + + + + + + + + +
Table 1Units in tables.
Unit
+ + + + + + m + 2 + + + + s + + - + 1 + + + + +
+ + Pa + +
+ + + + + + + + + m + . + + + s + + - + 1 + + + + + +
+
+
+
From d49829bb0288262363ab31cdecdcb88bae2a091f Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:24:45 -0500 Subject: [PATCH 21/35] bring in the new si tests note that the binding didn't change --- t/complex/si.pdf | Bin 172998 -> 265321 bytes t/complex/si.tex | 2876 +++--- t/complex/si.xml | 21744 +++++++++++++++++++++++++++++---------------- 3 files changed, 15528 insertions(+), 9092 deletions(-) diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 94a0c1d5699ea428c5f85db500ada9384f37a4be..04218a629632cdfe2285a5b1f18d5b9825943a82 100644 GIT binary patch delta 252747 zcmZsCQ($FXw`|z4ZFX$i+(|mNZJRr`*|BZgb~;YSw(a|!bMDc-|68s3G#}O&HAYp< zkx|&w-^j>66~rXynHe}?f6grqufnpV#U_H`;W9HZ!7@r%Iyt)#bFpy3GRm6TnY&mJ zGqbZKk%&?QyEWwO*Cmj<&($xOK?}Tk)8HULBQdF9(JlQuO39%#6K(VBi^kl}&|hzT z2M0QFt*9AHOQGngonDWoGk2#LQsM_-$U?9HG$T0|=Yu^c0i#ueuYpu_Y>7Q=?Zz`*AqoQo7efzK9N zp^~ohM^i!rtuHDQk*a#|D?moCye$*asG>M@SkF*XqOzij>}wDZ!nZI9DnJWv&*#E} zbtyt4mXrq*HK!gF>t{X&sokk}u6~N&LL(jqQXwP2{sK=&_i<`kID>I3rg~U#PJ4E9XWIkHufcC4g?Am9s!gzkc1Pqi=F$f%G^odvc0t{w^^5VL&*;r`I zImi$4ZR!?xo~Lz7Jme>=Kiv4Tv;xYI*nHyE=5JZjS1szDtl!$ORqh8nEFPVjE4k*3pyd@ zvLt|3_26HaD1_7vZ=9GJBgpo5&qj=`;6gZ~lfX1#-QcS5hIjDmjao&w36l*2v+%;5 z0^Z~!%ovQgZ3!hztcShtxJjlw{^(;&94Sm-lJhXC4=d68bh!^s8pQsM_tbwLVG?JU zuahC~EqZNKN~_FA^%}^Camhn^ALo(#e5XERQrqs#qLh)7r!bkmR@RzDq}y@`U@68= zmj9gYya9CcZfQQ-&U)tY!sW>Wp*D@ZwIWxQn0-eHbkmefs3t%d#9u>KdX^8>AB#=2 zLKM9!qvV&l6z9xGSslk?Hg0j#?Yrc4{ZhxOl-SniKVyQfcwFP;+kYvnvmF}8$b?+2 zSjuYWq-VPuXnAngEW}KT9QE*Mpgm5kM7lK2C2n(T5qW9>ZM-(C@~`r$eas8sO48G^B>`{ z=3_DLsOg+hk1@RU(l4xDI&xw+Je{4NeM8fhh_qLeH*)T9dk@zSJoCd%F^)c>R_XZH zEkiq-81z!%j+~XJl&>aTO9u?LNOdt8xEWORIO~;qxZr| z=Vij|&xc&!iaBwpx`BPE>hc(w@*Ex`VpVe>bLHA;Ycmvpk{($*XYoXibaQNN) z-5LsSbfU9&4iM}yho?)gr%rF+)FhUXC$~D9O5eSqprxiEp`~T}$1 zp#HEj#Q((IZ5pb@npv<%&L4257N4^sFGg){@*t@$Qxy+HYhDnRQWd@dk}nn@VnkCT z2(KW+Yldp+@cxS(~?|iVTene-7A7SwJppWEGk8B|x?w=!qCK|Ch9#Jqh?=q-nsz(yk@3I|eDXR3+GoLXb_My)YRkIw`iSLb4bs$jHf|%`o9dT-d4 zpNMOXV}!wXEF+uDeeV_~Bg%Go^z_`Zj3`sCVv9FbYqxn-+$WYQOGD;Kg*zBb?ga1E z-1?m-vovl%X$K0$ew>-KxeKDSqakZN44XZybNI|lluW_puQpod99(6`U#Y>|_+jmb zhfV~_4mjqijN82LXJ^gOHyU$zK{zr3t`W^KiDKL_XLzMcLt8sdHbTI?s&MU3_%26N) zewq9}WqB@oeX6Fl>j0hZ%r8$%YqEOFxe}VemvgqwYO-rn7v}wKBEIBxWl@UG*cc-I z2l;X!%lFf5Xs--2jg*ylO8H48{9CeED<8L#fm>HN{cEHnpGW?9+u6`V_&J34&-Wi5 z=JBv_v*3H(pv#WKrdP(0Dof2az%Hojy8I^2J6A( z#;n#NIi1ploD&8kphX_~t;1cv?HsTLBj^M?(Zf%Dxz3sU{#pAN63ipO)NRBdL15J*U4m!}+p9=w443 zITmUUJC8#dG5!wt2G3%QgC)L)Sq1<Ej-FSML4FMTJ3yhd-g zpK`!}vhL2}7CKNF)V&3|I$l{|%00%9@lN!Yp~ru=A~Urd?$qP_X&-b0iK1_`^~_p| zn~xUB)6(6(j@rE)BpVK4boPE)Znlf*-UgM(|EY{CW%e1z=ceDox}NMGPa169{uqCK z0)j$RCiNqufwQwQCGC))gR&<9DXD>nT9Zyi9O#?xv>GC+i^7b^lO{CMKT`l*Cz`HZ zeZ;Nl`6z>f_4kkMB7uH}oKJ0|n>iThQdTqV&pGdPzUHSdGxk_tGmpow!*RVVX9gUF zbi^|sBmK!U143M&Nan##<~clY&p|YNk(&}3GMBp3-~KUE5oU@)VBNFs$o;@Z=rA*= zCk3&#cU~J}J7sF5esL^Rn?Ssd%NPE ze7hE!eTt+bs2!>8QJW7btJn_>^Wpi6=CHcy+)zt2Fur! zRg6v&3Rd|)cf`Pw(aiLAHP*xYJN=YRe_+2ukA__6NJ-3L<42R)E&&_^9iv`<^6>fN zh=lXIAhkS>SSz~%;@JN|!{?7~&&XyJB5q;xmZ%YnwYkV)6rbf>24jq*$g^;%kmHpA zi&bITAJNv+ap44h^p}rlr#aeJ**c04+a#s44n#W_T`0%l;ZBtll;fRsK9_P$^MmVt zdP3>Fsge>TE7haBuW{fT1kLaKs@M6E5Q_ToysR`=8y6itu)~vz^O< zPva7zI>XY%AW6vmYpG1e$#vk#5O_XNuETeG+jls7te1POQs{#Y?#O;^>{&@>$1q`OMu_ z4Gc-?Z3wYjIXQZ=`-98~E(pxsO1drbhe&bDpcdW;mv@J6B-q^Hv6H*#d0zq}J@ysR z3gbW6?|OuzGChDPhe*q zfbD%%0iMoU0A)=Iv@&m9xNlPi-y7&Wa=&TF$jSd)D*c z&;m_6XepIvFw=UytzMh_Ak|+IMr@FTxbnX~Pac%OBP+dh1LK~`2CyhOM!a-W2}vx+ zb~F`R5CDy)%Ztk-4`iE#g*KXH0P~a9gA?(Fo*XY+ALLw9o#B{y3M5OH3<<&z020Kb zSDRx#6MVmCPoG&YFTX?b>N$B4r7w8 zLa|1(Ty;P!M8IF!_GSYRzYO^rD`Bx0ZhztCrVR z-o|qpVLnGupEfjeVD71}0=P0mP_~Q1Y$=#j!TToIWFo4NOj#v@8Z#K&n(C-=q7ZQ4 z;I~25LfBG8I(1J31HqH|~anIHE z*p>RqgzSNDH@HE5PJ%AT2bASyHn+j_UOM~xXa9VzAS0pQ%QOWm@XC8AlRn4n_g*{KgANa63$M0V zWAW}(cDprcG{GpO71{wnO;yWN>IzB z@#g?$Bf`Z~S~X7J?{_<>^wI>|hWIqscoT|z30qXNt^$H4iaQ++C;8ZGeUx<8A2^q5 zHrXcQS_bP?atH4Z0Pk*6qiZUoWzmn3Nqh_nFy$jvCCYD@LMMMX!uNEAcU)JMqYyBH zTOjgsv8yRzoJ-?>3ax3EFzN+m#yDV#}Fme`XtEks|>&H*UvbUex_u zrFF7#Bk?JHJj-%PoSH5OyRj1;??(t99AKmc(9=JkdwCaM6qB|Cag$E93wk1NroWgf zKPgSaiyU!-`;_D?q*{!#qGoF%$5_@Kq;QkmFaX+8^rt;Oog`mp>&Mc-FU_U(g(7zz ztTmCGjm@ZYtsw2&7H!7|wL3Xon==mfnxMPPJlzt~mF_fj=XiU!1QtW*ufGxqHN)b37*^iIt+*YuOyi*&*regq=xO24P7S z+&o>wY&TQOk4klE`{wC*+FekF7ChLr_5x&Rd|)fnG;NQ_-p163^N0hHi21s#y|&4b zccnB|0}+o{Kpm;~Xe3JQ01I^=DX<_J1@7w-#5#LY!TO2uy~{hO%l&$eI!VBlk}BFb z!up|8B}62-W>^>$%JS|Z67hyw%jTHuB^Jo`gvb1?@gpDPMUKOg9X1(Xc2BOST%kmz zt8GV-!mb>dz~FTsWNBJxWMAm100b<=ljdWg|4H{a1Z74b5X5P9o}T2!7T7np_*7~g zJ=5G;y|XO+K}UwADvmti7q+R^tPd(!A6ubtLG>YC&WZ(C7S9OIbB=NWAD1iP-7LqF z6AVxFra2A)X+}3m7*P44Nms%adnw0h&fN@s>BKA~&TAkQ0N;eZ zX@OZp*=B%3erQEo%a(m-M=*W(@=}tzEhDVQ>#mS$Ha~yNjy~)R1H3$-CXf;&Bv!G# zkgHaT4eectWi|oHYta^o^gnWxCss0`Q^v^(Fdj!VBFxT1CxBXl7fT(Gl&|+1wg2^! zeqh(UT@&TWIHEkO2F*Q@#tWmLDH{uRIf)gkeS0J~u&y*i`Rhd&Z;7_3iOag_#T{vr zv7a-E^Skjkf0cvx6A*=Blq`>DFsHh+vFoa5 zfMlzm`}wj!+tqL;LH3unuPX>UdSO#KDqGSIh0WgzW^A#<-ce=(sik+EKF{bOUz4GV?L1_|K ziBq_e$60QDNVpby!?xNw@fDU`%ZPzaGT>-+B-WJ1f(F=s{Z6_IR9_pEdgZarAXK30=>3 zpb(JrW{tXe!$0KweYw7NRsqY}k}PyMaseMN{O+>Kgx=_in<$ud<`SZJH#a>V(umqD z%XKlK1a{*dn0!3@%6*%7Pg=q50S-tKVnA~;?)<3?3)U->f>j)E4(g5`xvO=GB(%Q? ztTP4iz;V3exk%|7WQCMK$K(L%H7*MO26hGw6|({G$>{W$sIoEqTV%!bBu8m~I-y@U zDUf5_V46c7mDw^(TgK#cI7nLD8U#7lqkG)<(cpNDFx4V#0tO!V#DNyKKlX2YOaF*s z3mrlq6d6VI$3F_i;vmr=3&pz=$NfpfBBtaR0@7rn-}YIgB<6#_&&(*Ogs$NM{_?>Q zx}f7cR_&FE(ft^uF>}d1ylZvpP$zPGDw86C5WGS_$p|eJV2#73~8$@i9Oyya>riB=QZ}0Ky9AgpucG zC=gUEP7(HkoMkP&EME$OT8dsGIqI3B#Q&%++ax6$Hx3PcG)h{)`p_UTBe*Yzn6f&_ zz(DWZ1YGq-b}Yljm8!1(BAI5)6iFC1n!HjICSg2Lh1|wTEDY>^k~%LoBe&ZcX}y6T z*DzI(VpJReBWEORWtQb{A%X=uJ?_3oH@DFus_ot+rz%?%lUppFzo;Rg6LEG z=v0^%q9<^2sKl82cqhx4`_M2yDPH|d+1=G>bDr7rRZ@_Bdf3&o4)zFn?&Yb*3)ET8 z?Ok?PZ$6I`Js`CDw4Ka*J$Xtp8nlhxKMJ@~e%`l^k(Y#(98LM{v5&_68WU7CEw`FKYU_YqGagO=!WJvRP@$ zb$#S_rK+0bTBTHLAQo;7#Uq-&0P`ny%}yw7KX3CtV>};J={LPbO8{3L5#h3CEWW4G zt{tkT-3x}Td+#jK(ksm_+(u#gUr<s6dZXLK2-vtq(f0^TKFO7VqpfxyMGjiR$nDIwkFKdV2{sz|Z164M(f$g}6 zUe+SLs_PwP9^ZZ}m7Kv9so-kkZD;O8PpQ|21)SNORK!8lU7l5p?0H*N29;yz8RtChOC9J7 zUR)~1cLRO3Y3=ZUJ{pGFK#o)rzpo0AYyz18Jr(o!+4%k=TDC3jy?kcdP_MRHj~0YE zgv)Ev^B&=7ayTGi=(J?_7531p!f+{^vG6B>3!U1m$%h>9CMH5)-`eXUMkNg=haQ%2(zh<;)U~p~-iMU$QxQ|Nj?byhoX+NGdzi;i;XPo+YTpJy>`5Lrp z*QDdLCbMZiviX`c>h9>~)~|ZM4E|c0jf$FVyjIVhj#!47$^89!3XjZb5mi#W6?NzY zS(fByF4egdL(+W??3vr#OzC8Fr*UU+r+!wrs^3s<$Kq4J(dl=FoW=Ox;2v@oi%EMqo>c3@6Uz9yOp(%_oeCKy%O~p z-t2F#@AHo^w9DljUC#^@fEb_L&l8+M?m>~QHGD9+b^STIe8iIe~9M< z(@YXo?xu!pRKIw)w3LL}wE~$)8EZ^xhT!l;6_bqwE>?FjTl#?kBBhOCpn`ljb}goH zRRS+Vh4If57<4|`rX=QRqMe+?DOX6g$`6~^e#yG|%jYUGU=>>ck+4!tLY!b=#j1#; zbn6Z8rZ1Kwvc_s{rLhBvgX75ITtIB-*)QCx(2|uz8Qn!^glpb7hp70~dfSD0#i~`O zQtxNNuD~1?E>Onpu~GS%FxKVQ-y?kO49}EgMR!&Qtld3anm7JFUf1)+1S`c79DMwl z@g33l!;RMuK&lwBK&DX%0hVt4`k|Qy&I1vwz?}ABhQrU;VadF}PC{9)BL=DYg+Yd- zi(@DF`gj+$IHHhuUNYygdSQlLXq|Y5w(tiMAqKC|ikxOzUyre$zwCQ{H)j{|m^QQ` z%iFPRb6MWdHjt1rZ=Jz7ozNv3w7^VG{8%eGy{8rV0t#j5_mAR;6rl4=sq4$t#qLN1 zHwCbWfhj&5Zzw*OKS>A2F<~IzLGrUua5Wi37Wh*)Qul*plF6osLHB6XBWK|$bG)oE z{Iol8hIl1*ox{K|jEvMkp%KJZB+ET51&Ev()QgbI*)q8%Awhdp-=+ICkke)p&Uja$ zBrb7B0_$U~QsQK1M#)?q)Gl#AHTdDmV-Oa{C}n4%#zn;{#DiCHQ*uMPv<}fqk@yM6 zMbS%%p89T2?TXt4?_}-Ac?5^?y`tJPc@j1qGJg`0Nk2;wp`M57WKCdk>PD;tWehZh05n?@VpnaJpobQ+qkgCjo z&9Qc$wt>KszV(w}st_OXSg#*J3y2&9aJu&7wkM+PlN&du;jYONx#wm6614hRbS@xK z2s~?SSLIn4B{*gVyl_5dLQKdT2v*i4kRw?@roj&|O~At^QRaZ8OqKp`nT0MDntgoGvn0+YcZsi9z%5K)Wp$)&iZ;+^7& z5B){194A1UT!}0d{mA^*h6X zSa5oD9_2g5foZUMH2)2rp%lw^O73{EHZCam9on5s{hLDB6i2~;q#~juePYFbGD~vV z!M!(izzKHFDdz(>7+UYr1@w`iVS*n^MW2k7ueLXmJUrty&>8IqS3o={+O~^8;?3oy4dU3xfy>fgu zfj&}l=PB_Y{Tg5IF5t)X#cwwNFv7%D+U+mIN!2@M+S+iQ~52Eds18OBO3{0YG_aY~|T7 zQRL`12iMp8)PV8mIbsw-w9dhPh@CgfRbzj5cpsQDD%id7-=)G}Sm7robgx-l6ms>?cZ()bN4MHGC17!Nyqq@N;PIjApHa7?Iyg^lnt z=sEO{N3z*{{bbIRXklHq4nXqY5K)*)#~a2Eg$xs`oV14Ds3_#dPDEeuEQV9^{>0`xSIK&DJ>XIUN*W1~Zn`R>eArGPG>VQ3qIwUJ#) z>IXMN>-HJCls;kia$Ju|!B+w|B9rao=aEzA4aurch%xEjD@@U78+#qp`>FKGstArU z8MsO&SrXsvI0?S;7SxCGRLw6&QH(!)iqg-0OhJN|C-y+G%duquv9asX4j{H5;y)8- zQMNCGbT3v9u?+b4zJZNGEdCjDiq0z&q>|%clY;A7UocmV9e)}W^E>B4QKoJ*NoL;!fjAs3K@M4X{*;0&&XRW%mrw|9Kx zv0>uXwfE8J+y`o!t4s*8as*nLA(+i*XqnNFi@*hoELs5*M z>ZXvuaXCbBOcZ9`u!#q8x_xA2ycFuF0*Qq-O82-b%>?n9=EPQPGE(L<7i=Q9PnSXl zf}t0by_&Mvzy}1TZkLThZIUt!K)_=x#0ZUSH3E&6(nJY~r?}mHfu5Bn$BXMrLtHLC z@FQlb(F-vV8%WM*c>y_O*Y^~%|4x5Y>L7K$5WRI49s0KrDD<^Z^7-dn7rT^f@?J><*{BX-nJG1 zdHEJjB$q2jO<=AEh!wYNiBLwQEo)N3jh@-nTz$M{0FL=DVfy|6tbjGWN(;Bw$ig+t zyixpoe^<+&CkZoRvYZk~?Q$4R~s^r*W`q*m8xHgGj^{x|V1Y*Dz9HV1P zO_(fua=#2vi+Ab>MYegxQ0yue5(Nru32$d)oOBH1{sgS8v6~};UX8XNSn^-Bu)FQ? zoY`UK00T2zcf7-$E)ee1 zAX<%`2sTIA!`GS+ts|-sY^xOXa}4xifID2i1h!(>VX(F3;$|BjA9#!yje@l~O!>?M zI^q$Y6xD}=?ialV<;mxrtA}zNZoUeU`2#@hc1xK=ux~_+N8v_T34d(K6X$c?*F7A? zLu0mG4jWFitUrX*Q;h!gL2$zehIfM8CNtsy{wdwML?wOPHq~Dr*$IBv>k^`^eu6C| z1#)V&n+{N%jC0cZO#kF7l^yzKo@)~~Lq9sMT@0SR1 z_I)1|nuKVo3AoCMF7ds^_`Z}Ri;pJxYQ;gi8wScXWReJuAh|8 zj{)|7yL`8XjPpOqke+k(n?)s7l0Z(W*@L+mw(O_5U!xP_PXU;Q5zSIO{0eOE?A+X4nzHmF%2J$+yA=T^5*{N^yb;f~TtOS&T1qJX0abXY}-MAa0X zVv}?f5%D+4P7`v1cf0id*1xr*9oA`_m4e$n=0G-T1(I?$5r;&@KqmnHyOlOlUq5=? z@?Qp19yh!5n)S<$pVJGH@(oL|JNY`9m+!^MmhHEh7!LhMUfUGg)tiU(D33y!Vyq<)|vh*Mb4o0D_7-Z zTi~YMlzfh!aR6t>l5hL^=P^}B&wTenV6nUJO50LP@TZ}R&5TECV9!oGN)fWV!qZv?i z#@EQX%PLnfj2i%bm>U3Z%FA}x_UN?=4Wvag zX4kDX?|*N3GpFul=_^Vu0Y9+?HSk-kejSK8yqpnQzk0P_kFmRT)Q`()ujSM>ez3?3 zQS~bS?B|Nm#~X@w0c%^o(0cx~EECjL1!~g^FhE;Gp(Q#{5C@=<;LtdwS7i<_0TF)D zaDj)DsU3_L7Tci0LO@ozjUVn2rF{pKXB~$B8HiLOo+u8fr+2Cxl0tqHt${=VOS;k8 zKTcW$5f2A%_kuyc?ilZu{nKPa+j>(E=?@Ei29gI(nzVVF8rUtU%TE*=Oj zqItQT73$^=^F^=n(Gu`+fuZ2jJCJ3XCuJZ-Xn4G{5E;Wp9|v2+CHSJUAxLN6Zk5MK zc@HkOQ=ZoaGk8W!UJ=Bs7oU5V&1CEK@yHjI%)@?F*1on6j#EZD$K)J_H4SVry)e0| z1{7x7Y800@=C|TmpfCxmv3yPxf z*8Xq0q?O>iyb2!+C=dPi-7-D>wiR_WY8)j}!oP&HO{gfC7QAA7Ift+?H9i&x2hzB< zvWlit4grT<>?6tjKq)X!g=q%!5w9Ve9oN%b$zx(XEItX_KYlSd5$+_iwmfUeCzEHR z$t9GkQmgO~jD3=jrmPQPjIgAzL*altep0}lG9xT<(O4svIC7FSdO|oR+mLT~LRLn7 zsC?nh3Soe70`>iwS^W6{J0Uk}R`fU-ed+C|tI|<=3V`$nuze5(%g{;?&y$}3oz-Da z?1W+qDd^pN#Agbj#NZwf=J@PKo$gyqRGtNYIP@(Un14zn0ldT;^tS%iFM7W&&rcSY z`RQuByla|>3N0T)OvpXY>IWy#Mtp?51CRj_QqVAn-L}sPt2X6L>i}EzK;SI7Tf?t2mv>auG>T^P zo>xAkSuv9+S(98!Qa(XhN_&C)DS#fXWy7iOkMIrLG#uM@v23~P2D~3EjC~rRfaBH$ z#v(0{8>KK?MMl)vSO>e+^*S2wN@CzGEbx9}r9=w9OXZPoX;K`oU#L^U)umvUdrrP>@Rfe3n_Ck^`o5N{5I#3U7F13*UO#u zVc&A4t+?w_m;HI#;p}Tr?fm7HC58W<34wPS7J&N4>AE{bJZVsG?0(u20R6+kymm+c{#oE zAuc9u8FOX@e+T^uK5DBIU{Q9-G)JIGD%blwC8-R=a-4h7#@*er!rLyfnk=ggzHOmHC#dL&;;)Nz*m z+$mGoWR_IaSx`V8A4jR%f)YO)q0lP665dr*IAsJMN0|`zK_Xlja@ZU_t*gWqAN=7d zPs>pCK+{or>&Wv8ry8S7^Dl~miRu5dF1VRl|I3_aVPoO^59>mEJr=(e#W%Nh$M|l* zP*)l(5OjTj0u)uK?jc@mE{Kj1jAX>FP78Eq`&b1@vY}=&VvVWkZ%=)tJl6Tdg0)#W zIjek8sIA5U3npzkr$)vXi3$yKDKgKC}-IQN6F3f~NjQ6l7NoZ^mL^b+w)xf=-P; zBDt-SLJ?t+KH{-$F-fJrSS^w5qd`JiX2&usxr?AmT8SEYm8~52DiC$iYvWM5azvNi za!}|zUJu*;j{`Vp340bwr1}UKLbfaH=Hnnm0S$y33{W;lXaC3G0_Y4*E05l~s)Ndn zpx$u4X01+L;W!@K*+1#`mqU+nfEr>=2F){q@mE(vK_*Rf{fi^;bin28ca>tb^+Nv_8#U^Nt=;LbsB8J)SR5=un zxpX%!IZ$-C8&agD4inNM6w=^m5C5VVx^)ip2|ek&j*I42B`vTUcHfCF1;FTt$RRnr zr-M!KxEfTSu+uuYH-P-!&%7d*50AwcL{rrdIhz-%>DbTOCIqGu+kI)u)IAjK?uSt8UZW^)DmMd`Ief=FcOW*ylR+*a;V}IXau398I5SCuwuTpJ zfQS;6FaTr-!l3qi_fO&A?HcggIXiZHYhz=JC{}*^%cGaz`|)wQ7isj`?%J=T$6Ifw z`C;$ncwawuTaXez87pibX{GjR!MWn6s53|^!pj;RCroB?)gtr7`ooDLkAU2$;HE&Q z9B_2>6v=+;3tO=5^YKzn?St&i`0XeY+z%6EKBM&nrLWGEwq2RHsH#R^>;W;BeuyR6 zn4Y&v4FcH;q5#o!ntGI_dbBWyb_36lK1p(?dQFz{_Qs2^04FD(p}nsYd68xBl^kCa zDU5rC@GQVo!Vh))W?P!CgAgeNz8C9K6NvmAP3@hjI_qV*V1)+DEgLz6V0D+yu1T3=^EpR=Tb#Nx~_S)4Iu)hD8VXy8C~Ji-=r89+jp zEu!=?kC=>#0-nd|2M9Nb$o(~l1(lSS#In3pCierl;5kQSZVw^iimcT8KrB7L7--p^ ztof**i4;zZ=}OgkM5Pb_hp|YP^LQ!~Wg@{JLdqrCUI8I_z5uJ0+Y1poST?%`Ct?`m zC7AR=m-mPxyK`nCjqcf9V3JDMW`jBV22XL-o-d?sqE;wyGrgyoI{=|t;j|-SaezR$ zvX(5|)1!eQ-j081Sy{Rfxe*Y04BRzx^%W2|&n&c!k8B4cSCnwcp+)o!Gg2)(KG74q z2tE$BN1a8S(X)!((kuXMP7oKVW(GHIE&bUec^PgR$05+_lIA++&(0*yGfbs&vg94i z9BSNJ*j+B$B_kzucNN(Gx9`qXFSAfT|ENEdNIpp(%UEI2Ad6gJ3X|PHQ2C|`*X8x~ zH>oj)`wC9}sy0dytNe0c0`dl^M^U#ncz**66#3|E##r>jor z7^_?zi82|{-IGq}M{f_HiV82)G4YMAKm8)iCmGu-1shD4PVSh)!(p$ z8%HlY-P>rQ`P=L77xTZ-Xdxo>ROo!0U7xSVSjYA1t(?!9AGEtbjV8WL*O0pb z@HqJ^JAMA{AImO2cP}&qxw_v@xq3b?Z}NIy=Wh-lgm*ReSKH+3vFrOkw>Nsaypo0Mb8o|vzbbXil-S-W7p{g#HBkGteqSG59a|l9 zc`6>L%uTRTZ)>~`l-H&)<~^8?ml0)%dAA%ZCP@qB!@aW@+b4+&<0HKD_VK1H2J@^`^nj`NaJD)_mAKx{RjDb#{@Jz58}!)OnG1}EN*dND?y zz$bEI8m>6}r~DA=``d9xNntDc$_5znzV=kzcD}R}G(m!AYM+V-`n?-Wpz?YIY`e(5 z;~A`Y6M&Dj8_V8YO?bDX7QqphqY3){Eap)iC|-<@{1#-C={Bw|@0~q84+EyPx6Dc@#gcDT{4Y z`hIp1fn4^<<(=(z(C=CK^vx@NuxAW6f+L+`gjlV!RNO?QndGR=A&M12hHP>wN6s$( zVCIIifTFk?s>zqVC}Y2Xcfgz@e8@G~*@-->v%eWCr7r_s4Sd;d!we=iJ;r=47&ZF; zwR_M9K`oRy5!^ZLyaC>ll;`#4y_8YBEejx6gxRros9aO3@mHK$=#}!@gt1Vm`R`T2 z*VG+4(Og$gTZg+7x5I}x(=k9to4>Pg#{VK$T?3so009Tr_KgSiL6TT$y`4(+_K~=_ zy#;*;%6SCJJg$N?EC$Z{=Fdk!T7ID!JiQELD##_fRWKmOa(>lLMq54ISc+zjp|fgPOgM z+VgK;0SoQ*hHld)P7Xe#7Ei^NiyEa1_iSHYznHD<4i_wk>e@tdGv8kDaQE+p5$1O} z<+_*TOZ?u0YQC+{rjJX%2J0#1_ShSNzbg{vPXGPEG)8uj9=2 zMB_Mo1o!oGQ@=rNH<$YV#Tdu&FM@^KtpBm!RIAG*;c_DP+|#^XT3C|BF<3yZnp6MC20lXTz@_+)Ic|VUZGL*TZrC>drlEsPbjJS# zoh6a7_`{zlHaJYT(=gPk9msnU3csYvR-4IeCWst~U3{Fl2Q7S*H5qD?Ye=02!z$%`(E24}=kNcHEw2R=XcLK8JRPDo=_OC0g|iX?K(OsLweSIul=D803G*I9Ni z?tJQl=o%^g3Ifz=xo~XR(j1TR&VUjOb++Q_vUscw1m=g3V%urn z79F|Z=}gX=K7L`yDY3@iJ!LLbluPF$OYgD+dI$(i(21;Y)z?oXlO8{X+ug>cplf~b zNeS7KLQD>AkQ7hK16ras4UJ#}J5P&~^KrG7QuIVB73Q4PS^a%ma$)Ce2o+So#W)$5 zgnqlcn(PK@boCmr_(lzqFN@(26X7w3rh4J)0gbkbu(B&x7&vUjj1cqL{=g@ zWC1ns_}){9VD;XixfVO5Zf(F{aSNTE9rt5*mUSa7XT~5O8R?{m3xFXe3Ztn zGNyss7`4J=;zF-WEbZ3^U)M`7!H<7dR4o3PIxG4<)2Oz<(ibwu+CAsL%@(Fqm@rEp z_~UI!*C^T6Hg~QGk(7RBL!E{^>s3Gnfp#wnV@bX{(`KokgrdeOLU_GOt`C$#YZG%Y zKW6)eERcxehnkv(rEnDtf5vnFQZ@`f{DyQt6>0ewh0Xad3Y(dY|A@%{ zJkw|k#uT~nb6II~oo{-yjN3HXH4&DMuFgOw;J@I~-zI_igU*+CXh%2E(b0xIwSg0E zx`H#gm0dSU!%nz zNzf!(%f2xTQ_ECGhNda#n5C2J6;GK4;}J6%AexN;_yz?f4v`l9nmRtm&1uIt*sITg zmNZME{-~Z*BdL*fq6vvfp}zi#V?q2z>rzftcfULv?yyJ&I+wfvcWBj>ued04+f_g= zn4y}~l}Xsh1UZTN&y;7%S2~Pyk1NF$kGL9B2<}0t3PPzYS@aDyTIEh6@BG?DPD29i zIUZWU;VC}clYKOoSI)ZzQs72-&cIdZx`j9Oi0U$9yJ=b?9D;}!l#qz)Ev(tgnf|Ei zQfPFi5?IHDOBF)^>s8YNnJ-IzuT(<*nrgR-2*aiu%XG1`{#oYq#jg4cyX{YNFlCm3 zM-wgPD+;mARc%i^sE%eh-tumuSe5o{n?WDTg37?Z1lBTy;W`pyD-95CC!$@+iI%2m z$H$E@iwEnMVyi=pE}HHz;50Je9N~3h-Yo*v0ukVi{dAfDYR}CWUk<#N?mN_By%v2& zK+K23#slFa_IC82!a=Ca%eE+uk5h&}))8kaWKB9R8hqWLqm;K;#kc%|;<-IEFpzG< zT3iR@exFUjI`C6au!+PwS8ZVpKXy?4igIe)upOa?3;<-}Fxf$SprH?z2egou?*@Fb z?*Bk3qEeXxy7=?jw!r3SZ|}7HpkA{)0sZr%*}@BSzhHAe8E--DFn@og^Z&5*j?tB9 z-O_N3j@3cOwr$&1$F`m9*tTsO9ox2T+sW7GJa^nXzVSXk_rE>%+BH|rsyS=b!;gm2 z=BHk3cY{yO!T4$S!jieZnq-s7YK~9QgrvSGC+-~7h{{K&tuK3J?Qa!VUUygng|$ZA z1ZT2v?xOLJbFW5dOR)?La0Vq2Q=>)%;?7&`AdxIL7uK*K_mQL9v) z*8=wEw;+jI`-*Co+}V=roeQ{k7aK_=*BOp#(N@iaBeTyzIK2i%(r)z{hDWz_s6V!r zk`PK*d7y8+eGT zU8pc$nHlNDPsHQHmSMSS+MYSaNT>-}g7P4`27i_F=ljb1;K`hi48Dg#Ne$xf^4dKQ>g_16!fL<4p^G#hlW7e*%DDWa zv$zOAeltcXw4d*rT@fMM)=$HZM{tE`r;F1t5OkCgbBnm8y<=o4Gyf%RAL_n@NN@=l zwLfwy3Bp_hI~#7?0p|stN-5}_;oKT&!3&x8P=VB`+?1O9|VO8dYa{~;>b8HHg zXbbrV;~|CDr?Q331y*;`kz{EFX&8S;6$SuW(C7Auw*DNibK3)!>TS0`5q}Q-dU&xt z!?{Wn9j}h!AuzaK%zc4)yf;4kWBVk=NnEnA8X_AuyB%c;1p^4yP5KNyF{lDP4G;0z^YLswf*^t5bA zpfY{+W*#O-W$3j+u0B-w{MR>d=sE|4^(1IzxcW@J|7f+ z?4_~w#g1zcMjG{yFr+gKKqIF(yNrbR9l=H7d81DVcgUNs}8!oXA_>==oz zJ#A6&UB?PdBt;`_u@FCj$w41dUR(JPm+;5l-F4YL0uaECA7ozYFJPp)gXI=I-aXH~ ztL3_E``>MzeQG(ZEBHs2oUPHeuC2gn0IAM4rsq0gU{jeWMUsKkgs|95s=`B8UCITM zj6L6{MgGYTDvb|Vg%;!3W*t~iGtpa*{Qx;XHpb*!K$X*D`3deWPTYiVw55(?S5jc| z0a_AwU8tQjg&YJ8_`U_RwBS$dPF(zJl0Uwkb57jCe4I5;p}RnJ2CAp52I41z0F}@Q z7)GE;rv&2jLqag&XoU)6ID|omKutK*eg&w=S~3($E6hB+dja1#MWL_M7+^z=PYeV8 zBqqu!rXLD-yhmq1-zEZUq>9%mWc*mlLHJP|(-j=U6`cK+1v~Rj$)ePWp^aB0oW4an z**<5(uw3I74cXKtkDg6q@nO=C05h7n0(`V|9|VE$4!$gDaw10^ncxznzhBtMK%u1D zaL%(Je3W_62%Zg-Hpq@)_ZeBt=I4q^KnBBfcINfY*qt}yqlzeR}mD=g(Q?a7Ics=b{?cHi&C4;m!nhK^pKWQvt=q`!cClZCLcQ zl?TqJ+|B`poN!tT-pBdZ2V*DIZAM`W%*}3;lYEx7Idp`>S+wPeSEt4)leX}~4w8JX z%?&*ar~)P-bLigVwRnnifaG?C45@0b#5VJs45@mMg8vteAc(ZRF7gdfylI2^+V@Q2 zT(UTN=Fks51f(87&j|7ON#wjv@|<-^x2_4rV(@%7$k|i$0d`S&>YM@^*@t=Yj}<7y zLDu?zq7V`CsT>Z`_Fp+wG>)wN9I9I_k3cF@CL5R~au|uA#gQH(=8|70WaLfwp>sVwe_G$} z+fgNZiTjkK%M&~~#{)${dTWnjj|lUmnY8aGo@R2JAfr2>Lrxh~ZRNjxJne98CF2i8^Ep8pV}nmQqvf z3TOPQ9_+GtLPR}Hmzzt{&irQ$#EYX%zmg!8bszfUK(pvfp||sGwV__b-dKgHe`X1s ze{LgJs7v#HpZGJ#`@1hJSKEDuC}5DMD$~xuOxWUe%C5D;0TLb0Q$%N~bygA{_XK3D zXF9eiiE~KH*bk)*HnE_J3%78wt%4g0$3&NyHnBr&Zm}aX+EaPS4^E;^RGiLPmc5ua zcDmohP;%k=P$Rl)mTqq>wE1|B20f`4?+9*#fiy*T-q$KPGb%%>AT%7+bCAw&Ts_0P zz2|15F8yIZ023Td`#;+)Qop0$;hV`~K1F{-Q{mxAN`08Sl1DvG()X+Bau^&qHN`9XyMpF zzw1(M-ayS+aJDuoD*(m)lTK|fnIkOGCY+?R5@i|W-q`v6hH*WqJ<#zIL~>E0z9?l1 z<$BD>Ki*LxS`aZTHj3()TMYPYY08IgJuYCdJl&Xr8_8jP`{I-4UaDLzi+O$a%BnRCa|8Q1kvitgzeyg04bwVwR;~Phl0DGIdz=e}qX?(A zPJS^;;2JH2J3?YIH{jc>+$WQxJWJn4lI-f3EBKVQrXAOF{%++eLkOCukAL~F?P{GyDqm$z_JE9W!2Mp`cx@q2?@7A)9>(qI&6LsM zQGy0T$bPtDHJAvo>u)mUv8$rjK+?Y3&}YfpZF!czpy~MjhdheG%fq#$qPyle#AB5P z<7=fFfbjk>QPt>BXAX1t3cM|J>-@Cqs;(-C2mwo#gp8~EPOf{?9Wl3>n>}JFoS0j9 zkOQ;BXP8Inqn7yMI{z@z(lFWrjjzI}C&`&tWFRZ0pQ#_g-u6nlij2-j|3U8dQ~+RR zgwkO*yz%bmmE%2h0ZEis(SvW2JWm)3ac*b>Y)=}Zzb|ruPG@&hWG(mD3S@-5H~RFo zQ$$sR$XN#3%=AgRl58qM$HqF@E=R~zBD8bTX=`o6Y!7wVp^nUBLC^vV*V6i}yK_M# zk3H?UfNf;^TZ0Tg8n6jAPlaTExN*b0lf9~PWJHXIg~~MGj)K?Hw}-}!h;WANAm2Rz zM6xF6e+p=BimA)DANtbOKNxpnfEFx!+&COyB)`fKHT6D0H@`hh2n)k>8BV2*-XGgq3Pnn-V&-d~FI}4G5#Y zh>#NIe%law8W2jJOUW4hc~e`yjg7kloW|$i!Do0!CG;}t#`UUn-n{bCZRi=8UwVnD zI$u~CqSn~QpWIM^*j61>P_RS8g^Ed}Z$7RWyu13eM^O%1#H2#oy*yp|e zhL?E*$h`rm3-M&}kypuM&~ij#m337W^iP>~7HFr0Pb~z8LZ_yIDsK#0W=A{BA zW>giaqHBB$mY`^S)kkCTMqG#bt?}f|KYCh@FOC~<%D7T3T9eG0_h|CCHl>L&K>7!r z0&|i~5K3xDDa~9t;@ZLcC4?D?dah6?*asgqi;Tpnc?Be{-nq+GlwHj3Q8o9AoU|v= zyXQpR9E;o~@)B+=rhq{7lNzxQZ2V?IYH`U5?XHWgHAM`~f z4UNe)sjNt`SgWb~`1!<&_2U4n2p6x%V85E6I~Vt2V>gu#Yf7NJCn)pn9o@#bc} zdFV*eG56EM^V=36vbIa~RwRAc0K^|;F*^dEAk@e1bpHj{91Q=3uF|L6L<3U-s?`7D zTKpfjdc@8to|b(*N~6`JAHhglBDkY>?8{)OPCSAfO7;3^ZXOsl*;p!RFMvwZ=`;WN zCIs~~0(Sm9ka4bCu+<(TSuYPpMf2-(ywJZ7VzBZyD8(-dcZCMeSm*ZCn`7Fc2$k)+ zLECbYZ)4l`m@j#L^COSdtP7w^=eoVmc8ec6~Vl$L9}(O;=dVGfpnA)LV6OM2%_faH`1XoT~B}Y$}p)0#yWbh zShA5#+m^6YJl>mR8X<=y_pgJDF>brK!Qf}Zt*CIS>;bOPA<77q4uFWg#Q-a2^Cu%f z2rC-lC3`xXMz*XZuLN|*5=X(iJ&Nh;OtiG?nja~)VjKZ{NXn?FSZt$86!P>sZ5qUK zEl5!10;-b_ivw!vx`1^Qys{ji=T33?$duJYR6P@n#Q-J$d^t;3)Inzq9B~uJhp}{TM4}j&g`LwS z4`N@;OpJSNIelJjlpf|-S>d%Q7S56yv^}fiF3R8Zvq8A@5b2>puU)Y{V<8OF9qs_# zHp5&+pzz9!^8$$9*GP52@HGallHFSGe4>AyPEa1-TF@qFIB5hH%xzFp8qmLByq~>B zC+LLs)?9&&ByOB9?2#UEoc1&m8HjM&u}71X7w56m6FCC>wAgtj{bsiK#Y zlUNfhJq{Od6j@3cTrPyXu#$R2{p4Pgn$k0DO0KsR{YIC%4+2uQFj-vwab%I;x#Kn*#s6|qM}6Cd$ACFT(~cr zK`dE|4gVo~xf__Ca@>Tvrg@_D(%K=S_2(zhvmEdhV-wJ01}1hli77{P^f&8!yxS-` zX)u5fUnj{vjwp!}KWS}uwwdmD(bo(&botVn!B1pmFXfV zNRh@FvF57R>l5O#%E3?T26JT*^R?Mak` z$SzJ2oc7{L<~I?0{^rX1dKb($$zU%`&$<=4!*~M4#Rc+@=b<01Hn}_a?8@wHS04GH zpx#*7VOq++BFJFbaid=AFlpnS=01o%UOe_sMFAMKEv0|AX8c-WUNbqd@YssZr2 zg0?p#h}70;g{Bc6Fzag$9|1NR@If=V8qwt3ose|8C)y%)RcKuA>99N_i~jWf2jJF+ECbf?#){JUC521twQ6R4wI`uUjl#|F(G z3cbR;Yrl5roxh)!Dn5;9l~3;WLn|jO54ajhk5b6E=MFM=@`o>4plS8Y6h-6abGOd; ziTqBJ;ChED6f8*!`IG>sK1_C3h1hr%Hs3_FenOaI_Su|ZagbV-0POi5)mM5i7ihhO z=iF;QG4I;Yk6>4ar{rnf;-T=@6JCr(-N#@Y&?ws5)3=&%tn*mtv{w}vjqD_Afn$-$M?#eqj|ArR>3c2IBS zHejZ%5^lv%(CPmRbzo*=|F*D%pU@bc{ZN>6w9oG zNNrPJ$)EA{Hd>!REzp>UzFJJddrcJ`}G{~=S4-{D~Z3y zNMxs)5vCb8d(Gg3T>mFv%MX>7-A$&9Ce~3f$Yu}uDx&7t$RUw}#th9g{wydO0?k;2 zn#4!5>GHsx)oassJ)TE)oHDxN5D~|@PKB)_`J#4}`19Dg0mczRrf(8-tSGm~4w|>A)bBn$_9BZN8aWp2K#xK>g0k_e$ zP{vwWSX+f_OoHq|q9IP4IO-Ac6#jE=@~3ff|HR0$V#uu9xejApBzq;U0fK$(J&%xD zu0T>I{NN?;>2^C-f~^KxWp2-H!wkJXGr<;JM#G1?Bx{QT>IjOu=88%joExn*tl<;m zE@;DIdAxS+FTnAj2&yX84Z#vFHd4-(5detHoF(C(^9QE?yAFW@%EA7h%6_RPWjoK0 z*mbOSVefrY+i-mdl`pQ1$h;T-w9|YgB!eZcg!rAUaZTE^DPt}#fNw8Rne{lqw#`km z0*-QVDSYt)V9DxWmyZXBQq^STF~wjOr$}P~LFHuSF=XPc>e!nc?WnRSLUpC9(6pRH zSe~5JXyA+}NzYMka_Z=`0#Lrado*=a#MZ={xo7KW>ozamK5RySM)4#x$hxEwgVHx# zUCtkV*w`nqD9_zr=Zq#E(+sFJcXg!6c1g$Lf(wyWfuEx`tO?!(XVH>281_zyzeGdZ z_14*LE`mG4`^P@8n}#GHfJ+wM`x4Msz?vmtaA?yqV&-t#9JyXv144=;1tD&xViZnx zp81hL#D&Ob0$ebICkoSe%|DF8B&!?i6nZRV67egL2rx2GDLO+)CCcl2p23>HOud&Z zwFdZax_sGk~Ir3e}T4$mB!{1Jg zSx@+tRl)>ToA8VNu>T^46E)TCQ4wxn{&+06UQ%O2SN55@$#~N8P-iZwIJE9H6zKAh z=Oq?lJ*$g;w?1mko}crttCrh~%>ADqbY zjE=s}jgF4MsCJ3xlokUX|kfGPMztnQIMk$@K^ zy($DiL*2)eiP<}xCZLs{B&1TO1ik&aS751O)j?iXF-HG%u_|c@o5>1!eUk(9B~BPw z{Lmv3*{*=yy(4c+O_7F02*<4%&Tqk$82QewUa{X=&`CahZ4;i1Ed{L z-MT%Qv1lTt(^64k@^!DG|1sI^s2oH4w(G?oFe||5lha;0gm=XU+E&_BBU`o&x5h~GMQKx!vMOl{Kv%vH zM=B1jeO`p^CmueKKO{RnkyhVG43o?5`=ytQD;>N2f_e3*mrxJ+StX$+17%O_YdUqj zyM;(RovTPXGy(EE#bjaP=(C7cm=JuhDM2fBQ9jsmPmhhNYO6ZEUy%mfD+-67vkWVmbX1+ zZ^j+KbOr9ZfW`G7$mux>v%vpZxf;KJGrp2wPe$=3#;i^$;{@+UN5B6^K8_Q?_RgI8 zBrKNaHwGslTcNt6>;5!FDp{QL7LI)ss8osbv?QVLdQrNF;?@xve6dMZ%;l!rf2I7LRux3NhRw3N2o4JpL<$ZR5!Aq?5# zHsDJK$W+zI8^c&^IZF!cp;24Y$4(KVV1_6R{mCm4AhhYH{%Q{6vPGYw;tVICEQMEq zCUIdE{elqw-ZD{dT)#6|zkq!W)Ny_V<1d6IA@%A;n@V|t@C`M{O$0*~Pp2-32Tqp& z9qN&kTcTT-sV$%_=)Gi}cod4b9^j$*hIWGUZEJkcTbB_B{Ib||*W1Cmg!+hv1cp}< zWQIPzR~EF`1FG+L({hE?rE^9~jlZ!Rz7f_+*L{MY7g|C689`GqQy?CL;7y3HFcg=i zofH8-x1|CD?k={zSd)L8%N~=zB!rW^V^!T5{q_pbJ(q%=svXE>q-J>0Votjz;pAW+ z8$BqZT)%L7L1k)mFbNbRlCdXWs~j{)p<#XP+W5o~*swH@=M&Y|&Ak-z^OoKRbdpE( zKawT%D}8NnsB=f}*dU_r5TJy}ecSwgUYi*b~95iCjqxa49*^W z00$C7euJM4;oh5V;d;!g@c8~a3M2ZqnzU}A>$HH+ zl3Xkb`vr0qVI~oVe*HZd!~#7pU{IEPcbyY{MWgg3pAXIbq^eiaC%u!3nM^EIFh0$S zx5gC=`=?>z1@>#(+KaG0R=h4@H;mP_y*-%ie4n8F;3OhC8^i7|1b8e~W~TtcqQ*Ay zGVzv{lRdjv4SvQk>J9%GHWH99Ny!)(VkG_I#9WTv4P}%*mZTLv2hy^7fLAEP)QWK= z&Sy`z80vc}bg1`5Fn{2#aWBXs<6LVKoA7#DkGDJmJ?n=jhvu&%!EMVW%sxgT zl9QAf{E*2;w3BUQ6qk^}NHMGDSE7a@^2!7f4`)+pOQSJ$PDX8b<8Y^3Hk`8aW|3`0 zY8`6^Xk5zqw0%~t9jWf=|IMllZb-%nN2U+VSkQ9Q;7l_?7pFA#Z0Wb-7rn#9eEhq= zI8aD~CvsCa<+D8cV6J*lvFr;^GfDBa8o)NVUO7esGBxDeVsjh2V2l#E3zT^XsIf&K zKG~_`^q^kHy}o8lOA%qvqLZzMII0&kr!I5=zyvi(d`^ucytDWoi}25i$0 znQ5y0>}&8Li*z-P)4-p~c#jx!)|DrC^t61n)No$#+*?vX29@??E}>aJHqSJt61-CT zlPQaSTs@^mg_ljK)f&_@t&!v%8Xv$40E)taV#gP!6!t=}lN?RZav9iqi51?ttLfPe zo&5&kvXd*(vo=oMy`4LYRw&^y@0@q-U23vzht!iVNo%tHK?oI@MJ-nz8J}nqEqP_+b-nn$6}pX_h2S%caX-!XX(!- zjbb?Av%-v^OM2TG@;ZJ0 zhiaF0yScqXJtzv}7`)Lo&wyD9k{>IIdFllsjCXeA7m$EhCQ+VM8E{$kaO$P#tJ|0(XzV#}-KAf;#OU&^CM$8Nq*KBL1D_8H z5Z@BLh82=4I7N|raOHkIKbqOO5P;PWP!`XeFo8^ksX|bcLGL3+nV4ll^+EqK0Fp?s zYU`r7b!t+VyOU@ei`ZQ}*<20M@_+;gB0&hX)38S z6*Y*S8r@<*k@_Pt>%FjZAgqt2@8YV+A|(u{JBuM-$1&?vg`_qR|7M*-_Q=%*P2D%* z)I~c*>(Y>&@5nS7&jTf|n6Al78Z855-q?p++97P$`3a2ok^F*Fht#FzDM13L;+3DY zy??hA1l~u|YwSaIU{eSCSyPM36Rn>Q0_uVwje~MQKMs<{HuU$z?39Cq&m=L;H5tRar&nfUlDqXBv^@l?1v7!4= zE$QVnrDru_iG4g631&`-g>o{#)z`*LNk)HwZB$&ObaPPODsq1tG7FfLltKZYkp{k!-a_3rd&n0vU zTWxr3e=a^NIWBK;i(7R=%Y*cpj{nhQbYsHu!t>22fI@^4Erl4U#OKFMr-j(33OBKt z1NUub|MgIy^T$r4KV1@F70nCJ%PdFEqsA&PioE!wm&emrjaEz>!!e8hq-BzN&yP3A zc&V%?M|sUt^l)MecX8GGeivbRd9D`9NHZqJ{jIGC&vgZo1xo8RY-8NwSc^NXO+we7 zasz2lc3)iNMSW=Q9MO9^{m7kRLXurHZ^e+NhK|{hdaxbrte2$<&%k77d+Xt&^iYy~ z`dBzYdAhENyo_rnLC)gM=2P-I#&_zrYEjs!zKC9S1u9>fV5Yzo=!n#@oPB{&gHSk` zfDcj>I$IyyOrw?S5uxq-1?){)S@j>J{m*s8$owzTCjWXV8T5ZcVbo5@uB;T!!{}X}T}pbib5D#C?H-H=zQ32O9vsPP z#@7x&37POgi;o%@hRrgdC?;q~9zA3`@_zEZhj-=gbCpbz6N&&)&u;w+d|u?)UdQ+E zz}?LTSWex7z@d^SlP?Y{tuZ%~8y$ce46>dcTE4w}SR7<R!xG6mISQafGsqIlIAy=>V-EL&1Q`T7=# z_Hm1}u@espxA?c|O7!0n~seL|6qde+yTUBD&5%D1ku3JD#BNehTU=7bU-e(bj zRh;cBG6OR{j);ASflP#Rl`O5~d>*&c?K}eK#n1++m4jjy34obx|CSr~HgsQ{3v{c# zY9Ob8oPx+ohyvfQi&5x#Ai6$DY&2ECxpC6s_#H)6Ohs{)a0bmiR*96vdV78b;dj&M zTAlOi7Ce0h(!1FUZ%nU4Tt!WMbFUb=2xT=b-l%< z5BGr%*xuoEt0W?J&VbH^ZV}Y5fLjYC_w%8f#8?Tu?rVR|m`ofl`L~OcigAQ$$JC}@ zipcg|Y_`c=txt)U5`Eq@oqT}jG0QQ$VDl>Z<@N6&S~dP|r3 z)OrAf_ct3*ukXar%AX>WV5u04=S<#dQUEaWcx_5=7zhdm8}omed1I#kk1jNsEMwdE zj}rJ1j;&=rYIR&d(IT@(db#oI!gpvmRzB_r_RF)B)Cy2ie)H-8NfP$6{l`)rj8(61 zCtMF-PDAg01#xotLahF3W?mv8Lo#L-RD8Oz5^K2pAl_>G{Q_Bbf!RrwlL-lQ(dI2j zzIc-F+NNs^$b^+=Qs+!+N|g_vB)f27iT6O~+c%pL4q($hi;wXZC|i&7l?2L6*L+ zZg9ANaP6s0&7y(WKsH)!76@10Sm)vM-iXeWJv6PCJ}pNwF3ZwT;s7W}rB_)ND4L7o zNf?aUk;FWyNt_H^zr|rPJUSEQ1>33ou<{K$$4k8aP@CkeA94ah+ZxBTx=AbCWnvYL zsS0Jdoai>&zk^7f%ye=+a(XxX;GbQCr?&T8I)CY2cY`X%|BAI)y^r8RY(Dt3Q^c^F z3-V8*_7?v9C}RAJClp~O8-DeDM^VqChj_RyU@Iao>%a90^(XWHYtk??{Lhi8PRj+* zqjp`_oFE~uKQ=WsMlj3{q`BSpS$oj?H;iJy&?9_3CP$s(Zz4c2WSgx$cXd5Ko~x0k z6NTf7Hhyi16x=dH#gb|=hUL40WhTf|5{rmqpp%EsPQZxs3*v!7ogJ=vVD2wa%bYnL zRVjUwcwozMtb^u31rTbVS_3$%ga&j*CNkKOt*Mpge}Um^hQc78^g!Ls(Q5Wqg;#H; zfnGZ(g_MdOF%>*6^wb<>*Re?5pnVkZ#OEp5Pw8zoINqq5>Y-j$Opl*-$QY|9j9Yt&+x8a(K8UB&3#}G+80p2UGEJRy$5mtN2!smWS?;6&JCgIvCqv>yMUDT|q z($BvvK|P4>H$}!EEh92i`D)HL30NO%FR(s|I8eLLTvYD6*#lfj8>P~JG2B?$|DO$T zcGmw3uVr9m{7*31q`FiD_TM$4=b9OYwo;X%cuD`k9motYWcp?ViDaG^1~8NclqE~M zFYm6i)lsKurTKI4oWiRwWl9zANBLuF+SbhS0`=chy>*PD4#>!&E)+i_SB*)~M=40q z6O{1la)F3vlTbMo)GQprw3Bue9hyR!+Wchf286*C2auQm%?pt_m`O;!fQ7DET!>jv-L%)lbf~of6-pFudW4R)*swu)^pd#AkuRuc@LzqfREMw4O<%yF$e}J zZ-os#jy5(3fHE`#64lcr!C(Mypcyh68Z?t%VUHM{PEFi^Q>8O7U?^(?!pf4bWjPBh z(CbSr^)9#j0bj%_=mM;K(*#5z@jJ*>X-C#C4s1A$fMmCc@uLh{%t+5#C{^f3WPqc@ zAgzg5*%1OZ;$I0F3gwUxmkk2uSZ#Y5h@3~RAxsXccI6RaRJB>3Z(#lB~=E_bA($Q zLZLMsyTfmhGpNncpmt0GS?@a&zzKs$o?4qVw!cEn<3{uH_m%CxjhS=d=0cuLRm~ zsOE}B&AZE8<+Uj=K(o{r=p5wf;n)yZT0szaYXY^qDE>@@u+Z_N z?dx%Wa{KqUmHWHCJ(rcl^5^s?-RC_O3QDyMVD#DbD%|15NOWpdiqeGGHhK8fdjhSs zb7=%&lSE_$at{e&mT8~95ogqLgO8I4$q7C<|eT!C%wEL0(Z&n(``m z{Y$U3aU>ASzu_^NYLb6zHcQ!m%2TIo@!>-yjJyH6tIc5rFC?0M(igU|OdzjI0ySUi zZqaUc>-egQtI*N@{x-RNwBfS1I;P*81n93N_t(R7#Z(oT+Sx@KtH)M}jUH5SVnY&{ zRK|#Fb1QMsxU1AGhO8VBRS^H$x5Z{%9w50$Z=GPZ=jk6HvVy&k!9ELX`FTtJ@=ZSz z`A`_OqkjOI=9aNN^ilieAFu1CD@~uOv}c1o>5_WIURl@%Pt`W5Pm_$bYIwCu3AoIz zn&Q!d+g@J1n_4Z;bZ%DQQ{88~Y`=oxQF;<#+k_|}H|JQgKDZRroqslRf@=>fcZ4=Z zZ&B=5KMhli(n|x`-Mk>=#sH| z%2=Db;4#BMj@|~3eetZJQ6C%!by&0)i6XgC!B`f}&;nGcjMt1PgjA;Q;Cnt5K}j%* zgSpd^?*%<{XmbPA^tjkf)F%9$F*K>Mb88zic~5GN)h_ZWg`(LH)AW=S!UilrZCAXT z9r`}3A7S8w)eycgp$$Hz_WXu%efJSIWZCLM0k@%RlW8I?I2fg#Q!Q zGnvez)c=K<37-I>9{cI)v{dQhw*YGq%Iz&M*T77$i>C)+7}nm=`{A6C;|q^WCdduT0)$p1v#Z zV1UATEnxgD8!pjAjxBd%gS!twiuM!9&2+^PcfbAT0ESeNb?N{^(-Yi6vw%&W={`Ka z9m7b{d{BGsia_g6$90nDsuU+CL4tuejpp>3jvK;$1t z(rUD}QuO1XQIi$^qMkE=%%)Zd_Lr^=PTxCimkOV`{&PT&ie@&l#&g+)15cxlM%55W zzkW5rpKiP-0mLtXl}PWCWs@%1PuxwuuUu-%v2xakV0Zm?%SedOpN* zt^=C2!pkn+*f1hZ;2%YViSLM8P9D;t-TZa0>Hqe&EdSHnvap={z>MyW_hq@yoy>!~Fib{RPx27MP4!h_*+(qU2e%y#g)sgE-R* z^Y-oi-pI+h0M&j1Q-9`>&T)p}Sr<}=i#ET#8 z-o>+eIR5C+{OEE8;1`9aUZ#Alw5D1wzjeMAslv@{1O1OcZG;r4p3J2XL|z>JmADW$ zL8kKw)zs=BlJ8{0aLKvh1N*AdTvz*SuO5bqGl>=1y?kHVhDPkH8k51lkFjQuq6vbv zWWwYGJ0QF9fDh24?>S^56MzB>GlDi*dI2@E7Wgs>vHL;50tyK*#MS2LL(G&-O6E_V zgE9K@9Up%E>|=m4_ytt_YxUj!<_<&d1L+Lzc7V@o6NfcxH=EqH$W}cih}R@xXvNieg1C7@HdbKGf)2)#Zv zY_hfvpM`Vz4*;5FY_MUvo7Z#%p#6G5C2zgyJ=Q|`Y^9-G67-_gj-gq&KQ&9}h0p=w za&&O#{CO;$K`yamZ9Xa7=ec!4ZcAiL!Wj?Qd!8$g8f1*22cC!QmD;yQAH~N#9s%5C zXL$o%L&@4Q_o(#xB!irM2vyE_F`ZKRg7ITo+|gDGRDk9o7PzYu55_kpkicUw*6Ck) z;Eo%ys|Kht9BKQ+j6K19@!dtI{^b3UGcWgkUU=T?y>^zcR;ESvA@uBV1oMm=!?l@y zN_72Zjo8C0vvc1UpdqI47VB(lpx*o3qo%8$$eume?|k}$NK}7LnWP+V($)M*Fprym zA<|^ZTmw!$t*n-KpATQ(UP(NgV~^JbJ6mTuf_{}IQmV7*zbb7x>DRQESX^ohi0I56?ms%Nfx7NIuyfd7jMT5 zA8|Okuu-yo&m(orq{6YNw!{WaHmEs8-Q>R`q=7ah;r#T_7H|W0DV591cm%Hwk~agrTJGd3qI+2gR}I zA9xLY+|L_4?M46@lr83t?j_q1l+J?Bj>#j2Q&*3Q3>|Ny>&_~GN29Nb*#?dL*wPGK z!Un3B8gjA-^Bj%#MFiYyL!~VuJgyr`#4J*0Jn@t#JIYpZsu+JkM9a=f6=SF(;(ctE zpU~IEUxSu^u}yR@(Q>uRNp)$Ez5U_R-{Z`Jp7z)zk4FswpL|RX`p6v1lC|e z=k^rGZ$=|8t?dF5YtqPJAWPQ_D9^?8wV({T9q+yUK|!uZqaO*iG>j!a7h~%>rhC$?O;x% ziV)d9%p`=(<3FD})+*cMW8o5PzZFbuK~>}{-1hBkf?hbZGEL{Mr*A{ zsrK5V;!UKRDYnNA!aF-lu68?L(?q-RniH)Ndu$7L)mwkoayh&%1y&jt)P+Oa+*IBJ zT=h%lbH%U-GeKPH5&w>bC#YbRAhY%0gDS{s{l>F}rR5bXfshjg2p+Q6eM@t(a)v_i zqZBhS^sATTc}ziShwC3GV#5uXUJam343~`UJ|52+9~{{aWIM-Q5s~BYGlblnFat^2 zN)aTOS@SP4;jYhxQf!!>uW&&!30rDnXp{Iddi_xWikm+kykJ|g2qXIUa%cT7;sFcO ze}vA<6q$dr_=2xL(RfKIvzvInItc5;Gaacs$u|}K|Bw*=4$F~K^rR}WuNPo8M!>!! z@Z`RK$*QAaswax{(yqPn)}_9>Qb2^1g^>xb2_*8LO*S*;&m|lr(lE|RGr*R+K63WB z3)xfJ_jiDo9W<%DG|zO%@5OA~qEKfB6970~%1oQsTfrzg2og0o5>tXf8NS~N-xw0{ zRSan|cOJ{mo=Y1Lf*vnGE6MaLr=*_n=U*AXTP~t7O8*+qBe)DWR7ZC6N#B_R1oOB< z&Rgq3zk@t0;-eqAJ}ZhMvjzl#ocDQ=kng0j!J~~wA6{ui6LQV{(X<`wr;YPxZ3Tck z`Mj`L@?-4y4;O_)Lo%l-RP$r<`ZI*mBkK6Nq(W`S#XvAoVw2MnA{isry=mZfgdQq2 z(Xk!IvGQmn-CJ#caW7vxg#RS!Uwl$qYz(^?)<4hiG8*Js*+${6xG=vANp$Y?xnWqR zx8AV$)53-^Z?{~Z%n2<+@%#IE4K&-TT)CMq+^ixrl%UD4cwTt z6u6=JPp2dC6pL86+kT~tXV9i-5gU0lag(xph>;qeCg}gfdAy-W(sW@fZbw~-E_vOa z=`?RWT!3@t8WuGXbzK#YbAwlMVfQJT9E_w1=i8Su<3!1R)9TPj;0n9)TE@8e&5VOV z0=j)&C(rjHXEV5W(XV!Tch zUU7hn+;&0+mVr|w6JGrX7WUHvvKfJBPKwn{lt|16aqEp$0M@IV45Yb>_0$P~)xy@a&)X`t^UD=CE2+hi4>>X z3-yo!CG$sdp4JNrkT7F!z%}n~XI^;+q;CuHTu#zOQux_nuekUc4=iG!Zaf7Y6J#u=hmU|@u^w@MimsZwnc zL-_GZ1pR)kyo<@`vpq)mH;;G%}d{QzCx2ckGg%+M4LV4Tz4C^ZY&KD2;!ixa9$!*q8FKl%BnAtr+1^^Z?4%Yeq zNp}ffVh|W?|Lq+CddB}Oi(hK~hgKh}y_lJtMe(Z5HDwhu@i5JU9>zk%&ymIgGbZHd z>PM(ELKrS$tc{Kuc4+eOTvq3(#U2n4jHXcSRpW)IEwc#{L%=dh2R}m}Vxyjc6@d&H zGiDMOCTg+ys!UyO;$fb`C}0H_cJHAS zxsjyUv7EGSQJ}yeGXEc2=NMdR+qCO=VtZmuY}(A=$tFJ!$IOE+_@To1Pl$w4($M_ns1tX!r4L-n&_(8{QO#K2!Un4}< z7n--jk0`Z|RS09PW&^0kmQSQqF1j`tBv?!jNLcZj~CXP!UET+z}8pM<7dBWPKRgK$GPr*HGrsw}1%q6zoeb>f}!p|-t-$Sm$=i|RjZ z`(w|3_8_$ByY#kwhEvWO)nAGSJ?#lB=0s=KKBW(v+Tl2oj?LN5#Z1d+r3^aAyQ2pi z+;q_euL>y9CY>qIjQjJL{YDrk)hzefXR>{+uWoX38mL6`d$?Q|@X%8zC_Z zDDqM@jk|7mHEKgUKymfY;h`&W3EFE?kKJDK<^s%bS@M7!3Mjvuq>wDEn+v22ug0r? zVloF#*oWS!7U=gVi+E=T(V3hU()DzA7EI51623XVOwZlzw=P^VNwtSnDj)ikKlzoAWG>4FbCQSEN z@PS!jc*6XruV7>QSJ}k&uV~{h?bsHD;UA^-%L!!FZDdZs06172I{_h)y_sjOM5$oL z4{OS|`?O8xKAYR4Mfu**FrF{&Z8ikYrdDJPSP#x9+u+WWYdC1dgV~5(HsGPsoq`)$ za%NfB;XP@=Z-W;kTzrb7I%s-`Q9oqkRUl?dnP-whdu5B=jq!8kgdE}e91&OZlT-4?|+ zm0A~pRr7Di@4Jjqxd4n(oZQq+<@BGmznn`^<~If1ewl2_`7 z%0`ZM8nm{*jDsT=a|x!+)FUHtErGhyc+4qRx@@bX67@- zA(zyud{D~$5w(+Hy;F`Zfca+>-vw?(|Q< zzy6cVuXD#2o3P&Qm6v=d^b-fXOje9Vu|V1tL$`ZwM}$YZrAWyPLPJ3qcua}$u1Mi} zv-Y{*2W&3*O#vV#m3DjK<3&i!fcZR2+l=8zgjWd5nz?T0kvA^2!8s<&Li$6 zCbCqgLj_quA41@s=oKP|k=F1y5Yv2bNh>4?!XfBz{bvAl^){Z?jI25{MVnnZ^Uz4{ z5sA5$U|z|7X|qQ!S&X{ykC%2*JqxJ$*E=8O%Aft#o0#Yo?VDMC@FT4GD%HboJzJ?& zjmJFR%SxdM+^2t9b&bJ!8s`nff?BNVxr=ednsmda!S6dMQy){l_r0D!f?+?J4#zH- zSt#F@(5oSuboYGI!T%E(?EfQYV*B?<+4R?w;U5n8-=^CPL2c3U@dVCHBJSXqj*{MAG4welDJ0J!2{V=(#$lHENg#-QH?DxPGxfXj=Ru8So0iB^&8qG zp}0flE}a?@<|&V?p4rEl%2gPAvrabp2IxO`NY~YFd%I(7)eVwp+f3}K}n$EA z+}L7b6eCU!lpOfh{zHotO^8Dbb7y@w_$(kCK~;FD1@63Z$4n=|g22&bsO36PRwj>W zb?~d)Nxz7~H}c-u9vanWc!QjRpS-|A18cds7neh7RP2a$_U8im2GSTnEp%jhJcM^( z<}6i6__Av@&z5!FKso!>TZK(vmFqC$*yol?=%Qb4HE(@u`;x5otK&P(woa-_ z`svlC`@H0hC5Pq)lp;ZyQu?k@I*8^c?)TApR?9>mlhIyV!u@Cp4Ug5IOynW-T)dxl z)WJ0sPo%QWsB19ZUc{+@CzygiY<|pNQGt4b9Cu_&PNsPVPh{R`{^3&HK!gFKrTl+b zp|GUKP!3Ar+)lV6_|)w96{x7=AT6T)h}$t2NRL8~?XX9_yq%sMwHTl8SNf<3|anJg2_#JkKC*DMKuQuS*}gKPkb8cW|9f)X69x%!xD;MIZSM^M?6{~6u!3lAu$ zhsnzoY~NzoJ-v9JW#2#qfI>rTc1DJw%LRN|njJb5A5B6yym6eZ;nJ#m>xnWRPYHR# zEj~A7BCtB2xbPwcA#7iKU5)nv+}io$6@;#&P?ZN&8L?&2jUr6r=0-RAsWdsBvO=Qx z#%YnyDlm+<*RoHS&~$P4pYX$E|8HnJ`oF85|Lg=@s*T5Ev!QO@qiL`z+o)fMq?C=d zTGUHMs-}V$uPc#!rUId)eDkVSnZ)w*KkulP*8>N4wH=@EA_&cZ5}jNIK3sQCkkwoV z@}p}GqNaNbCOTFo2}oK@vKWnvJf8 zo%qA03>MM~4knA#upiST`4e)=3-NeeBIXj{&wN@yDVvZi1p3LujEV({j0gUcs-W~n zKtUoTNKfK{&0;FzQLIbpvyQN^X5f`d9uMW%z9CtgmY>j*3roL4f{3aDWkuSsNTgg> zzXnBk_Ae~)c{ipd!BF&bSCfK=DwJeTuX$^Dwi$3VLYVV6Tvk-1O9JkCtk>(c{=0ju&9|n*0*IZ+OBnjrayj{LzkZ^ zN;;I*utDLN-VxQ!|3b;#jk8nAGN1w+0vKri7>}-G8Wi%AklAehFu9w!JEc_Xfqbr0 z1TNZzIpCMfTE$mw(LvNl6Mlh!H^T8#x@FvfI8EFX^dLDWn5C3`xZgS&aRpwVuAp7N zv58zoFqGV&HevMa)@DPX_h<34T54xX;7)J0!<_d?e7Eil2>S#pxgVBUkGco!nKyCq zwRnoTc7nt074U;XC%$ZAwkf1C{v6CL|0L2t`()QsyDhM%hn^C)8@qvoH=>Y%Q;6N1 zu;+N(#n)yZ_PiR6F2YeN7}gSlZ;SrGTb4K<{Y)~50!kWu8}qn;hJvoRk}CINnM})D z?NGDDuPCZ$rz2+GYb(plRbvAj67fCq6saF)T9q-i0&Ruu~pc>En4`^Sl$yg-tzC*oTZl$56U14##eR&idRa)V5Z64ftS!Beqy-V?>;8JHvvV0{Zy$5>@@AUQ=~Rk$zY)b|{TK*T z)Qd8Npb-zUV%IPDc+5o{I*K^-vSaEXgByo+tI(Q>h3qpg7APni0Q3wqJs2NcrfG!mBML>aafH;-QlCG z^IDMUKYDZo37sLJ~PCNppZbs;iZJr2W$^|)&Ydc+iOZ%G= zyUi#5!S8D1tot*a{;XThtxm7$8aV!!OhbSFRu-we(oOt?Lu}V%&BZ1Cdps0KB2#Z+ z%1(y~Ihs6MB*yAVa08ULSZu&u^rw;pZJ+Rb@Ydui{;F*l)}J~O0BS2lIBu6xJYFE| zD&@_G|0%Tm5YD6uB5_9^!%6IcXHh$YF`V6D!YTBnpQBL_vF4THsEIReMSJSPwW|6e zZt~tThLa*)zdR*a7^_F<&R2a`PW74npX}uGyO5G2cjLF?E*kujdj|sRFJ}VnEwCAp z&qXe1JPui7YUQdYb)kVd(7hTVF&qe#cF>WCY@@lzHRo8XMkY zC#Y2uKg!M-q|Kk~DA3Xz{0NBS0`f2HF%M0Q`!fb-6|6H&K)A-K52$y+w^Bzr&WZ(O zi~Of(?}asn^&!Q2ktT`t3B2=fGF|ueWGKV5t`Bdn9Pb@LrJs@LD8=GM?6A>aTq zoXES7_eE=tP7aOrX;+GPMJA19UMb`GHxiP3i=CJeHmWYJ;4;5Ph4t4Ac0)5kCCce8 zZ`Y0(+vU?cfO?4a@iWwNo_ZY*uxvYAZ5PeiI=_`&A%kX=bzcy9TPB;3=Wr>q-pQAR zyBuzxFybN>U&I(eNu#CLBO+pNU-nyLt#Aw~is zmAVT`*re{E!X#BhN}L7r&~cOf_k%mOHGsG=9#g;{>PK;$_$4+KVFTkB9#-1=B$vUx z9Gts#o^eS`oWEDhl~C0x69v==0y6HpWtLuF8+C7?!%ofB=j8dO|J8DZiR*?Gz+Z1d zlmZuUK4sBTHP_Wu@-%MK!Y7UZW6(~3ChRMS@YRb6^A?jg^>B+yD!!Ssw0i)Q0vN;x zomHnZH^RNIF7vY-YHzMQD_P7$uP{+K9!z`c)SNN?D!c#q*&=a`FDF2RZSn78~0uQNifuAGxNqQd$aCC89?WNZg{K|sA>6~zC5bsr}ueEULQ{&dJUd{ad{Ca z_(75wHcqcNM{SsAhUk%<Ad#A8qC@7IT)GQjg zpoF&gK+_-S+4XA`E;2X7ZM>J~=g?e5y$iV9{4CPX9(=!x-|I!rxAAv;^QB{|xrD^(vQ@T`$=1H#vPB2t(Bq7sj_w^dOo*!%~iHv8R zfQI>Ymp4@-JtJYH7Tn6wB;+sS$D+5Jdy5-q=GInJejI0PW-J~=S}>M1y0G6XWtyGA(hgJ5C;lCcSX?=h68$tA1DDVg1&7F$Q4AP_5)inhKkTS;tE6da z(Hie-2nxk6kbuRKA7YRDT|JqHqCS4IWe5_%)SkLRmBvKl1ww8r&s4HZY041Z0tHi! zT`FHpxL6Z2*Mo&N^ibT}kc*Xm5(@yIFOl4ere5>!^(zKr4o0mryF08NUP9M>hz;rtjSi_2B3nFRkU#69IPuLlYD5gy`j@TwQN7H zk9u$>1WGD*b1R>XbIVMwKnX7>NI*`^WG4iIGQl58-T38)zGX5Q{T;8Ls6H=U)A)>y zo5$vlU$u3r>rcHxU3ZipU!nkp^NW5N)$7f09daeaQ|CX`5HRYmerl*jsMXwW`&~h? zcc@#p};&HMsN z7LUyGH~*sov;F@fX*Q1kWf?Lsv;Diu-lQ&LyYbh(`LD0%iVnF0FFT1I*vO9!bThx) z(Y&hNfCTFBT)!4O9D>hhZ{p$0u?pwbdPnuRxqUPC>&e)KBMU-s6zKfc#@IjL^EjcT z2f-D}S}gPo)iicxZt!l!{1WsNGsn4M5DD17J8JU8htRBPd-SDc{OF70_cR1q01p&F z$+N$ps(RoCxs?2gp~VHoh|IT zfF@vb;K&C0jV{P;3+->l-H2g^%@1gwdDnc8KVuwN-2tq;IRUrKhz?6!y00gOhv@v65 zJ;93*xPO2c*eLd7du4B*dq5d1u28X$=6kc!*Y)7~Gse;G7Qj0DbeX--Q`=2)z@^Di zeIW`@-weT&pc?dA^CNGd{mU-uAI02w7ZL*~y;z4)2d4RxRHSFHFPLTW$lytPJNRoz ziLF2sl3}Mv_mPY@MuQ>100i>Nz#{#lqx4;nrVz-AFD#MWpI<*3$L*n=ip_*~@8&}g zj{6gSp}aVGy5q{q_PK?Rc!U<~mk@{*ZMf_JWq!{6kr24<8F;y~cz;?v;>--XJ&c&A z@7nU}g8xDVRzWrRgaA`vbIR2J0xzy7poC#g+;tRHS0(^yh|SI;r*?t3F*KTc(Q z_EY#a5NbLHDL@~L2XOW#It)nOxV=Wek3pOr%M70*75%W+dScR4HEqU=TWw1OL>XvG z_K46EHz@s5i(S>KLXhSV;gZ(;rR3=1YTn;=KsAyAj}CSiVo&aggRU{Izv}}JL$@ez zrc;JMT_n66=`7-b-WL$JH5xVyWwVK3qmHY^MbzpdjHCr(2>6A%=+Rr6%Atv$su>Q) zl}}5bCaR7)0K(1|5pStFn90PGFxDH+A+?;9S}))VN#!L*8e^~R0#K4DMW^riafMIDwrm_p@y=+bu)RNbBj$J`{we9Z7ScYPCZ%$rE^fFL7SVaU&%t2y^&%4Tn(TkH6{k%feU6dD3_rq ziu*<3(Qx(!ytNi*tkgxK)4sg5fOw5^VktcpwI$i{3G9j^UV7s;+kU_c7`rZ}$*(hY zT=vvAK&{b(o0wnvQ#1(6BQChb8_{%0N{VJGXGRxeJKa~@>k;Q-R6DKoi@w+6>Ez?W z_v`1OZvTsw=cA1yODAPc3|}-~)bzAh_UT5JXN3CUo@e+GAa7tGk|ovP37{YQBm>r3 zqV%F0bQ^McZVlwQt*zVfS_^#Ui7->(5l2-B0P3^p9D#dBu6lOw-R^-IQat?z+Vmh~ zG5Ge%!Kgn62fG3wKd1zAt*lQclP-~Y>#0OkHS*G@4W?WEQp=F*M9K8lUak9}gXPm1 z`F{rPMz#hP(CiHV1zN@NcYp2Q2bwNn42A$OsW$Gg&iOCS1l>Raai^f&vm_?1dTnT4 zW-aLaq&T}Si&b`Qo31p(vZ>LkT;j-vT5|>%7?GR39(h?XY?;aV;O*M$=^_aj$*5Lu z@PjY!@88|Oc5Dn$e4=K+n1Qa70zGHhSslv|8g686qVoNa1Fbo zG^JwFK%3^=8mg6txle=IbCowo#> zBff2&5>6ZGv^I3`{R@!VR3)}aA^$xhX zG<_2MBt;2?EmP`aK1xMDJ|~0KacJCAF?9(N#y(ivL|6FpJ7E6FOCii@>Cw{P9Jx}| zS6vG+y$Nd^#m+SHo?Enh$t;Kxwak5do~GPX9saDH5g9Tmt082wkKUc45uy}ob3?1=u4v3Osqnr*al*`Hi5{*^)fa&7ZnWt?xH#af z1avpdoe62`ksLvm&wI>~lhR=KUS|zGdH?9HXwTUrI#Kv9fzHVEZwtlz@6f#I|EkT* z@F&9FR2VMk^)_eLYd7lg=7uggneC4_)!whg0BH7pZSSiVN3%)bve5Mh0Is{9T zgU(T!m^E(Htv_1XPp*cO)nNWOr+L?;(Pk3m?N6~IOqJGk4W@3`UetO zTb9VSI2P+B`Ds2;amTC*ETAoz2owU06ih(oDY+B>*4>vBnDq;D2aMx~Y*}0`g!Qy9 z^Qm$U**IlzItkF*{TRaB6s$h~9pA4#kxlzp-A-wQdom zzF~5H$*7C2t`kzhm5%yplPKvdMVcQS)?x6wS%x8M@U*=^RXYO8MS)kR8dM8E@TPdU zVow-6dt&+2%EO5*@jfKtf+9kTAiFS#fVs6(L z+_oqxsS|E;(>7dzqMc4$fd)DM6pK&~o&#Z(neoYwHWl>}~wLcBt=#JrEjXg~A!k9NJz z;{OtDO#f{X$U^@=b@gvq4gEy`7*v-@SZ9Upysp`qn@ApE&|KS7rE4zEbMyG=eRRAJFWr7#_ zFv+RUBC$6vm1f}5i1m><4dA9G3qzDn{_UV)R`m-&lT#d&PR*uUY~j!ictZ_&JTT|! zwlwjfW_ujh&Q#^CKK_}_v7MYz;&Jt9@#gb%G-z3+fxe+aWP2VLZT&c+{d)7!>Je|> zw-vW-!uGvE?gO3|2u;r8u1_I8Zn@2~wbAvXZl{+Gq!32dtE!k6T9`O0!XIJpaxy0j zPQaKH0u{Xz%=V1twS6rf5OUlKy5@KNNxYWUjG%x$7xHwv({Mq2T3IV85!A(skTJ=0 zIhoNRZG9T3=(zghCmA29;ZE$7;tqmJ?dl8dtSoPfWrz3O(9dr^IWnT zhrt(H*;Ri>#?+$`%#6Cg`_aj2ZucK%vKOq{A~4x0>5#~X6{)PWC5*u_9oCEuY0hIg z_$LwiT6Yw3@bxGp^;%h3n_&gg&E5jVPO+mvu!cg0E|S20BrerI{ZPhk3K^@gdT+&5 zv5%wR=F}$2g!W-r0S2*S4ahzk3#ak8>G7ZELh6ebp4I*B{+*O9<0T$j_ia8l;~r-1 zAI+C#4UifZ73wV4WpmzN?!S0c%d#0E1dwCtcZ!&HTPN}z%3I2>s(|AmyK2heH4B(E z^S}af9(+xID^HfN5g{K%D1$<1tg4Xnns0^mNm&qa%Z*%{0GjF<5n7xD*-YCmamo`- z`s?9KBWPQj$0<5933h5KT5ECmr<#+8BNQ?& zKg)WYiBcNW-mJ{~MW$9F6TZCR6m=lBR0CM@y1-~4(;h6Sq`6BDruZW|SrB*UwF1#+ zv9Cc3f)b{J0N=PY!g80mVya+& z#frewICk&-x20C*TEQPJLnMfyXbx-?! zEtrSm4t3=GVwOdDfl$d{$4tI70f!7Tali7gLY31G0EEmWwomTvdm2Gl+L^i&IW5L@ z6gjF92`$uz9-g|@ZzDOzHLG}f{tM>~#AQwA#F~qe2LZzKiJg4O_k#}o(r9VEY<$rX zip0Z3K(z=xAv8NEXzYJNb1>7zD{v6^5rJN~v3!5$RNmFj-;kwgO**$HY{>Li3YZ2m zl_==f0+u$I2GcwD7eY8H({a9DcfaN>03|PvKJS0Lww4^1?k7=V9yY(-O)irOeV>y? z1$5WZ=nQ`AT3jskAr@|Db+jBB8s4OoF>p;Oke;s)X5h?S=I#49*hZM#m`q~CG)$)ox=lQm#MRXqgz;S=5M`Xvo8?@rViD84 zpA9AkDnyrEcxMM84OLzPO*GRqsbq$g(aBdSfoo9lU{+-df8?A&<24tr-Pg3M?82P55L#P}Tt$R0fl7O=N&(N|S zwyF7Orc@kScmijzgnLp9KVg>rK5^9WOF@*@wZZOZ&S@Pc;6;7&ozqZ!$Da+rn8dX{ zOHY&dq0inH#;4E4#4g|2s26!TX#nubrD=66y?N{svMcuZ8O$qerWbmqrEk1G&chNS z9pof(+LrH|_krEDL#|8kjB@BlXX?asvmH3&V*9t>GJ0WgTD$dVLP?9RBv{E*;)Iph z=&?T+@_(1F$1Pq7jsyT3U>V2!m*T+uZ_kBj0nN?*zZY&C%>UeNQvy_FV*WZH{sROj z2WA*g+dV!?1la@<@bmfWvbc_es#zDc;&8r5lmXbz6X#G-c@j-hIC}c$%llgJe`|G`N)@P!E%Yu}mbfGpIv$9n63D{Ttuand4VJ$Z2t=WmUxb zrD10}V6}QpMr(HP4p8g4!uDMMQS0UkeK&6Kv<>T43I@rnK`GW}K?jA?F`aqYPGxgP4Q~?H>P6UECdy57gtJxvNCh3ylMb(%1mj~J&Ng%U zlMh|Q1f!R}tHhZ%E$;UhwtbEW zKjjTPT_l7#AZu!15Q;ljSkP_`7*--QEZa*@;CvUE;FKy1Skl;B(E5khuHH5xNSxCW z%%uQl3Ywr)G*I{|uqc|f(G)j@>Ri357m&_z5CHYWmh!m~B3$V{{sWx$=q(eYS4Yp< zf!7yMj)#33z!QQ1`eOZ=dfHi&5npTeLjqQ%_?NyYAh(P`o*jq=bJE=eiBT;&!8bm;;{plxpHvYvVeRvUi zDNYN6DmW&!ZRZ-YJwDcNL`3Q50Vnsb#lt_IrD?E;1h8a{4!p7_+_w+jBR2%KCgh$? z#-4cDM{r&euai)eEmnlm?r+RkHVg`77>!&kUi3!Ij)f(sI;gp!yT&xcUp5YIDN$KF zh9j?~YudoNQ?wxX=8fjz_}1zbGxi@TjO|`Qd-!B?C^j$mRU8zgG~J%mc1G`Ssn?4~ z091NK`2QB?9REL4hJl{`UjfIUs?U{Y_wqj$;%#kLWc$XBk3Wncl_YkW%<^+fuWuHc|Pt6(J= z$4dZfr?#qZ`x?@cEbV%|Av13kDAkM6X4Zhl#;fm#4sjyxBskOKLW>=PcTs=(e4?rr zfI2QfJ>t;v>)|9Edbu!<(Mtq{`EH@j4^rxy%o}LyucECR0D@CU*h>lq&j^8(A6h%r zw)p~35>^Z*`4R>&b_P(U%<@G<2!@%vxTy-~`lT(c-y@XE3R7LPq#1b@)TCLIu&yak zleI0euKn~matQwHXO>9iscvrAPx9~*=)1&IRO|xkgpu*e@YbA=s}b`Bsp2B~%K83F<|jOc3$-6BlqWoFVG2lUn zSh}C`hXyKE_nRQyoGon`7^580=CarPL*?>E%!S+Ef|lV^3BU-e{!n*9s_PbQ{o|b`?)-*t_1H z^OcM#e-7AdCC^kvLC=ds$?gF>7vM0L`s5F8S^KW8f&>^JI1*ecO!P7xJe?w}llg}~ z3l#SWvT0J8Z8Ib0uXr7OX$XlNcjJCTd^QnW0Qj>y@|Z}RbP)K=@&2_>Qt2OjtD;@e&1A4(3cPd~8_G*AJ^}`lM~B9jAXbrE?FKsSR2bY*?2q2lS_e~-k29J?Oxg&MR0cD{j?j9c~pH%q`;|MU8v zD_Az>l%sKALJ$^?1cn%Na8?d_4uTXvBVclXEBNoGuy90>ppbJE z6tMk3LK8g`GyYD*xc>1(QOL;g{!RhDjlSYkL==xvZ(YZk&mZ3!+bvHTp4Z1+HSO8Q zZBH5*5i-mC;U1kK84#MPOX}%IueqcoSZ(O6h;&?s5#{r1*)#a~PRqI>!k{*?sj_kjx=)GJS0Enmn6Vvf)##NO}6S)SgfMpsFI7~Tl@1P|mi zly7w_{eij*+tdr}^9&DOPI(5L*NXIwjR-14tW}4p58L;;982_fOW{c!+#E*WPis${ z8tjfLU<{HOCwSe>Hm-Ym87k~f`0dNmJcNI3?Gt-oX;XOsGR)2~q=M=jye|#tyLq+0 zjvp#Evam1^74Zrp(6bju*e3}<|KJkz?cxtevsZd~ZOhm4b7>XW@qy%GzXHA)p;WOG48 zUls>^28(en@JEbqlKfQj z_odRXpuNAm@Y=pO4Hy6&10qb~!=8Y?9FnfJiWUUM@ufe5&!s>&-BFZaw~ZWjZ`l+A z0|MkT1>qNSD$13Te{bA<3rzIq=`9*bGLbQZdcO zIa`(=QJ**}ItIu<)X9%Vp*-MjS@g()$WS=cqd@y$100{%uT+3QeD}o3b}#@n@K3=k zJNQ>IM0G~@a`z#8h-a_9@2Ldpg-fWRviSV1rHF}K-eMltzE%ao+-sm$$?W76ABBYC ziw+NrhA=*5@k6t2hNi+UPb*iy$5s2Hyb$sit3=K1!)%(e|JR8H@y&9^K(Zzmz2qmJ~GwEu8#Nx0xl{n zlyH{tI!Nk|o+QhAFMq!*Oe&{{#P7FijKz?E{@e4_{*=mR6fhv4^*RIaE|VPLoJ{GL zi4?4GgEdSJtVv88B)pmB`sG_TnZy%wTL^AduXS8Dc6dN6l?>HqF+nE_hD1Aqt&|&P z;ra0qcy?-`=o<;kEz`Gn&1k@8WqiC=s?H+9ol;BEbNdrn#oDZpiGgm6S@O}j-L&F% zT9T93tXvAX1pZ?2O$gmznK(YufhvR(sqC~JJHuS*Ux%)E#R>%vGr}8DZ?K7G*4(=& zNgU$TMgxF%5$!+YzHMoyk!rg)boy@BO5 zK;|P820whb6S7WMkf``stOnSu3` zZ6D5LZaq$2{J94uHSh9WJxV^gr1bIZbbA1&1sT4>^2&+}N)n>O7)g*P(qeg<6ryR^ zF}bLYuS-+E{H7e}xeOgJ!_)C-wL$cNoz|ISS(>soSlxy;NjCWXLC-!#1j{n>JVx^x z<_@s=U}h%?of2TS3f^5Ia7&C;ChSqq7Cl5SXpxwaO{r{dtiu8`5B_Us^a>3x-H5Rw3e z5Gd^O&ZLZg{v(DKTn@Y#}3q-I#?J)W3A#qINQ|ZByNRH`Xb1h17`69G4{`vFh!GxT=*%U5)L3Qs|vX?{m zFl(LBvgFT8rreZVF^@18E+jx=U4hZrF0tou)<{4HmsZ1)3|8`!K$zT5)lpp(GHxDx z9u+zQrn;1~8p#DZt$NXt+Ly-@=OKZ)GeK>4f;4go?$)3;Xz3lr7d*E|noX=U>N zD~f3lZ^2A@cSz-xYoq|g+?EAR29$yawO>^P8WPU4fnWiaI& zD-?hk$&TF?)^-87jYs1Fjj1>t5e4YNv9QmDS%9?&#EYslXt0a*#XIAQxwL}Yj5|Mp zzv?$)#ET>Xs*xkzmLIvp&?d7Yl28-R58E6$8XtqMBVGnK!TL0SS)?NW@OAA)qT;I4J>vkEj6emR(uG@od(W@3a3TyHuqH{utb8HlvVx#fsV2sQtWzzoJXUEXM`Ep@ z?GHzx&kE@VA;ETI#>a){jzl#MDIvymiyTYu2Vov^1IeB&A~-WUl0QVYsrswwWH9N2 zlv&}03Va%)SIN=RXpzk&eMR;BJ*(YOBbq4W7B>J7gMsvqgxp1`v4n}x8z6|Q&b7Uy z$KtdC*r2^$Oj@|nw%gC>oI?ml9A@d3D;~PNG(4hUav12TLI~5Y(+;w@(mphmRpR?H zL*l@~CmvO=NMkH_ZxNPw=iD_LmVySVKMGMnD=7tZkofmFGW^n!4_2lTlP za1lw6&yj?8%`$x}kZjkT=_^s()vl7jk0NdFf6%T+!}ByPgIX09!=>yTK^S^b9ffrm zGF^m3J5;#J+`{pUfb=Pi%lN81XYEe-vR62pZ?*T&R|{h~PN-{6f?ad%40^~%{LXnx zCThbaPESlN9tO7LuN|}HmYQN;B&o(D$Jp?=Kg&CTLFniyV}nwYoaGlcrbe9n!hMSq ze+FOEvn5q1psGHQss*i7b1f{Mwsz!35p}ZoDK&gL&dPU=!hgqWut;Gdo}3m(CH$ah zsx$)ui38Kq&F0VsxYT}M{OCuV+RLelZ0|Y^jnLXZdjG_Bz@~}+r+PBGS-tXTLqV+h zz|r(1R|}&UL8L)v0@Q}AX2Ocb?dak0e|=Y|(>q!8(H&cnzJ0Ud&=TFy1E-%45Kh9k z4T&VWjSG zeryB~K>GG6H~TGz-g`GarKVx3--r7|@ykMlt$2z8pHo!?yDC8BXhImj7pZQfe|INs zbW^B$42|rQ1IX0+^Y_C}Z0hX`#kH`*GI09TJjb_DH+_vcv|-;aYYp~eUwT!VOZd$5 zDqM{^j^G>01Ajy;i*lIHrZJPX9ulUQaFVU3Vu1H9IOkPo^a;h{^&0DPcIE1o%n*h0 zOJB1Z*ASDR!bTa7h=Mp@xVOoCe^T9=NSvRKIW6iEVjMLRDlE75t82Rl@jt&SbtGu! zGIrmi<3w?0;nvpG+Z<)m;@=Yq$%mY#pt}+4^sreEo(j8MdF}5j5p--@mXB-th0L;b zd_{qdqvQ|O1+g?N10kavZU;w=n_gFL$KB}9?GD8|lY^W^aXOT9x;?x(f7N^BAK~VD zGp*34*-)cT^U^!1Hr3J@>dxaW1ffS&HK27K62j&@I8LpKV`9_a9Fi z&4BWZNWIH@Ra7=14&2j8pWc)|>h}01;V8URnv^XW-jvt}u0av_n~X@*b_tO^;4}+^N)r ze7VzVJTy>dlyN1%dDNI)Rd0wQTt8!U|DjAH!5eD(WiL9)^gMlw+n?l@YJ`Mmm8-o% zVMOut{<;vIq_aJ0Le&G`^-HRSN8yUc>3kMWCCjD$f5k)Z1J%I{T}%eFYuDvpsNN>) z-Mgv$StYNW^~0=J9$mI_g#EOEI{^W{nI&I~`P_Sa-495WzSHNIMkT>r+4I@P=eHf85A=SSNBIa$RrlyR-4MS^%gI61y81 z*H$_Dv1-a;ifP_qSdBD3AIOK!!)`jP6;(ZR>B(JsOzK)~G ze{>Vqwpj}LD|N&i+uYlic>4vJ6G0A!0z*n4bQROe%7;Wv#A7rZQZ@`NPqy;c$pRw0 zLCHP!LbH{&MO3w0Ib)s*p1Y||&TUsgx>6ni%Nx!hJdu;m>gS9vv!!b+r1m7}7+N#5 zTX!WXWrr$1zw)2WZkwdSn=1k^&f4{2e+^?EI<62u8`<B8)q8sxYF>>?|_YF^vC5|_mJ zRy9>?lz~nOsiZ;Frn94P<>khD{l3mk{%k(ia)!+^`^E6+tO*j4uJwSz z9*>I2E7D|lX98}Udp5#|7t#;Ie}}?k;o$Et!mAo8Mw^Ys4~EsMAvVjBW0^bsc86cT ze``wd zM@=73pBVVs*!m(ix;!7KMVCkgT1jti6m+aNDIJ7m2}UlxtA}7{>%aFk=UY6-ZXM@) zIQ!%jh`rFds%h2KBIWgbe?-10yY`Oi86Gz~>)p;TZc3J=O<<+GA@#|)R7PS39sCvR zg^#&#r_LCOwVjC^#@=rcg;C~^Q9p}xqU7koL^mG9w|gFs8}4^<;JsPRo?l&#GysH5%E*u+UzxwW;0mI#t>kBD-k_9KsIe5HqP5T6qhVF1JHZfjF zl`H`gDTadkE;2snty0F@TvamL4qH{CjPh>G!|^fDVXLW{XJ^_bGE;+F5GNK^Isf}7 zlifo56O{(Xe;_)1jch?ixl&X<%@NWn;>#vg*b_1qhM#0>+m}objoGf!*3!y1%pLiA z49}AwjxFD!)K}YZKabKXcO?*ML~42p;P`od^M|cYk7?^89#6@{HO>Lo@@cre#7sIP zoR(#CgYWR`KYo`TmQrl!4wV@l{VBz>+-u5jPID&Be>g%*ML?ILK9RQbZMN%vbEda6 zs!GX^38v4MQpxe`>T$n9^i-b8%lV)cZgS~J6A$ji&O@~|nY&MyrQ|SrABm2 z6OrWNKuRGo2PTV%^!n<|bjLq?y7ocE!aFISRcP9QyxmB!Rhk`iKNT-(Y5fO8HNh;r zm$ACge-#ek>SPWbHL$38D&j-#9pWVJd;uiuEf@+ydG7E+X zC@;DI!FF9k(k~0!!>E$?uaDMJRcS`N>bLSkYxhBjeP*VM_6`YdJr4~)HYDGFt7WOHO!+iq;5Nn;z0ZL2YRv(G-~bf5qCjdAbD7;k>h^fT9- zYmt7ISE3OxwlxHb+S)kLFwoL-0)%7))fwmk^z=-$^z@9dq@>E`PFBGG$YDuUfew!5 zwl&hfs+}~ z`Xi%}ffYc>*2o;_A=$c`2v?uI5gEW&lN?BhbMG zXbkv^GC`B%0R@1;2g85!b2M@=w{vo&bu_p7 zizD4%VLsX{Vq+|1Yi$j*adL$Ht3F|K2cXeM-`(l{eYlo3wyrjw|3N0^HpV7@(J*$l zqf@alw|53g2>;vWLj?OrW(sryu+Y=fv$3)Rfc5~On~@paUkQ|d-R*$?QZoD{{@~#4 zX=iH(F!`VX^fosEe*A;=bTn`Q0-PM2f!?0~RQxZ3Wncgpn;SU+41uQRHn4x9e~5u5 zf8&qycQAJYXwiR+9|M5?ufP9(>3mF>v8|1j`ycav9WkAvw3?iN9M!)m|5qs}XzK>> zq+wwN&@i&l0~i>8SeXHAA0OWT8%N&2{NHu_!&kz_#1_Eucex*Z`cKI&|DFNze=i6H z;D2Mu+I~zf5J3KC(6#AV=#4&p82&$x`@dZN|4sQ{QT|^C{r^@Z>TG58FFpC+2LC^L z18Z|D_kUY_Os=!j#}>%ge(ZwH|20(u{=K?_wpPafS0~|rWbm;I0yd^r|81kWqo}zX z&{*Ew$;j;Qars-W^4FqSncD#6Z5_@3x>^7<4D|H>NB6N^MwTDfhvUag{!0b?Sf2k) zDPm(}Yy8)iF@Bt|frEpAJM70He;^isC&R}&8Ux+_HN^lrS{qxZ4;R1(Id6c8tpn^| zC(6bMpcDUpOY}El0? z0Q@if=nx(7f8w$JrMGwf7`s0%A009I1OGzie}w7+=0>cuP0?6<=%O=AvD6`l$-3=qKJ(Nk;OJQb|>Su|6Tr{)%8%+tKbdZjX>V>iwh98GM3Pj{%}Gi08EM=6q6i=L&$ zQJXxAIc(vv!z)4k3G-5_IK)2k*bYHuG(4Gp(p_j@x^rEPG99c`jizJ)WM7FIpgn_0 zOT|nQt4T&m^|JBJeV^V)2$T}kL5-<@e)JG_pIxYQQFQ(Gyt-Zn7 z59h{?B|rIMDBpOLczOO-)D>qoqSaK3euoh_jjY$n5w<(+#Q4sX*vxhvL@mL8h$V=4 zUXjf{ESa`RKaXzhh_3>sHm&e%tbX7%3hNr!yBp zn{MZ;H$8#Rm*v05ev!jzd(7FQg6mu;oT#Z~ovuqaY|u2fcHq0foC@7!b;~@QFps(K zB+czZMx>SzT)Amob@#*=^xcJwp+EspD8@uSonhT{9F+@)`%c z=q6}MetLt@l=77qzlwJd&E$R%ku0cx$>741wDgYCN8kT*15pPOI(rjEgQ?}EM>%% zi*jZ^%!&oB3rFjZ(mqOtqCbXVJ0~?xinN#qRzBug?fqp?`P%#TCrqTwC2jaRWJE}M@GRD)3rv|8$-)( z(b^n1IDgs75)%uq7-K$?I4fc**0TzNUQ@7xSkI?B6w0TKi}O^R88|d*C51gi#^UyZ zmrAm)r8ZSK+WPf63Xws9oJWW|>utTPRya2Fh8!W*IvrQn)TeYSrA68rUs!RqsQgt# zB1i^Xqh#{s&d3pers`>hU$>=ecFM7}? z-)30)>DOZmZ@$yj4}&FJlB13!#Kc;rA=}j;I_cl*9t-w8hhp!{*J+FU`D`x& zB{aTcK);|Fk#-~bkfVQIft7SwbVNk*P8;H|UvNE`-tydk&0`Hgt)6t8Ohl0hN{4wQ zQ=sXy3po55P8N|aLsrk$h|-3V;-tCx0GVwwn?1-^M zya*)>HNc{O>pXXB*xNXimIf#Zci1p=Clr?q z$_k#HGVV0cO{5LBrZcUcH*974^V8@L%LE+_iUn|oH@DctbMxBuLHlE% zI()zOH&dWEz<%Fpo{ee96&qQo0V^u_r0J6>beIYosX_~mAQCCmzRi>i;l1$jl&AEU z?1-R$#aDiQ@)vs5avPs;tG4MCvL|UGQ8xchi+pSTsJ2LVZN5(#$S0-0GLnC4k)*{Zb-$2dd!Gfn8je%=d4nHF*a7-;4B z074)9p_2t095mB_%)0xIM{&>r^){d8RSW-r!LuT|yr4Pn&EE8B(dF5yOPH$YytaUu zWu0wWb2Y>kauz!{5hPeT_~j)fWY-`;xU2-Of=dYpGnhyF?{MbD2Wx*MfDJnZfpGT8 zrlHQzat_pQ?#l@ka?}00rKb(@LVY>L)X28CLhMx!Lna9NUAVD38f<0NTF;Iem`6Q- z@yobK-B7JgAexon(9RA*Y7D_EbCm3LFkr9yISjLnm$!=tm|Mc6kT^|~@s-|vX7juZ zJ2!^pP7+!TKo7mS9)`!J{Su7obj4D=hQkz{#6uL*H`#%+^c@_l6sdQ?OG`0hyN;K| zUm_YUs65-DX_1ha5Y<~1l*&t*|33f;vM?B?dgdBLr@HPHN2X! zql&~M&!x`uTspFh*BnGfys_k?wnn)kVuhHyA5sgmF*)+4Z0s(6t0yt0)suDvK*w^p znq3t({Sox?O5l=*XX?@64xqZH>w8bRZ|!zR4t%J@|HY#{I9mJp={>JcusO$nklk;( zZAKkoAzh}d_D5q>73xyS4yrk)&)z!2O$J==Vr&K!HfB6< z>iaVEOpzFEhha4a_@23$1ly#dX*3Y`-G%UF3c>M+EA3AH6;uD?s3}Q4Yk-Ko{c=*! zEjzRB!p!InQrC=dZZp2YD+e3=ZeeTpv}e^wNhWHA=I2H|eHw=qtL0eA%XWLvfK2S1 zJ^bbGOA+}_@Zi!ypr*5bu$(rAk}zS<(%<{-V{wy)91bm5bo)6zmCGusHb^2JR zXM#QA>hA6(j-Ky%5~AXR$!*m&ZtyO1O#qPw57Oy}a^bkT*tWEPg`_vr(f=|z&nr3^ z*`FHWlAsVeVu6(Vj)Du8@LZkEib0xVz;S&&SHatG`tHH7o zL&mQuU?||AR}{_}!BN+o82k7n*uBv;jykC+&<957swlx{M{zJgzk?d@&4M_PYI(R) z$}$>3fdwl(Yg8hCu-szoRV3uvP?_QasRk*JI69<(x5@Q*-Q}fW+v^J!E%QktCI6fw z-zu#6W7w1(NTcDvj5zSTP_swHv&GH%R_X@SeXt)qG1$G#O^9F8sQa39yf4madh1)9R z3m-v$vmKr-(Z+&JVn*#Y9qK*bxjKFaAbBaGmFOYmK!gU{>vHtUl71mvot+XNX{)){ zSmcwF7l;=01EwMO6CRrk&r{Yc8Phg0Hz0Rm_$CukJ5-O&mB3Hnp7x2sGB1_~XB zCrr^)rQbJtTEnu`U5n3}yD|LSk%b2c0r&47?h95wDSp2Z*8^6s?xgb3rgj6n*Hx@- zXVWjBml+E|jKEU8Dg3f`4?PmMIB~d9>K-odR)a*Jh+y(;d#?rpk;`)Sj>M#q+((sv zSJ-}Wi>zMmym#A&tN92u7Cc#N;N0*W0(WVRNuS{l=y`t^b8Vt^#kRD3*}K-A1k2;4 z*2tnI5PexoDg@2QB?V0q>%;nvZqZ3i26BO^LN=*XSx%31l8zTuk)~8NVcMy^+uHjQ zk$$>915RbeP8*8;d8DL~Fa9^PHw4vx!1%~*e%ht6(D*_=*ZnD>Sbt~jH^0Kc0ZkHt z#suvAvWCl9WT3rB8!r-Am!fnzOu)OJ)Dr&}uVrDis`SXYTRM5!21woMWF|^_sk=S@ zP8HJkIsHL)Vk>+#wpeNfWrzrA&4wA!| zH{hQU*BD4Zdu_j0q_nkQVMq|E8)eHsEct}DFaW+CLmT`G*wZZudEO@3N^x8Sdo_rkZl z$Mj|XCi;FB;^qiT^WPe4a@Mq1{&Uqo`)0ieeMEv?4dYp+Uz5uY4PJW1SWCJupyA(GRfGx-cRyuj|s^nV}!AaRINrT z+Z6=L%G;piITS?AuOd=^y2h)djork*-jyP0r3T7#$-LO?LtW>^-f)&OpL4!!sfN$U z=65c=TUpPt+B0fPg!pcyMtxrcndmwzBo5;@V4~=U&4UA#Wjm5&Yajyuxy`^n&7&Ht|F>F_vxGbyQ|T zMm?;(v~YQ|#jQ=(f9AK^s9u0k#mAapJ9W{wEvEOr;g|QiV11QHa9`JcCTsPXd~P{A zmn|&urr4^LLrCIKlK_-vmrHO8wBWPkkSr<(8 zT%N&Tr4MY2L~2?G3w$If8l^rnsb5dJ{y>ETkyd!vNA-Mv=t*;$1SZkq-5U*R(?FL9 z5+abvTsYiAO zC7a;HXTy$vI%KIet2;VbmN)0UN{!N&?q?f%?-q|^X^M-@+?Tt6U*m1_&<=Dh6+Kv) zrcga=?gYCVQs1aC;(Be-S(L;PNThO+u(ZhF7b~$3ZjA=u^Kc-3adBrFw-F(O_tkIi z3<@lNJ*L8E=XZBkP&#!UMY&9xQulbzu|8gAa$CHA4L6ti99`w;966m}9NDnUV{U8-#_nxYj0!jI5z@wpr~ zJh{oL)o|PK3a|Fv6ZDi*!n0AI44`E9KK~QG9<(4WzFK3$wB!>nN7=*l1OR!>VZ!8d zAm_J#MGV(18$_ZNE~K_(z%jqTvlL7QpJ_}lxNN+A$VnUwFKqEg$G)aV4~sU`Eb8}v0L=oIf|E++1j)sxXC?vqr2l8P?aWMr(Z-7RwCZxdn` zet}4sf`e;Ad-M}f9sK)FwFOF5xmZG(DyNly1!|=$Q$1)sou)kc;E3uI8nIFJ`A3h2 zBPubk1n7Jdy#xmx5wZByO#}PYtQga{5^I=wohBKZZ@*KaUC3*N>**SASELOqP<)Rg z7mar=mldnHR>d;;_zWcbRF#po-`#bOR;zxun0~YN*~-wb*JO-3+MW*ciiDW<+!K(0 zG)h%ad@O{ww=pK)Kw8amPyf|&Z!0{ZuUsxE6brs~BOdCZXs~uWG)Ex+TL1QKF$sC` zBz)9uFiVKP{XHsC#%_{ZD>j;bim&tyIK%~}seE!9OBGzEs8wM3XgV-e68#$;BX9;Q z$p9j_i@4k#QMb-;;i|TCb9oqsa`)AL7w7%V;o)rg+N+wAvjtfdLN-oNu1CcKab!*0 z@XA1}MpzuN=KKrm7iK5vjwa+9Nkh;k*ba#cSqW^Rg)I9f16rwc6zah$cwRrD1b0}g zWN5apIo2kLaAb|PqYMMvWt_nW=I^t?Whnd31oa5kJ?lW(DL>HMbTEDfE`Xqa;L91t zg|{Yo{!c7Cc{HYOP+pVpJ!t*%TWi-B_fJce^;=y!iQdxm(Dt_5l8fg(R~K|%jA>BASd2?j^KvPv9sZN|}E&Am=d+PO7YF}{cO9X$UNAZ~V4qjPgJ`!NC% z)0SPzD?5s?J$2$>C)wjVk`|MH4E*i3BV@nR0v*~^c~7e{JlEkx!b>xf5En+0j<9f@ zGyOUk)HnF~LWNf?9uL3w(IWYLN+}@~`vl88kfgv}k|}h)L(8^WI0OnAnCtTwF?>bB z+95Rw1R`QZ4YsQiwfFY5S&+Gtg~8g>@XPdFdMf_OhI!?6S>++VTdb&m!qp3ZgLcUZ zH+P>lcAQ~nyQTs!gztPTm$f**zi3f7zR4PMXOqO#Om7{lRLJ}!XP-tOOg9wiQaBYy z-G@YWqU|+dJ;Xg*$nR4@A76qW%B9@TciZ)y%9S%;jMHy%pwl+8oeEdt947%6_J82v zm%10&XUs)yDc;LDhOa_@G?gY0x0YK@t0>PiMC5>$kIU=Cg=&2vvh5v8o`FpsSqYk! zLpNU?lql_I&rwuSDs{(XJlUnPiT<3JNLqcn@hehqC^nO98%3SlevZgH_U+ASL|(A* zC^Ee(Zb*Ngt>_-KXn-aIEZju4nAVY6YOe6}(KV;NGy8!pO=HS`$oTqV_*|4R7uGH^ z!tzFD3--0#HL|@3uEgaGJ+Z6uGhQzSVi(OYcsaa@U5c+2H>D%;_@HEC0M2; z?mVTDJ))d9-cqnnUo)x>Rf~a?ycs*Si?J|qHFkRLJ6jq`_&~RH(gBz_rt&^pR5Y3o zXXsa@@m0=zg@QtVy0zVbEEO9?78UP2m3%A4a$;$?ibz9I7i*nQfnyIu3>r;!D|(pG zugNpG$-fF1F3X%lAn4IO1fcD1QJzYmnUlKH(_XOZctRa#K=|lgT(HA<*TX11EFilC z4w;aX_(}p)k}16nv;2;hXvf?)cxZIts-%vM0;47w5eVgfnozzud~Kb}#`GFhIDdDR zlQi^I5iug0P;5+MUwirTX|z!Lr#1;FYVx^hl`w|?BHarIysBj9ci^4N(O!fzDYZQ& z(yzQC5n`jqeEHmyYql@xaB-@J9^puHnwnQ!d0Csq`ae@Vz03yK$OL*y$@m@J@|RW0 zA3K+L=w-@(#8HBP&~a6rzv|hH#(4}IJwA2ebAWHUXlX1Z&$zdh=`OwJt|i#NfqL?- z9~nh&iS(m%xEq`L_sg$LDrv%vqe)l^tY>L@Wz4Q}ySut-FvWNWCL_88dT@nMNOZ(b z95-5KXi*eAq{(ty|5)mDXAiN6>qGB8!cpGx)oqo3eODg{UW5|mc!}=p8*%*YZP7sG zSjjcU9wk+pKbN)RDBdOtLw3n}bIKBLnl zaB`G?fUx(tRq}c=WF3rZ#MCkPRIxzDwS9_^=OvUxl_Gh-TG!ED70T3Z@)mMS8*`ag zmdFlu2wGStAYd7<#L70msHQnXyXQ9nX^o6y6*C~9_?vwxawLxxnVRtOsDc2sc+X;q z;51)@$Zwk*pRF@($%ygk^)<0L$P zU0l%3t$juoOj40Jwy!XVyXeL&$p^mn(G*w}>?eDUBJPs4!H3a$1|~2yr%D&7mkm3_4qReK{#M*V z6~8vnTCv-md=^m3)BG-gWe^Kh%ujEBv1BZ0>gvkzDtN*AWi(Z}zqz!5t6P)X;i3h8 zLNMn+JjO@cjXDsemJer*&4H*?7R!BfV-nuE1kT0|L$VcKlm7?y$oOW)>M$-JsSZvC zi<}Jkn)WA}0B_(W&FmUp&hP9L_C+hA z=29UJl*~4+2Eo0+BIz?ow2^2Kh^a{(mBa8)zv~j5U-%g z1~=|`-X>4_`=8Mg$+Wr*{ zG(yRz7Au#6KK9g_6V2i$B!teD^av+CbZWbQ*EuZa!{FX>LBvU5?Da#y7`)&OCPqJo z0PwV`ceqZ(o@Rps8zHh(xRevwdt2Z3c<>31`cljS`OOd4;*4%LZ{??oms}M}$$a!# zFGo70C=iI%b zT!QxDf2x;o}eu$3rL z>QMDE2@^Y6z5pA4d|`+otj<)&c{J^C)MJwJuK~c3g?5&1OQ>FA~x)_m`^_C3gX zusFDZH&yz7+Snxy(b-a9i{T~3Sv!bP-dB~$%{<)54c4#I$XukPzZfbH5@lPpCKANI zdckJR{6I=V&y533&)D25LwglLej?nZA38r}O3($?BQ5hygXG5>`?5-{FRrPK)F9(; zEZ7My$lVx9DXmiA)!#cySk4w2s(`*_vQmd8GJ^jTnF^NTEY-aUA}6FR{QZN&b}G&KxSMKRc)dwobPc%`9Vp4-)@U#pEahY-Aa(p?}VGe74Tvf8)OZ& zFXPQhxMw*mF^l@PZ_*Lhm(E>D6{Xi=_wNVkjkoi}^l*WMsIYe3M2|}nnMS`6=326*Ze*!l{*3>EyChBVt3N})K=R$F$ERSMW(W!$^n`|%)u ztwa{nt|M_KxV)>W`SF&{<5+}M6iyapX{mV_S!R}b7?+1hPZU{a%cqINXHAyaKzjlQ z58@hz(A8IZm?v@{v>T)*x z&Tp%3DFdY2%hfN&NKL(a;7ri11yl0_w0mmxhd^=>%G*=>nl2$iR~&N!?fb@-xkeHciKg~{Bv>OV zfdxwfV+mv!OkUy#ixDPZE>NYemn2Q&UJ&`EB8=X*xZS_rmqE~t8`dAg&t5;7xn=31pV|I z1K$LHrzEGsYaPF#~KDFGe7ej5>@V-y#ihvHDpz@0rRbH zGO=?bH81IV9(1V9Fny9mB*~S)c@BA=SjHj)KE^r8A}oJ?^4`@L)91xC(E}n~d#=26 z)|4QFF~hQ&G-gMJ_trg<0PSaQe}-IKj`zAi2uJLnOC%ADKj_{o+yI<^kVTn71kQ4) zZAD+PpIhccQwrGj?G{c^<->(y?kDLQ;GwGX&O7Pm)?!oy9qvMY1kG&6F^%0>6@97k zjXGN?M47cL8Z63m5;>N$TuTlU@gukkMIcHOe0u#BQBQFcuCR~q$~6}5W{)+&g1U1W z5WG#Mdt%I;!)!xJka$ghx&ZbonRBOXFt9>i3(XB|BwR{iME*nx*;1;)XKN z&hFZOmf7wNX3)M9H|yG6#B3Jx^XvXND@RG(%1ta|2XT{ucbuet`P&0hZ69JSvXO1+ z2>%mvhF4Dr#pAuc9IV=)pBb0XT-Gd$3X#_Z?ji5xp~Q`ed1q9A8gqhB6WxH*2`j)2 zAp0!39NEu`zm?^E{i}(WL^&eA#Oo;j_wnEk11@Or@D!C6?3_m&oB-_g{5{H1CB!U- z>dfx1f-CLh{-})5J_*b`M`#|wj-3ln4@*7%t4$Y4KQtU@m|wGc_vaYFjPfg4&uTnY zk`i@Wrtqr7YP3CnZxNHt?NOb?lfaZc+Tw}_lf6Ft-Me5Lh<=KdG(DeC=JU;-YRo9a z_jN>H@z1hC`gR9#`bto5ROs2EBqDr8g=`S>5v;wh$&NA`^T@|sCBoBfol)Xm6aIai zu3hpwLoZn+%qQ$)ci8fj!wgo~%EP3cbNonuVHS?3_(CDyOIk|P_V7W| zNpD%uKxV}C3gG4(Q={tJ?qWY70(rB)5MtVt;%ICcTV}M5!J?>pb(&-bA2xd`{IEyU z``M4tL)~GFQ7U~^D=F_XwSw36?GdGrRbt@Rms6{F2ATfnto>)`TF6Wub8RzsL8qYB z`+MZwNbXF3HvV_o?C8lz_xP^|Ww}f?)u$>!U|BglOpZvmR-`LyWg`~n)65gK`G$s) zX2tJPBZZhMI3gccF{!@zH&k$Nn^*H=N^;rEEze77!%UjJI*>v2L+NG~$JMz}@6)GH zX|>hqD?J(ky#--8;&qTJ+&=e!nb>2g?WFS=5Z&2-QsK(rxAnllfGwC!IRXAB$Kh!t zm=b|@)fTk4eK@g(+s`~P)$|zH$VK%Thtc>_N(L~x=gJa;47u6X(0F9!mC%*+tpl1w zs>05y=9Qm?Ge=C~QB@z?MHG4-s-wgUrp@~0^Q5LpVehJF*GJqs@x{I75U`l0BHio+ zdsAnB#Bo7#m8mB@;n}5rMx`4nK|d5R_1{1^1$WoLPJ>W0Vf0xr&3fPB`-SCx77Liy z+T^sTD6~wlG}Tg`aOO0bA#Db$9_ipHz7R1E+JsT-IDCIf>pDW8=XDL9hIhA@v86#H z7MTO-zGlrlJnZ!!USJE0q2LiL0-bYHy*8zP{@#?Fg4n6|Z~;oeMg?We;l(t<*95 z@17p+)FND*?s|!-#H98lZI}9f*3k8_qV@;+4+ikJDWkN96~Ing^;ZOl8inDkNH-dP zp@eb5>F(`LvKwdK!d~&!sJzOd&4&edqCjCVQ_1K&4Cje$ZW8)5Z00K2UQk276Ci^}#VfeT*cJVtbVMbi zi<#Oy+P|%wxcuB}r^QNl?Mn*ESn%b4b!V$cP*o$@iZOf$A*&Vo;B!3XV&B71c8tdm zq`FR@<<{fCsGx?H!FgFVovlMY2dnC5Sf+5dF_KP8Ix@<2cE3i&{5!^=;qStb?hKtLau{ug`@JI;;LO+wan?-6^WTs;!-iz-%dU+=4b<}mV^ zG`UDq@u2Khwt}R&&}YV`c$_-j@AmnyZ$Y>1iVZp%n7_fc`%K=)kjMh_flrc7Vha?L zcw7%EXd-s>nq}^Y=y_3$SV)C;p(4mD&H>aug-95c5wQMxLKvQ>P`bmv%~(_{6?_vx zr9YQ&qYzJr{b0_3B5jCe(VKd=0>qP_uP>50UP4Fs~L+d`_sj5{3y9mrQ06&;UG zH{EnVp~Jb2mc#F651*F}!2L(4C0`)YcyKaaX|{rf}3LW_U-Vd-;Gy)c^8%;DmqI8ve)EQWYwh*JiQ#bEuU4YS$ES6BGf2qB-WWCd5bHjul zpgvI#X^Tyk@l_#?mWb5tyUq!?ZGyry2H!XmUiQqu&1!V87yN_y(IMf8Fl1^CZjQ2`ZQ_K|TK(#O0kEp^H^LLlA{u`tvW|qcL8Cdn4J=q`((A!<12SIy)$q;q z6QbD{ae!Ih1^`&%P^{ItL5(=bY&gGed5;N__S-z*m=khqw-J+3vDMsShAT|ADc%%2 ztA$@ruinit^}>@=`tpDYG>05fV0>s1DY-c5$Ojg*`v<1OMM`3Sjoh{Fz8NUU-FAZ- zt;-HlNFH*Hs@%AooK~(|pJfeQFpN^L%hj^X)N1FIFvm(2+_;L_=;!wz@^W^n#znXM zvA4^jO|{<~bO(@8Pwyfl!)z{J{Wm~2_B{im5}1~2b(8ZH z%2_}~7R7aX_Nr4VI;3=|gyU zosky!%xm%7!fRYRv(9OQ_%O=~YXu1+PrR~#?dC$4q@w{f&)Gysl>LC`7Lk`iQ2?3? zkw5j=`)Bxn+>@+?GRwP?*r;G^^#jQE}#5YZf0NPXwDpzSxB_pastMta?4og2;wO~-)X-1+{>h8?X&!X@YsZt)`9)lKD zL4taNhujJl*5_t4BVJb9C#oYe!$E(yDNj+y|6x-Bi({=kOjpjqL{JF98fPyvgQ#^G zqnH6?elASAm5|D$n6GaExfi_Ur8F@aNp7yG zjlWZ0Be>?feC)Ulu9`g$Ce4ZY-8}vl-m-J>d=g7IIXThU zG^7r6eH|KJ#3}ze&hlUAmtV>tZ&O~AU6-Aa7}+=5L%?dm2xPS{7XpcI>(i>BsIQ2` z&3(&v%pc;fHhe8RF4bMcn~#WZ_acGM8Yr|ECIczZ{Cs!Sl33hFxTpYvIvsZ5Z8DT~ zn&oP1)Vtx%P^Nf8>qXh3;MlLZC-k~9A&MN3uDkSxor@mP@!pN^db2d~*yAsl(DYQ= zhxH+AdH~i3jiXQE?cZZNHZ6FOh;O=jyUrOI7ekVD*j6oU$|F@VdYo zk7s3oZ%NpM8{o}2$_B_jBuu1;cL5_O?K(ju)10A)cV_ysa>(`O7gA%OmLTE*qgT+d z(EkV~duP8wNc9~UDmwILoC>X^_U)Dg3B&!9S^cU)3GNvIuSTSmI~p~LJjW3=Cg=iM*}w-(m4Zm57i_s!pH3md^UZ1 ziD=t=fcq{-7gi=}(2~1d;Z+^U%oN>8Y!&oe;<%XF zBsE?kOP}p>9D>k|mEhIlWT&zx?Bg;c__@=j=ue_gx9Ol7wd?H+m9KnhJNNh?qaT?x zf|&26!4GBR&O-k-@%P?0{JAG1Eu17#-B@D!{2)P}X}}V=4Eqyu@!a8yysv!ckeem^_-cA+S-!H5Xoeh!$0=9qXFeVQM@#RaGNB(Z-Mfx9Z1i^LBR*Q0uuaFVoCLwDp^^3+%mwol$iSsHVr- z5(THa!ybgx(HXStyuR#B)rL%DR%ml*oW#)&p?iL!RfYGTfA91&as6U{j* zCkI;-$TQNRu>TWF#!5`4s?P&I-)@^O%hNy~0DOUr{Fd$2+(8^p7z71UC!zJNhN}h! zt;sm1WvnN7Gc-i1@o&(Q8PckLuSSM<1yhBxQ*Qc@(fqASU7cE>xF^wgBj{hSzCo(m z^$qZhy!+6;kI>|=V)T|oq!f3rZqNUnD^{8sxXb<1oLdsP9e2k3^i-ANufn-KfyW=N zGeFE{>bBBAfwiwD_W3UdA3iQ6VHb^9`}XdIN$SL%;;YfZQw_w$Mtzx~d4pEa(;Kl? z)`<^i^=}t9a$Unwe3`+?K-qO{#5SsU7dwkJag>8SmL(RW3Wo4c0T)($qNIb|FNz6L zDWSy2h49lN?DB_VWE7_#2&u64sVkoh`9M=Gf0nHit#<^dcIb}3$6Jvd^l?)6cJF`xGf^+&*vP&Vml@6up%N4M|2Drv_!5TIsrbGpV^BW-rplyXS*5Ao4jCx zU)`>DFlTVP1XCeI2|zOuaG$ReB+OgJ;>X_D%`@bVH~N5ckWy#Z5& zYi2)Iov)*4eXwv%`6x{JTMPbDuZ(|DvT)(8t>H1dho{bl^wu}2pSE0HE$rQ)7(+oN zh58|>*yrNGS|>!IU2AK8PP!hhBEK!JeHNv;z{00MIsCyUl((J+YjIq>%~#J#bk|<4 z_X@8MKI_Lm=;+)h(^Tez)#pBPi2=Xs@#WV)6Z8SCCn0s&C`6mRU9zb|vjU#P`RM3$ zQlo^w=-~*nbH)Y}!C7xnib6H*%?URaxd9k*aTq|K^rW#w`(%LZ#Ucj1)imJ zkXCPxz+g(_^B3)S>GH=CPzE3<9$U7Rjv;62aLAE9{-i3WMYhNhV|=W5Q{=iej+xQ~vu+QlmB((444142$3^6qj)t9s$47)v4usrF^0c)&Ove!yWNH zIY}8?TT;Zh(hpJ*3M^a`PE%gr(^*lL7t!X!b8<=c$IvS&} zX;sE(Ioni9`VnvZo&&(xO`b=X4{js*Wj7OOD}GZ#;m&GDx3C`mMM;CB;3n{UGVOvO zRR)I2kv)c*Gf!p8h`hIs`A2-uL=;nkg6(n8FmgH_^gw;_5J}^g+U&arL&hi(ubDu? zQ*cg>WWx@x*3nT$5~no!@MZ_!m%@?qD6N{>6J={9d0(!zEIUv?|8U>_SlMs`h9T#s zURkacwus4@AV@#iqaA#?;|m2ZZ-?@_79G%LG`Z}OeUrdZR>jK4A^Lq_d4=3`f2%OB zaUT91oSvc=e5nNe?)?CBe9lkKbL9YG5qnnQB1)2bvb=}OXTkOs$#k0-D`?gnziW;* zH(Z>&90xu)g9C>n!Tj{xD~PIuNZDy zzpZI=+~vF>DovcdlRKKdKvCU|o;E{Y>&A6H_s)Yi{-;0$2jGvAf%!iU*qFr3S$7{#)Q zHp&bHM5xFOW~(uA$hyzbUBH@ZGj1eSpA#Rr4>Dl)(yc( z4gW9~>^Of^$*prgXwe7B8(ug<_de1DPs&3(F+!^+t;BNKwaKAoI;&wsOW50J11$1oTJuId_HO+2+!)YW{`?uL@~i&lqR1DDhA_y0T02x@5l-qtAx%kIlS z2?S1#n2Wg{@Uk;d!GN%^Wg$NoX<&dEGC+o5+UwU8%u?D3_K4DEk(6d0wd{`v%$-v< zN%;o%w+1 zynMKi3x`lu?fk^%2Y9;7V4WKVSyCo%3%OfIeF>$f(lCZI!}T~07h?mAO&1r>EwLa%QoHB4fzo zXxK@XR4G{uy4`Z$aVkTl#%R4lTjv|kKjo9OY!hxWhzd)3RyiS0F*Yp(ksB%<@l`%` zMfKx5BgL=mSncqsiVg9qk1@16AlxZ@1Vk^nT5!>XqiOVno#*wLe5)?I260Ma6FM^a zyTv#*o_h%@y)+HA?}x1{J_pR5W?CA2;T7t0Poo^@W0w(PSH- z=)Rv4UZ`|H@XUU;%8p75xWN8NpQYj~VsiSKsZ?2}^6;yECy$iJIO8L!@sqWdBy(H&Vju2*=%!-`*S7H8u(!k$cx08|#%c~`aLdE&gC0|PN?qx3FoVMB-M}wtB=cB~|2fHS$ zYe)Pr#5+gn0Lv-N1hBVlT)EPzC{lPeE}gQ>wxpSQpglhNwMG|jA!961ip>-Ig8B6q ze^A3543YJin1!TIYS3N0_5ON~7a_@!gMm!fqyxWUFd`qc2Y~F2Hik#l}xiW;&f^P|v=p{rf^l&ajykRf8l>563PIkvkl5d;; zKlp^}|A~+M2R`9o{=eW8b{1x?|AkNfH3!-L8y$E8bH!gOx*#Qn}OizU*DPehaE&QSvLDPcJDZ)@^_a@+* z6{gKMR9OFr?97Ou%mn0~iIIQMfhez}y?(9@T zyWF^MKTK%8p<-e}UHpSjL^y;bVNFDJ{Il}wxn~YZ3v2V)g$AcqK#$LF1c|9UC$qCJ zTCuS%<@oYX3;G{{{x?F%|QNxPws0>zp1&vmUg4l zxR*@XhsOQ~K3VI-vOK%r-7~fUbp`(ipOi_Bf}))VGy%BdpLRm9|A9|r?`8iNKG9nF z9ABMTS(zHznpx`aTY@vRHi8GI3Ll^2ZRec_g|n0UWMOM?uY0=&I9=HrYB<|AkLV{s%s3aD=jC^@}D%^}ngk{qmdpNMl0f)v<{aJpAG@hJ;tbrlwcQ08~D! zl{HtU@OQ+Ahd}d8%uPUz?5Uv$05P^U4$?VMDwj0yuO>!N3Bbeid-lb&jr%K&f zw}t=hHmnH5^S0)#JK--_aK%q-S9}Q$iTyYO*{|H;4+Dm;uafs_s;}yxPkr{u2|5 zuVPR?y6LYHw0ia?))$-cwAB@m(Ad~ef|_W;!hwk)$ZO+QO-a1TOJE?1}IxqA?WH z$fqzN^WV?BxU^efMp8E9i$q@HThJci0Jx#zYmfj-*?;5|$VI{9prADXd0A4RU+|bT zcb4!zVfwi{{DE|AnBDAd__Z3WjYi0hTamHq1JjvplSPU+4& z69j!PZgz2c5Bmy>SQXrn6h8z`-*(I{jT}CmpuTFKlu-%sv`Cwq5nFTcM_vI>sxc481$q!~tG@gR zgEu~%l>b3FQbX^^Tl^pFsPdIz;GK@Z#!u8CZO!D=4sltLgZFk$BfTu{Xd`bB$M$3r@WfI>;P)8H3gePr_ z$n&Y&hAtHTQex4<>-k4PZXRFfGE6&L2scwYK&QH{a1EU+ujaV@w%Dt~-viTu-Jp^| zx856qs>F8NWrQ*QV;U7*fo?vf?k_4&oY*7`1p;FgE@&69|Vpa zI1S;Q+ql@IvtByj&36Tbubh^KlL<&&!f-j??>O>mrKwlJM4*nv-~f51KV4yKO}#dX zWLqlGa5BnrwN%Zg4%iYQ1$Yzl!EE4_j#wN{jt?HG9vwcuB`6ndp3HEW6yvk(?rty9 zXyLDvtv2F`vsTN#de+GQz=x_%%TYoHT(2tsWu!w9+Ih2odc z)iLfKAl$pWOerpqcfCPV&@tow<+Azdjon6?~V z)|ji$R6c1C%*^ps)Wk9mW`($ivZ}sMEHNVXS({ofxb|-mLw0=JfT`h*UM8)|q=osC_3FPi-(X z^o1I^6|F_i$edIBDH41G)oq@fb=R?5t~^){rL(m7N9mLZ*~3QP-*}pFiU6{Lf+N}O zaZR?w+cuKp;gTxe;uGdoOxmOGfXBS5(?O_0_}NPkel4}r*k3RxX1}7IEARx$od%bET?+|AU#Hn?v#U$-rI^%ts=2e=soUGb)Am^siHHF5YYDjV35)hR!n0NuRAzb?#- z5!r}Y*eKbWQ&uPHSy6Mex4rhZB*EvW89^W78hpFICHT8u(~IAGp6oU1df;hCTofX3 zZT+y?l98N@yt6*f*g|W)WvI<_Xx*);8O$Vz{uK`#$ljD8Gbc`UCFqaoVvb-V#k>(n zsnk+)_fv0+q%H?(?v3_!0YzD(;6ywG>W3G9jggQ}+nA?ASu?%hR|j3+cx~-;aE`4Z zP4`|S_8XA?0A(JI{9B^@uBH=%xJUWjt2!qvH%EOrvt3qv;uH*`#C1@#*DYTo^`&72 z6IR-`c%fcTp&)8WD)mQbFy(eRn?NLeESP9^<$qO8NCT%xZs8yaASVfm$}K)JNQYv^ znfNuuf`?UK>Vk15F}x%kda0__x-c2U2Txl=fP8yt&&?{9KY)1UbY|^@G}kfT_Vk3O zjPqxElP2t}bZU2bl=ZAyv8zVOv{mIu(aN$$Z|+|X_Jim0whc^OIx4(n79+AGRDQ^v zHyrasmzqN;d?AT1KtJ>3JgnreO+Gfg8s;#|mc@z1Z-PPWgND;ER>9dYzK}ZmK`x}a zkce%ziIoaO+m2sXIAUpM2VEo7bMln<(=59=bxcE=Qq4Z-o+&1uW=unen$);IC$qyo zDmZ{+tBL}Xjh|fksD)Tsj9drHZO(H?%IfF6Y4!JHqCwzDYCJpr7J zGA>9dC6X+Bs07X%+AZ=h3qusuA|rjjIv21KC}pUMb#T~oPGqsE2ufL>E*}EtX8#$)^EJzCUI;g{CD1{BRDJ?FJ(gs9Fi4=uu zv>Ajv|DmI)$vRR&YL$iEztVD5Lddz{l7bDVf5OA+J?)q4OL5=nv*4 z*kP392YBA^ctm1+!G?JR2yE+bW~tv<=iEm9M26!Pb077t=&|ui4>h_VtdOZlRBF{T z8D^+fY)->?-#}NC8}^eLr93C=#W^NLY&z@e6GNYPia zJhmul0TaG>l!-2Xn<%q-ul$hvRc{(rOTJHuqPGPcMcXn)h*pDKQkk=IkeW7 zSqP}h=UJszds^n|{`uZjiyjf}93SQ!8xKbfYVh+M*Yx=cDZe_GWi2cRi0**m?e#aX z*>wAhN7$Zx?)J=7q(o-MZHeLvg+r`Fl5nYBiU~NkqUK*S#-|a#C%#R}L7*xLiOVV_ z0+AOceqU9L($TpBFm7cGy>VXnQLrS@k|$144x|W$RvdHR(zX4qyxm)%8plYf3a0gf zLxOqQGmS|9-4lOLPAh8Yn<~(g^YO2~fJwZNnuSI47N}Xr8ewXMG(iiHb~|m?V}7`u zC{&XKD1&y`rb5I!mS5+{i@TKyFw{X(1I{v^#rOkwf~Gv?yFJsFh}zYDAyqD3RNo3Z zs;c(xI_ve|%LJZgqC)rf>ksIzD97U|_VbSL{eC!r&D1@AOh~0`{XG3(h+J%AuXra& zP@O4^oY@gH*9FrX@<~Jz!?@lfE+^FpE9fI{by^Xl%*Myi*5II~oVGvOmiD>5rRZc?@0^` z=HTXg=v06$T5X$#pPRN`s^gxUS0l<8X2ldt$%?SNG1{d4c0c^xKI-3d!3(L3k+@&F;v#sQk@euY?e(Y!?R zwf1RFTTn-yAU{+?g}p1=7L!K#KAGwmuieyufC2G~TRb$>pEOB>KZ$#cbM^*z78hZ= z`s*Jl(t5-x?*dvOTwzJ@mNX_gND>U{xJP;MRr$7D4&+!9SzYB!=74gNcHDMXY4enN z23R8=24(#Oje2E}8IR2an=wIEZ6`VZ*7F#j7zKP+@to=Y@1B*Q_>MpQ#c_NV)W3JK^m_8s1-*vZP{eW4)FTBlYlS1A0lPbLa^c=Wftr7jh}u%flzxGUpUPXLMSfQt zoFg_5(vY?$Vp6`gMBX?}%jy?_8`xad0yA}>^=|LTn|4Fw$v)}-bC+n;mWjS+OuVY zc$TG*z-rBlG-fWPe#uFfi2`EGX2u6YhSJf!VqEm6Z!|RdZlTEQ>J09u-#UU{ZSPpf z-UdDDOC!x9={K==DteFpuIAVmRxcOj+&Huc3H+3r5wh+uq0qojCMr{08=6ztCwb?X zgcaeYHo%@qr9b+0un^e}$tf*5o2xKFse{;l9D3?ab19U%B6v%)RgI*0S@??U35QPB z>tj8X0bjArY4kg%=K`0Z{TPvaNE$X{r|1pKit1$3}(5XQJ zj6C+#d6QU&NmDnCJvuH%^AQLw2wbIuR%Zd3iht-momPRm=piICk5()L#d~Hd-xJ29 zh{r3w1u|BR``+vP$&h;UZMusRVsH~=>%Z4VSa+%u*rOFE5#3VK^2jTMrJY+-M*3q2 z?licr19}dN@@(ICcs~A28;))eH%^`&#w&=@t@^?$itijUErp|^K2%nU`{j5OHC86< zb_2-DatW&(mJ?Bcis3imR8je-vTIz4T;A)>C1*=PdM)CH_%V2BBKipwY_-WEcSM?t zWnTtkFw6M@ksl8EC4$tfQf9f9OVb%)BbeoKIBDS>_;E z8$6EM8_qP}GRt7H8Xwqgcs`rh*HoFOt8Ny$RqRtF;sQC~Z=&^bjnw+beXM+*eSkD# zW1fA>iQ7E&L5sr+Rh|h{`!#Ad=dN9igU3MfrP93^ZG&l9Ek-C}e5AkFF3ROp_6nZp zR;zA^J~Ewzz6MaJ(5J%tP}hPglV$QR@}rgkutt2;EFwb?BGRG{oumxij84bb@)3s=|SVu-~i4TDdPtnagSidJ0jQa!^^>TcGCP>aQCj!a%jGC*V^Lk~V#%11Ci@`Q_S~39?K^h z(lA*3Y}Q0aIf7AfgNHXINEI+X;umaoGA0B4xQ-F=vA0L&v_s#3+M*n+SX>0QEpQo# z*Mfq|uukR43-tg^+nd!mL*R7pG);l8D)py76RwqZCf7hVGCsK36FS3(`uI34Q^}Kg zP`m&Z?q`yVYkYz5nTp<1OBZo^I&`2zg+a&cWq$OK?rN=elf^Omv7Y@x`1{k$2Cp`C z58Cy_-aJSeJJ3HaJlJ$&uWyM-1|QVu_}IY6(_%5gzv;)J8^(9Q3Bbd#!SAaNw@^21 z6C-QRg8K2FHc))#@f7ie{GEC(AJa2EcFx)?p!Abdsne1-=pYe0lhWKJ2o&ptlX0c< z#F4gxjhB!18*U?{pTbq&oF?6K8=W^E4l+KGJ?43Uk)DQ)|wDL z^-ak6*(IL7v54?l2ViEBVb>H_R7GnIz`courYzj@M7;G`mG-YVZ@5Hx(xxdMYXP|t{)#A67F`s5wHLKI>7Y-$UpH#-<3!*tJS%%>=p$l>YCJPgiU~u zx*A#p1SzzmKQY5*=`z49D4?^QK-s^c7&zyW*`tpbdHOI$hFKAQIMuiZMkM||)IQOJ z$xvmLbju(WI(eIIFj~oyOkG>!%=m2}+tYo0ffHoMTq`HV#@9~%k74rNG0Z#8PkbG6 zo7ik+K%GQgzajE*Oy-2xb-T^2*4Z-xhiT&X(6`R5^pdqitl}k`e7Xt{(zQ&Z9I)^Y zxNl_zcX^D};(w?c!YJmAc$Txz-I=XQ)m&us!X{gc`Ll>n?$$TtcAJ9Yc!_LR@@#gyY;1F9-5LV zAzFz-6fLOk+#U2U*pPBv=7R{|1Rl&bQkTJHNLy*ZNO_*Pd) zxy-tMLuWMSLmTzawZ8v#UOy4~p$=*{1XTU;?^!4W_BnnxqJ@V z2vh2DyAi!ny&lUP6s{lW&4y*0=qbD$eT2rzqt&!zY038zk}%`S@spW&#r@!U2z)QfK{oHuw34emF- zt3N;d=~{(swL48C9}h^B2=K?QdZysv^1TT?JaCXb|t2Stncu{6R%Br5-p zlm6Fu;bSgZzQ#0%0w-40&qeJ21j;Ee?rYWy9~i)D9mR?f$?*OzL!xUOeH>Ky@w*Xc z&WZN(*NwSsmYehN=)J@f--q0VdVs?-c-QOe;jY@=F5kAP#0Oe^kp}T~(jl-%UXdU_ z8lix6J;fdR(aA~{uGeE8jBSMv?C@<~y=~10r;0NK`yw3o&S;|-iQIyS1FSh*u?1K+ z!={|$SK6nBZ8k~}0o=hw8LOt$&PpZuJaE`65$FqzW3_(7&kQB>AZf}ghY5bYZMu7Q zdIc)W56r59w&ztFUNTr&^^`+ni*8J3o}CYlAaFE8$PJGUF>vpUKFx8RYv0xDZ5@7b zGaTf@z?NIJftRYT$NXh)0{&31hB#u}Ib?CMp9IKDdLdfu+$(1NwCQ# z2+>wpJc?|hscbeBhbd&&P1Fo5>M5aujTbyD#c7mizPzh=7h!hr0a|G-mo)WaU+5Bs zVr^3y&~nTSxnNRd1j67F=&$Uuhx39poP-@jt2=cF# zJ0aDn*cC{gEn;%0uwz8$ysEOF^a$i?oRLTie18D$G6 zaZY5S@tFTGh!j-f0>n$*J#h4VOB5?9KZ^4{z!nA@K8+r**Eeg&qar_DkeV38`hF>= z76*0vA?{r|K3h>OfJk`IGk%`-WD28lQ1{y#J8PIbh6TtK9|;ec-u)1AU(^u5lOgWW zKwEIeQB;*u;yNC_MPD#dTiOj)h-s5@vNL+^caIih^`Y!QdROXg1K^i#MA3x zDkeJ|cDDA8pbj zhwwzgBgs?f0&LEseK8eK0*E)z@SgNq24_JeS^d^1Tgkq*GN zV^N_e_=r!SK)cxGw#Cc&F(s{EegBL?ZNWwCelg?e;T?*4{@$9<65{VM9%OyWk*F`Z zn(gcW_5Mm8_3G^UQ%>Cb zd?e*NCFtI4lBV|c{E$~64mgeQJDns}4K8>n!P%#3nWuDrCbX(`30cFtU7r)PhGFnL zVe_1C7%&`soGAN;BG|HoQPPcC>B{auF<|mFdru8Ee*B?4H<-)~=sK2wf*bk5eUwO^1B^GDs!j*E{(AxIVWrq5bm?0SZ0(gzXDzqts_abN9-7B@? zUtb$XGIouPdx@x2iounB-*{Xr7;}2G&AfVx)dnvzgF97}DhS_C6$MG_v4_kje2>mQ zi){(p5UKrXNzq7}$-7MpH|ciJ%Z1O>5%{Pg3B<%tEh8RnsiZUYgGMNxHb0x=!~b%( z4&g5tm+#vS*Q2DUb@N%o^cC`XA~oFF2+*Oh%Tf||E6l7zIzDiU9EgLy) ztEr?_)$3pUv-sN!9Y!>^I6(ln`h3v|1=!-iY>eOi9oVK2QQAsY89{{qEtp1SQ-N10 zW3XWQRPC;!rdgF18^2O4K#wCx^Z8-dZRk2Nz5ZubZ51bobmho5ZVjvPW$+A9`6&qX zRcgQK?L?1QAMR^~i(e!#H)oGz6>^f7>AG+6O?i z^BT?6OzI@~9uWaym^V?}?!eyx z*s3)4Sf>qRq%RtxK?LGXOwdaZ_gkkveDVCI&0l?Oyg=)2wjxCDh~KR#Dw~<6XM(#7 zJh96nc%Lq5{;O97tXMv;fpDXj`ZoD`jlkFd$t1!8>Pg zNH4`yi&~cbFJsVqW%2;%)+pp=1|HST@7O9wb3KTS+=+!OKQ*}`wzCUTCZrDV#@Fwi zXbhJ=mErPFQGW(!FIQ1hm?zM_3Y4Gr5 zh~zSw@H=W_boK?36QMLBV?Zgh6;1?d=TBRRr4FJ917YNz$U*;%7~E!C&cu6hT=Jhw zpkyirjhOpOtL;$KDvP&s)>ru7XCr(cdwHIM)?J+N6u;dKdVQ0OWiFOrj5XR!fXl8{ z@yF^GubRrRx~(VL?a(N6b@=VzIl|wngG1a)2km_(EMoWlD5lzxEe)_1u z=SN%&>Mu#Z4B9OZa`llP8{*q8R@%)G1@nY(u!^RSg|MV2LeC>WX=X~_;k+Q@$bNw- zp?t8SpoAe#n)8t_$XuFf=Vn#&!zFtL^6mDlF{FHVbEfT(iAbyd@I7&Mp9o4sFF%;g*GN1X`Er_O;OfCh;viKpj)QCJ^!7LVVsf?j zjd{$&>ah48Cv%6S^J|Tusg0|)1t_R!6J8?sD>zYgQ!Y5AVIA|fx~f=IMqHrqL;sb{ zxUu^(M|K@|@KW4d8pxo}>lyfQ#(V4NzM(35`mXZqqMJ&vXbET)`J)=#2gfH6`hkqJ zoK{zTAN-*Zgh9X~WgA$j!Xdl9M}CznU70h=AXMsKjuw*tarD>%)yz0 z$zmBLEw30>nX*d_@YVtEfdKNiv!enr&I%4!> zG85(G5H|qO##edUo6$YwV?g}$a#E2{trzoe?(j|9libXWe-}l2DTsS#@%NvoEA9(P zCtpi2rvU#<0a1>7Gt?<@g&V5h^7T;*#RSZr=pq$;%p&KTM-QiS$ts0HPx9WQE@=cF z)-5{S0mri{(mJ>qYT$<#nnOY(x$!?LB+B%vL?w=#ZXBgyFoVVLC=ApT_!Po@0_HXz zMQ$}!po4jjHwRK}d2n^E7QdhcwxlR4%sR*KT7g=B+*$6oyJZ76tsF!xP`k5;3rj!i z59o{XwPI~Ln;9n~W8{9E-dY%JwA&ZbybZsl!NCPA2$-$V3fbTkvQFcGtwfzT(o<$* zxeJ~xzarKafh8gdAF6A?xhIAmnDk}MTlQfi^pwLC(5Log=eS8~=E^h09+TJZjvhF1 z62PK1r#u7x5@F`t#vDqgMHvruV#o5mMr~7XTQr|shV(}B=iUrHYg)jjKV%Mrd+*CP z4T$5q2lZaZ>y(4>I~?t^E>*LDfQW9A)19z@pJn4Zm(r)C0rYQ_)~A_bI^?$qP?fgj z3P8fLj|QTTV2k=yY+`M&zw@6(!L!!-P+&4}hnCG`MDLYnaD;mkJ^A!ey2~bZ@n8eQ z6~s;iPq(>m+w^{zf({D{ZdD=1vLJ0(Ia{}!K!$JuPiHC8WBr);>b1jY_)N1cY76Vq z-@aB)p4pYv*t^!411#MTqaetDG%JyUY_n3IZEPVDCz=G`Cw)Sx3pw8vr;zit8?tUnZhgcpf1rQbV|`qt{K)O^1 z)162vxvj9nX$dcB>Okrt*0Lbjvc4IvDslu^wAgrF#%*QJ@>klUmGy_j>lM--u)C}5r zchIug@BQqDy2h>p9>@eIPblH|EL;TUA6R2YFMpCHa`c=1b`XfA&)iMXe^Cyw8OFkW z!n6rYjUT|PDQj*aCX(PwUkCeQ6tU2~mD6qFeVZXB!Ws-?4kZ5o0o*TK=r4&|4j%}J zo-hi#bXtuoCohRVy%d#d8W#vad7G_HzDE!$Dl`Sb+)~-z{EZoIwCknCqSOYb81L<0 z!3jo8taZu!*XIb0v#cT_=NhghiM@36>LV$ygMp5r15G45VBz;WO=>1&1w^Ja z$X$Qp3Xs>M#4>*ouAOD0i)bp!%E{PYr4d!ml{W0PNLp9gDxz)E+fN%0-D{pF;9_pbz-emW^~4#u@6lhDlE09IH?7t{I3dvE zHAEWG5T&e)XnnGG*iryFarYCpkqmjf$~AiY9>x&%HHGCt_<*XECenlijI9Xp2A9}v z{ZlHP06d>LcL@7Do~8wmT{!3dMir;R!#@Pv-l%lNC< zm|FAahJjiWLe}Hcm}#KWRAGX&CqnKz15;beTy&Ck-Qn!x{2d!PXM0WFtV~-Yq*6V2 zb`5239WhQ9JEdcRRf&n)*e`9$$A;>|+XL_-K*+MfkC6klGG7?@^^4{N=iEnrfgo}- zESI}TqLU7r0F3huX~f?73i#lVYA1w;$&jJU6*(~2u102omBf)H2fJNo?`V8Jil@Xi zC9iT7*@ykX+b+p6D&$L;V~m2WwknXX#y9ozl85$yc+7Q76DQ%_!@ol!X~8ovl#_8N z!1%k%As));B!jZEuf*H=0mk>xlx&M^h zMLL+P7>2FAr)?n$#ygVpREY#cSq3> z5ShXX`2FA9D%=H54yXg@V$v%`fc~LTN|7LRuk`7Xblc0g8|j6hnJT;AMlO(mdDdiN zygps<_aEZ7JV8Qzg5!Yn!=VPxW^He3d>~+RHRkMA=C`-(Nb-8rz;cye@5nSU>V~U2 zEw`8B&G=I-WOP-076E^pu5La?X{3>(O+~cFKt{^np8`AFxD+O`|9{we$M!(Gpj|Vz z?T*>8ZQHhOiJ5D;bZCm@9d1vpL5A&_oFQ__JopoNr!xF#?q|;c!`afx& zuYQc7sd{^86O;dFG;Xjz_z_@Pg*5i7JT#$8_Iwg!Ww-OS3#Z&uRC+|l+5xcf$**R7 z+g-yd`n1G8NDmaE3&_X2KFvLB zcZpNr`sPr)+JtmBx*SlfIm9N4I%st++@+g5qQ3O8LhZv%?uV4KYj3_d{NiDyR-4?W zf-rqFMgEIc84-Uk!#94?z-jy!UD~cl_N5J1)B2cfRPJY^!j*W~>q|79dL^3oG4}om zEsc^YYZs;|4QTI@>=2z!sIy%u41hATOUQumGtxu^Dj@MI#sz4ZI`F1_a=H5PC#VwR zXD&4>Q3DwlGa=Thxi;0}@-n*;ynwS@Df21S3(ZBIptFBwLVX9UpN?H*B7;m9BW4E2 z_#sqlEIb%2g~^uB0?goknc0#T%Sm0(u3JiUq_-0JmYqxnuI-^)m~+HVYy6O|32|JF zeS@gGL|V>Fus*OrkB7YTf;Fd3*tdsSZ;UF&W=2!h>Z;blwKM3Y!7QOUXhOGK*`N4K zCd^8XZzz|fDjC62jKU`nX?@9EfEGAra4-lWfWC(d@oV?w|*Yc)EhBuTV ziDDAm{hn}__sF@ry^csw&OxfFdr)I)1$N57V~slk8#WB1Fu9m=y?eJ^r}VFDd&w(d z#FB*i%X}ait!db*L)cq`8-8Br+m~m<&c6V{U3$>PT8NM>($E>E$g9-y0klyRVvht4 zZ)BQ*LVrU*Fr0}>N@AnKwt1|2f)*ZhgFwM-;1><7pI%#yXTye9z}?9UDuVu$+FnF} z{E@oFRYceVz1v91jmS(?;>hKGX2^ohfT!)S?IDm)bW7rO{9`<;-$zk*%g3>-X_TQk zVamT==8@$|hH*eXD<+Z2i1^4psT*M{Sy?qlfqz=P1{>~NeJ(8_aWTT94fVAaIoYe% zcvSs0_B1@RlbF{8-z8DcMq9iF(<&+QQe*=nBM$@x_LbwUmWaHY;Kh`|i>(Df{g3 zf!zL0boBLG_8;liC+p8OYP<|VZf9KjY)xsH-!r2xAMt&!xpQJn;@7-b!v5cMp1hzhRfB3TT@$m}b`hQ#p;L0u8KbM=6*F1=cslC|eR_Z?LlAEW~6Oyi^M-8EvcH7afRq!V;VE^h@pBrJ(=JqIPp)IHP0 z-p>9NVmxM7z8>gGOU))kqNO*O4hs6Rz_DrkTNhL733vQ3mQJ@)HdI?W$pY?Nb`2rP zDGd7et@VKTE?-4UjW@c$Y{vJj92j~4_lIh11krE}4e_{^3ObGPJlbAX=mgN!DF)8* z)0G}Fo!x#7nQ3I!nn8R>KmxCx*Y4*q^zauW5@wxQnZ&ckp1~s2Ka~K(vgkHhj9uSu zzBx{7_J5LUt!;ld&JBJd8$Po^g9bjGEs3AkKf+z(;6IO`Yzm?rH+n8Tx>8r0!|RJJ zzpb$1U6-&MPl9`-J*ul(Pz%C7R(cWTP0FChF$Gfld(5KvR6$<2_8XgHO1 z2|j#@b8~npp>RhX^{^W3NLq150PR#8K3S?5wxNU2{mYxEZ82QQ@@vX()$Ad93pn7D_37tM)&kB?j404h*7nuxLp6jmM zc2$?Ko#FcRg2}#9g>~Ug;BIvW0+gR!17eNc|(u{M9y}>|>q7 ze_;*%N(;SyB;-25DBnNNVK!K5+c9be=#vpiba6cki~@Ri2j$t74$f79GSLw?HR>zN zq*pvK7?oIt5lA3Xag5VIb18HAi*)4a-lo|q9o4f@6t6XNfoRq8kyXt`z;WxLj@Th5 zq5<+rLZG&T6-pSh6n(uAbZ|o@WQPCMq2h}hJ^sF z^Wpl_P?1x*d8LQyPqGY2PV)94RvVPFCuaY@FrSD zXhDvmGG@tz`P2GT^vMdrsCJQd_&}6FcyGc~#iwf!RIUk4FChsR>=?KxN* zte&!{lFk9pb%VPAc(K-s`t#jQvCPjPjE{_#oAYBA&fkM-Q(Wm9(@J)lZbf7qZKfm>7(`CNb%23!+JI zYAPK8_K^#ebH?6~5E3Z|ne+5UfdUA>Tyrnt5_rHyJ!=!(rTnB7A)AG`O}=U&y+dEB z@&1AzYx6jjf=39aq4zb6>tA4UJ0_#`yp^z&{4Zs?ivc!vKZk?6TvhxSQ3i%Ov?ijU z)4ZDJlpSyK)#a!t@c28rU1)W;Wb#!$;&~;-FFZ6XZ{K+5U72vx@XitwBvgf28O1^} zFa-dQZ^4vWaNV40xQe-72&El4zBZ%@lYJB4(5&JKy~6(_Nat9NZ4kN%tY3^G=`Yh) z{^$y9Y#kac%#Ox;uv85~3v~-*f?}mc7Rw9bjrM6(BHC>Whlr7T83qS@*NID+1{oaf z-|HZ?86l9Yh5wxPyaRjLMHAI;ND#Y~3#I`6UH0X}CW0$V>B=l>P`4aEp2qHJhqrCy zZ5nH#XcYU=Ck-5ZKDwuu%NugzhLs%Qb+v2n!Nmrjj?bN5H=qzul$ymyZ1y$t*8B2&UEv9(=7d?SryPOG zF;jTpyUo%QSTGInt3pct6MxIM?3t_N{1$Tu3_MnE2M3e3Y!=kr}^SQ6Nw@&PVX; zBc4-0>4|VlsqMbvVZ@r7BJ^p{wE`m4+lXyy6gK;YJ*)OIBs`d1(`NL7#BaljrrLQ0 z6H*+J>8sqG7L@q(Tm!tj@)++G*~%w96Ry`@*|JQ1IuCvRXqyEn$iuk5kwrV2<=H<{ zlm3)hks8&ThucQywFxw2chf@9E09eczY&^jl&^H^`E4f;-dRCRn^$PRstk~`_#`#& z7YgPla7eMKiT1*dJ>V-p@@d{a*#0iP@LN6XFGl;nUsv&;$-w>BscXUQd(E}2VSfxXRRBib*SyCjLh%&Uc#bjA$XQ3Y537^OOi%KDgo}VTBSE{ zsN2iS>U2k5n+W-QjB3&@hRbUn(%;D+(R`ikIuHeV)Yd>UUZ>ezm>dunIADLfCPtTD z5Zh=9)>K79nyLJQmNVI%3kmHP_y!1!67KF}MUhdR1H3QWU~q)o@C=S9e!*C>20pw6 z5yj6pZncZsH8Z}=LHv3J+;~5FqbI?4N?s>>JcVSn=dsv+qQsNE19T(1HGmeZYA7&e zWG^%E{c>cM2h-@FhX9C&4xc({?+_Lmn_T2+@}`xq-RH}9%U30rr9*mWAlTl_)Y63= z*+iD5OwcxDj``#B+~VfS=@?d{ux(7j%jBrO9X2QOXPhs{^^E{FJgLas<>OG=LWt5d z2$v!Zy3#l|7Jik`aUNsB8;Ebq%$r`CFbUp)Tx4hy8(qc32Lmd=J380i1NR>A`&l0e z9P1cQ{=H(*}M7$wE*f)L8$ zWQZ3+IBF@Foh8Oq?YZpuS&?>)igFD1@|Emx6D;Pq`lQ4CnGzOPDFf=r1ZnXoPY*wK zxOKaGCMs=kUw{un&|ClqI)vSgSb$aIQQ$hl!59`5mVLi0SMBd~qUJ};?~M3^SKVsK zR!2w?FL@@b)$6G>Pmrg<*lU98YE^g^9sG%!vKPi63aSs41MQX{>;w84L~-Icd^ZsK z_zDYd9#n@qC5+Ee3uK)bev8os431%XG&VG)i02Y-2*4s+4K?4YdTl|kItoB8ySRkC_a^1Goj;cw&-jZN{t)}c-U>JP!~q%gosgBn6M=Vv$_cCtmiA{pJqPW_IZ0QKhx?r$je1I1Lh}=&K^y; zG2z5&egJ>&{mVjeXN(Z06&u58qAd7*{qSc~m?sC`Yi07WYV+x={(*~YS5{m_v;>r3 zT}`y7fljIT$Q^DBDK5r=gs9!Q_!yfL!rSyeDW1S!{MA${31yya-Q#PYt!>JjZQl18`xEY^ULZtZPpkL0V}PYx3Kl{UvQTayA2_p* zxaj9WCBYpUYvqy@(mtt&fbC}d{765!cWLhA__MP0}upsVG`(@gzq@kEL(&qh@$JCNuw0TqXx|X!LPhK;tot`yElH)Eq;v zH-I-7lAiH;vAX8y)&2g#5Ik9>^#dt^Y;(eHpS&UUv6kR%^5}XyyZEe zZW1q@QbH|fG6M|?6UI+5*EW}Xs|{aAyyiBW`-1GXuC)4xj=-Rjj|Sn}dhd|ZuT3`W zwd$Y(uIiq(n4KM!@vpn+=dAhi^TFLD3*d=X80Z`hJVX!7M;7eQqlLBT59PjA{mqf7 z8;hX6>VUhZe@{+}aB@{gCv1%-*=`sQ_Zabm#R3jD4IqInZB}<6!M`2DKDVO61 z4`R*{(-8eB9?F?H>wl`}nXTQ6@=^6Ng>5?Mok;qK>R}fwNc%Jdep`ncCFqr$H3fS^lu<<#YmzQ) zQyA@1k|-M%54e`_d0Avu*Tm{@0TQkHa(-HxW*qLQ3vY1CIO^BBq41|o5V;|9<2De> z2EhksYaBBleUfGLSj2YuNPap8y%HgRVaD+ssyB`~{n8#?>@%~*7yZ@TeT~H$W-%m6 zXIZK~Uz46Q;lBKF);C*!yU2fo{kZS;CKY#8wfhbJun95we+&xD_WxJuXkr7$#l`gh zqflVxU}FD&6$)Ie%uN4dP~c|eWGDU~gF-7b+qyqKXWW0gA9ZCijAn|bEni0+Ru~fs zsmq%G>V?{FPvuT(b{Tt{1zMZhHQMg$^yS{>5y!+SS=UQJS6)=Ic+K(CaFE-but1@XB#H$v{!f?=xGkYT{KBU0 zo1yQ6|HTDLe1*l4-HU$W1@w^sIKsV)qeOmPJ4{@CaH~*5&^D050XshJzw}8!LhfxN z;+FyZFZ$geArRSeNH8O$hA^JJFLc6+Fs)A-vYBn%GbAPm(o<+K5TN(#-Ymu}onmr! zYyZc~56Q_2W25|v{LwefiEm~Z>HZB+gNqG45Dx|eVi1S}RFE4o;D_HAp(HrMXI0$y zow{375NH7OyFR0f60m&nh7FtkwT5ER*Be~XpRf=LlKy4fftrAA73c^4DR}>hoc1l4 z`5ku$n7@5%kUy_&eIfJC=l%MQC%gb@etv-uEWWaZa6wcv9yNFRFf121nAubh)em$Px&>+0L!Te5% z;ql2{pa#STnK~jH-$tCjk_J)3ggQVH_}@XQji%drk#&>+kUr}#-N*1DI+z_Xh9>YA zK|GY-vDpdV5q^3g3g_FJKU{3Sg}gws|9zvqf@HURdx3yvKlSpy>Gp>r?B2ZPC69vb zNcr^r{1ztO@BfA!4X^GSCb}@WSA=6QQ+ft&_@qvI;dVrLygo?2Y}K&pa&i(IKZ5s1 zxxeVYoo$5y;wu#RjdtAh&>Q^q4o<=}_TMubE1V-@Oi1$#h;1t)aPsx2pMR1{ZDH3| zweQExU0nT%xzX1d*lEfpvJY3$>tcN}p^$T3J@DG?ZSn5gGTvPmPQ~irWjb(!u##Kf zXjB$ND5gKD@zfGSHo5jvmp<1JAhsCKe0nK6n13e&p5^Wy%gGiM2`X@Bm%zM8 zQzr7M-CgeQ?$OU96#OP4bBx@|RN=CpbKap@I~wwBJY0NDQVWugBrHN>>`wO)0uaLF zbbMkogTd-Gt?Az5~}1Q;ro28z0ha_M;^5T%l13`lpGbS`adHdZr4L+b<5)w zQDOVwj_E6E=wjEj98dmuxLcB)I-&W^-R06GYYFBQQzl!F4RGT>@>^#N_$=XamyTI5 zq#95Eq0$*(_{|?V3Jp!gUc<>(&G`?lzWAd6RVRn-X;d@%U(%Lk82eqS?!~5T&dJ9% zpM{RHd=nz&?>Rhql*&gVhq6v69}FdX!j=YEx+^UtjFHzEAOW9aG! z(2L~uBkQ-!(%83+0tAUNR|wWW6&qUA+yM$AXz87k8Z6IwIXd{U1WhVi0qb?B2I5&A zriaI)Hk-My4v4^5!OB+&06>FCBf?Y>4Ub@S6W4P*l=ZeAnVMd-!LSK3%SPXOCOke#7Aq;{IXzy(-_ zXNv_*N?`XCkA0!+qv6O$Rl8YST(ZvKt0p3c62LLUKq|laC{b`aUFvY$j2|j%iDZDZT>Z=;J(O3SwzTJwAM!^@bmhe|g^64YkK5R)TgpukTaqBPCDFZQCtkal*(cruh zGpK=QW>!XxP?cu`j?t>v`T?WeSdwABsuj!MAuo`;< zRS)5gb-~d>lx{E1igjPMBRWQn*CtP?+$hdZq}Pu_QUf--<;rI1gHa9ORdW)fTR-~q zl_mJJ0=%2qxMPRM*HCHeNR_vKJmSajo_gkV8`S8zYo93`+DO+;IwQBsy}=RBwIpvf zlW5Q9Xw?IpX2ymo!ui!-LXJ@^y&nt)-921ZdZ_5gUVOc?`AN_2Fdq4bsm#rkA^0*m zu-5!ThkSow9oI_>KZGQJGw1uF!^D}aE~TNRF5v(re8S%E2K2qD%Ee|y&f6t1G*|fu zkdBt6WZ^#}swRm))1VmE&D@jXn)5kC!mh#_I#%ubs|-x$XS2OA7q5#6jp(xan8V=m zT5m$jQn$P9q`ZenBgpFIHq4^p$%!+|QsducTknj zn%`;(S@>uD^Nr!ilqa+)^d2p8&d!R%0sbE);8`g2W(9s5cg_cEMgM>+?hj^4|Bfph zinf*BX~8Vbq;t$x6m5_DMv}y|J9LBm314`A@w-fDKe^KBO1HG#2qRhGJHLdbxf_MS z6rS4aGW+y#zhB$rh6cMfu zr1seHb|JFgx#o`3$mLc&%%{8!`|3)k%CVl0DNX%Z;~^;ByB;6|WzT%+U~??qJzCEr z4`K8zQHCJljd2N+OKf}X4XWF#jT#;qEzD6S4JdYR%E;A#G)0xysW3ff1SE7Br|A9t zA@w>U;#+`yxpI^0BYxi(=RXgXw-cJ#zjU53Q__6u#wVY>5nK=?1M4L1rH9SRF3&#B ztq|Wj)%SR^7`BoAo|i6VTh@ZBiC)&ZV^D_^P+jw}yc2hTgFpA`1yRgmH}>4S2gJXdkflh;;9s(bS}zl>Lw~zG!|iT zdDlQC40_IZW#&Q#Q%B5-;jBcW>hT55;~p)ODvxdM2)l~)T`u;^X+lQTi&IqW?HcNJ zl756u$6?j>ZPMKrobQ($wRbAL;c~K?xF}zbv(rmOrrTm_%h@aT$u9PXcf*0C82CQ6 zaTYQs;L3MThlowuxRPAv9>3Zt+OkT6Y*~{0u zCH~Jaf;)Elg^BE2+UJhBu;eV}OEeWM`d{Y{{8bQk0@Ys>f{D%>UOpno=asFxX!7*6Pzd`?Jm7rk%CwKgk zye_=wPixut!I;lk;CiLBHQbMZ}&LRU!YW?e(eu#xt5(UeK|h$}vGSdF~kS<`ieQn`p)QgB>Lsi-0# zO(Rd0ho>;KoAT(j$vUI_Yf%I&2kmglP2dQW$6UpQy~h!#6Nc^^-2^{WzeEv|xAqH+JYKf9O zWLnc)WbZvbis%E?dsZOHC9AG;(ql2BMu`CQzT!m|7CWgd?dtBC;Fe?s!q@B!n*_Ix z6xpt7`B2IYi&tR3aW)t^n7RqerdGfDHy#{ZFCO=c?n*J~Jr`G#Wj17gs}@x=p~_EQYd(dPY0?^Qx~1kV=A} z#YEddfzPPCnL6Y=YX0X;&yYNMLac;X19UZa8Arb|539E4g@^0?DK4E7KIVZ{@4;sl4poyAf4v5`&S zK#YY?=^?OBg06oxvZ#QIIByw#PBn+)cKBSYpGa@n;weTwyJy|L98LCH?Y|qWE`kyU zk(|H5Ga;C5l|kFfk?Wr93)%@NjvED582Z_BBK7cC9;>MN>2=u{*}=C*q$FdJ(XAew z*;xj3>AdLD^^*-_ieuZuq@Orw_yV$X&t-YIHJ`Y@hN z^f$gmEsaVYZMv^l7rU~c!yBh=633jr!-<=lU?cL_$&X&ep+f-siHCRI`Vf{J;dJ^k zl3sa2Fq=|u_@ZfD_p(vX{X5@^jE)CK4GqvR%Qm_|_$Phx)bGfvgwXYxIMys?@JP^0 zjluuv(7KIMMv3_>8#H{b8?T{X1Jbz&?L2Bo9y_=@GcE|}7TR@t#q=+Idfs>@J*mp6S4m{?;Go25Q;cuw?{H5=!_bUF=zK=ZbtWn=&+K?TnLG#k9)ep*A3uu zDoF@=1}^=mS6YdZ7O&BaAQ#Pf!<+#L$-^KK!{*@yk$YF*DBt$_M#EWiV!Mhyl~b%{ zSIUozy6dx^*|U3ep29smMaO`RR{2qyf)=Xp`i zT93p_<)UO*zu0WgN6<2EMo$>n(+EyXnpIo!!!kN?6dn&0aAwEux#b1AdKO;z`&PWS z4A8(7B|=X9oWZ@h5<#nDQPwmvs{esC0_N#0*nC7X~M8uKIX$hTMc0TI80AM znLcDDQjveNs2vOM@YnS|uKJU!@bBIQG^)8g+pMixschZJV;Z8O8j{(-#KBR#u6%D* z!7Fkue|2_*9NdEbdGIhKrw!WwimMBq;GUyoreWO-W7O02_?M^^R&37?9qE)PqT28# z0w@ev?t&yFgjFwUM)r*{*l3`uYvz;SW1@BWy{*d|(lYbpwgRclb=jU-{;|L;@6}<% zNO*86%pWqi`+N@)fz4KVMy$lv@&3k!E z#%uDq3{K)?hDq9Q?rK`lqA{QY<{HBRul&^>{Se9{TH1fCwOeONa=Z%PtV@ zttt2EIYN#6O(HZtSRr$$Kfm$cB5xrk-UI|3k&Gzt+e@y`AssKXHxFO^{g|hftCUv1vz3AtmHTtB zz5YGN9>;N`Cdr~9RlL91KBMGQ?#A3F*jWOKOz{xgWnTX+UTA>K8Z@;hk$xk`n_m;Y z9!Mp2gj|Hr3B?fmso_KKKZ>_Y!MK^3gJ(Nbjk1p$B4FY8Ji88(SeKMlu)az~L!IYk z@77}@U(M`(DXH8Szdpx@6x33rQ%WI$4uVb6B^%CTbwt> zS7)@m%(NQlTrA*pzHD*-Vp6Fo56Op>P7ae6m*)I!De+qAI(tNn+ZMJ1N7#i&;Ll${ z-nQ-9WGhxBmdX|{G3>5n2Dt&|UL8l8IE&##H{U|NU%t0QLfW`_p{m3at-|JY*95dd zW3HYRJa#h1)##~L@1#@BnP(Du^We)K>@ThgyE?zOp}PP!$0s~^Opyo9GDMyev3BU( z9#JtdEA8hQwOSgHm$GQuLv2I%_yZa7#ac19%cvHkMy5EZlbba7m$%Tr{EAt6geQL# zuTb;7=fqT(zk7xyPD|TgM2XA=lI$P4Un$`$$~j5TaI=QZNE6zASZ(`h&EJfPi`7jb zmYAThWw-&isbQg%8gYClTq)g6o&{e~qciA#@!8axv8o@&>aa$ z@0R4r(1ml=8%KUlymhr?JcuR>1yDsONRU`ZMtGwV5yX|-8st_BpPW=>g(@i!-8z+b z&UaF^0aS0euGarVay6Mv=<|Onn)rZJ|JPvxb9?}-b7;cYIH6D|=0{$w_*vDIbKZ`C zsgwLpf8clzqf&L&8h!Mbuh+Nw_b7GoH%nn189!0IgTBT}xd{yxCQ(#rOiCo9^Wf+3 ziIA?m)Q&yqDZK4N&K{&a zg*vgqK5cgTg@WyvEk%+l}f(TzUaFk-njQ(9rQKl2sy9S&C&*lq0{1(_-_UyeuM=v`_B}twjVn*7^ zD|p|c?T+y)N|4J%!?0z-m7S42ntPDmD@@x+HD6n_S6Um*7fGd{!%Lz)vMu=HImizM zv!13z8LkD;k>zkSPFCkj-MOLiam*R~`vc>;?OPNDOGF}%1B7qKqNpoPEFvY;iGUb& zKf+N9q4fe`9@UfuTjy~iS(8-Tf`7O>Bx%gOyz>G0$OLsVqWQt0zri+Q8ih>k?>ED|1p5-)ST6d7|^wInVvQJ6H3NgSM;+MWa43b{V%&p zSZmx>B-Gw(^nSwB^pX>j+N<9xxSf58^Jn70EDIdFpY(&~Hf45jT~Ez?K**;R$tGj* z1R_gYO4fyWFQ3J_|ZSKAqkW zOD}2s>b>h~^&M(UMuQ5T{kf$vrVkNsW3ezY z(aAB(X}Zh*F3VI!0$_>oYkAB4=$0^}^U(&b1v>;{s5FMFmVR?CtBgHwB3hs8iNei9-{jG(1j4RJRJIZU+ix;_ce5R!9@hFf@&aBT2altw%0~( z@3rtJu)?mEY^P}(GrOZb12+O5)a`uXq?(6o|HS?j!P6aBw_R@@xwkZ&)Uhq0c?~(@ z=6(Ad`x>%Rs2qn|Nx7dk{vD-;GkmB5li~NsYGOR7x#m@;7!Y61EzjolC0brw-}I#? z6PZ8Cl(?#XosnV8w*;Ig(hmn3GV>~E>9c+kar)Ys!2HR2((Dcv#W(NE&iWHHjo0hp zAe>s8FyRr<$oXl{N8_0`#O=P0Wg+&{(GvA@pe31daU*zX{}@B`-o4E;=x}=fpqIMG zyveZ_L$h&92YWPM8wGl+E@Vne;cI~+Af8a_mHmTT%=h2fsrs|<8yPFc6q0{%(At(?hNjo0n4L$Lg;r{l;jz$ zjNQgj%>wf@eg%wVl^6AsQd-y8X3;@^@Yl^8#Hichy12m)UHTX2{p5HE5(M{%>2uK; zu3I@k)e3uzDo;Yfu$6rj!6&=_B1riYbOu&Fo^g^ZNwZDUWy>g4-@8*%;5>`bbknmL z>L6OEvY?%jv};)_pE8Vlba>u9BKrwFVSrq7tY3~kOb_r*B@1BUX()%z4sX3bm-)(V z-91>eBtZX5+}E;2=RzMIN%=93GWyrDs5@crE0tx!&x}CuZ_(2chX&0dB&|oW_^!+B z`RYTdbw!t4z<3hEcVX!0hRn3p_PfX`3RpYHM49(4*jihmaGtl^GYA1&1A@aO9(+`J zX!OH2kpoa@XQ`^f@wGFpfRCw2__iv)l>ccg;m8S13stV=gJZiPxg(^$f2^*$JC_sp zLL0K)D?x605OpZu{k3^T0xhNQzbBL@n#!aH@np~UT`_!h`gE>074?Kaog0DVu-C1D z5eG^H{g!w}LRthjys3${lLoFyLh?8pg?q^IR~Vr19~W*{DEW-=jhSTSG5r$Q^u+pm z!V9^`p5iv_9C5`C+|3}+kgXz5GNH2x{Nvlb;y=R{A}~0TetVTpE?g-rny@O{Yr^vt6fKXP1Q+gfC&*UgH)r%cyO* z^aLsgZ%<{ar=xwz!Ge1h+>LpjDW3iL`2gM^373e9AiW zyPwM*;Z%&Z9kUwLl92{pb`}eIVj7)cDUp8Dv9Y9EFNt%kFl(LdTcxHCwGmF6v!=en zuk#~*sc0nIxT=45XCMCX{P==rq3Wjqd}frcY41Bsk@Yu!L^ZtKh=*83!4(0`CXNQK z`SP6@gDxdZSXtDK7{ia@HX@!};b4?hgZYouQw<;U`#hk>I#y=dV}ocf&#u)$$HHQv zRU>))%J&9T76?kO>SbuDB3LYy5_RcBTSsE=$4R(*zBWA}p$HT9%39e$?*?TJn=u68a|opU=bIg@%C3wX7nIm%INzI}gH(k|isFykBe7SaO)K0W!x^%huPX zHt5TgT!=@UjPr4s|HM9JxL6Bc8=L4Y9F$EHA?59HV+4o;VX%+M(zE+(s)yAp*1y!~ z-SW)?BMYZJew!H<-D=cya~r0y#qti_o-*72H0L#gOfcSvfBlmQ@<<6p4|dbKAkBZ= z&%^%Qvt5R^CoKa<{ILp^!FT!j1h&b2rJa+i>9$dVe9x2X0QZt?)_A2Rsk^9}_XKTp zf((j{553VyB+l$;esu={Nxe9Pz!BVb@ zPT?$`kT+Tp6O3r|<{sp)54meWGPitY*}j4aNR{HxVKb^S1hhODSK`@X>;^xyNYSUZ zrYQcFW_X=Ikdt*JrGKh!q~e}_gV}ImbY#j*eo1xMbAQ`%}HN|>CqZ=Kvq(J z{Q!ZGiTFRj)c=Q08h zsg`{G#6ZIZ7vVMrgFwjY#wq1V3pU8qhr&Aak2r`8Eod&n&6A9T0x?L6E+Qnk*zIG4 z>-YmW-fF(mZ(QQs-g;ks-+bSkxevTLKe->(E~?%crzX#Y9)QP!rnR!Ei~{L50ySVt z{{aGqOZ+eHrq=;v6z1wIOo(Lo8ygVn$3zl0^@~zsgDQ&@0bAT43`7AX7SkdiB}IY) zf9*GF06>*%_k_gDp$G8F$KcgONp>AT62Qh+*D;N4!~YW8*J%>-#(=}1qNDGAK(N(|wte277uo&GRnp`_*>@7_+mYgw3*()` zyMh}cKw8jT1hL^AOa%Jy0FaHoUQh6l8<8*lE61lg5txH(Girn|7nd;7Zd57Ve8d4% zqy>$o9dX}+_CTfLM@Hg>SpYF~EZj#3HBN~RVaM}WDgRG414UlV%9(TI@37 z?u)HhkD)nJYjsGIh7dP*f1(vi5YONE_(OUQGm)#O*!ws8%QM zJuWFK!{LPO%dICfYu;?h5h&%9I2B9|W$+&AxZ*a%|!p5(O57O{i1AFUO z$8oKKalx+Q>jO={KzbaMkhxGU&yb#Z2NAa=R zJ#+)`FEBB?L=Z4vkMGaxrU>2D%2JZo-+jP!nxeA7V?h_ka$e*&VN#l;H>kfiu@F%J z2@?t!Y9NR>6XVx+HBbmH{&5NRk*B6!j0gt<`hAM!D*t`9vd;**@*Ncn{xV~tLycg& zEA;f8uz~OsBFva5;oGtDTj8~r`9m}18++`#lf>Lpa%9{1Y5Vq@48dK5%jX-?Na{T9 zFN_d+Xd>ucZ^7Ri!NSE5U9ydwFW$lbW+Or9~PqWr@SLM>%TNr{`M#E=HxB;8Om|^$N5_PDK)30CGGz&8zKwAB4#R>=yOsVRNew zLdQvMNa%I!uW8}u*{M&5V_H%l{>f|jL(z$ZFW6&B>Unq}lO84*6-NWdtn!}1G(Mmte(!rsr;Y?Yg8=7Hx*_CcRHv0%s)(zZRWs?;! zIZ)J$0AA>f#MLH!*6cou{E~(D6`vNj;vE~uJ33ItXvc1{n+4Bwf;N>%V8@F{xOLFw z&ftzsL#gl=<2^mCDV=q5V5N0V7Yrm&cnq_$r+FkKd*KzFWjOu_uclXN3W#bT8ey3@ zJ`MLRQlZD5TCMU|y1jmCALNx29J{WEFV+TT!0*eWK{{|-+6)~);SA;#K0H3upZK)Q z6fU?vfh5l?wo4CA{OkKI89zV-9A0 zAU%sldLR$`m7oqPiKP=;Ib}J*b zNW)fgMLZsY^}_- zr)vG$B{2*lOxUNAUXFmtWcw75NV#xpeX&Y|yFjmiu2RE3o;1o@YZ+5QzDh@H1%NHv zDXvP{DM;6rXXE=SfHxA#5x-$hvrW8Z;9Nj+C6IRhXJbO6DK)(Fgo`9jSohlI&AhOUUn2MwQ2_w?FIgca`TE0^h3v!u=OSZ~N-1$E|6v(o)@tib;%vo$Nc0 z23ePRODuIT!HriqtaHtGw(eV*j&6lrP;U(UtcRYPI4&AXfTpo3;Dmq7NS zaH)3%wLD{}TfT~*1$n$)YO8cE_b&X^>R3T&yS15%fswzuCe&8i7(rj+QCVW-F5~HS{QWU3Um;Lpk zg6O^VOm8Yq(ovs@0(S%-3t229+Ml7WucL75S`r0yTza{VeJ7T1abfw$Wen!U-(7$*`dfREMvy6(Gv|qjqT37zA{*6SZH<3!o@6 z-ftLNxmcCRjg#Iq?VTmxiZA^Ft?ciah0%bh$WLBA^>q$4$u|6piBP!9ZsG(tf2 zVTvIc?xz!(tq1egR35mq?CzS% z54j;4IjNca<{ZH$|5Kn<82vUY>Z9di!-WH*JZ1J$-gi>Eyth{l+#I6W zcNstS4vgPktM#-{Xuzk@iWMJUHGL8RvIb(Y$sds%-3gstNhgEUJQLnIC_fP!(yRO^ zlfL!I!^Qm;xu0CaRFhA0uhyz!CAkmqp0@P2B-uG+LhUbCpBE7h7k_AwJiu`v%AC?8>Dv|Gew*+es%9_M z5HgZ6tw8EDMrWNiq@qJOQSStMmTz=?srzj&NCJUfjIiVGcD;j6Z<$+=G!W%jA5JX6 zt~hd&elwELaa8yOMjy4j34XXW&HUCXCF;z%%9Ve{Rv_5^o>tO5wm@>pc8NrTjM=5` z1iELhdB#lg(U$>}%J-j#v|-HxWNr>-KjLS6@6W}fbBpo(=lYh$oS5?Jz4y3FHb$Rg zj&s`t-}mne0!;$i<0?67KJ0N3*z({F&QK4|RB=W)ef4LLHzba`(Kc$@{ld_Eyk8o? z^)7!;?VhrA0`(}UttPUBVQ5WUs_(n4l4jI0R+am;ZoIQmAf+>_$RjbAIZ|De>W|Bd zI-^9qSWW)N(C*k%Un`GX={)WAVEb|hw}d1*gCIbLjbJUxw%vbcn$oelFd^(@cZ2)Q3f)Kzb7OvLlU%)m za#>2EsnhEa^IKc8&w0u6r`;x-<94L!Z0sa5PU|(H^luXVsKIvTdnb5PB^E`1chl(aKTBp#7C{5{`c6jU}|Adh>?-_Y``Q_`EW(_(9#%BI(%|gWQH|~D`duJ6g zeKKOR%OIlK@ds%m<>`^;**HZlJqeeAp z)H!c<4u|)<(}Wy4M}#0AK1WhN z^d^2|@)fN0oGKvUtHEsxyLW#Jc2(GW(GL4bVeKvRFBs~>`W5P`9D#?6Py`;U0~@$? zC%Gvrr;rH5%a%0Y~EU|Qg)hP+&ef7+y1)b(OGVEwW18iZ4c3MUaaC(Ohl`1Xsr zUh5l{JZ{F{YF}8c|vAw@qAKY%ezocCIX)ML2N>sja(q<;4d%k~wodc_;B85pe zdJ$wbCQIGp!WD0>(;zJOVcDIrxZ8gbFIY$X0XrVP{j*sWPBnihlcnD5ghgf@nz+BG z`2p4;eR@9OrmyCLD5D~0wI27$GKi<-s+?4B^2=m^#b~yUPmk`9!^#4l%Z&+54kNTE zu+4mpa^sk&+RRZsHZy-3rz{99!u)u7GrRb%m)0veBSjs1beL|PTxBe&!HnnxbT>S8 zgpjCMo?2}8L+kE)N98YRhKy{D%ieyg14>vqM`SYsbQcU&rpl-{ zmYt8C-2jn95wAckhy5!)bBaW5!q{QCA4~g_w-#SM#Cd1tTit)WsmSB3-7gt4)*KS@ z*+1ojI{kH@F00|~+~vML${T#Qn?6Z+=f29h>>h*D`Y3B8dxKscu07Y-Ikhd4NmZ&jy0V%}&gIX#@TXcs37Cw^dF#eu)1PkL9huVvsNb5X6F9Y@uMByG9b zBvlm6s#y+e{A_=szDM)X6^KqfNp~Z1i4C}#6HrBPNh>H8&C>cQnnHz8u^(*eZO6er zuqLthNFuQ?xv6sOVuEzdn_Fpd?{x8#(Rt5@KDB@d;^E_-1A?<^gRSR zmSwtnRz?v;@P9oWfpIS-ptt|t|)&F_IP|R7qI%z<-qms%lWaX zR&-g!8+2MiTz(7F9X@n0pJre}+2q|p&$qKbPXX|L1`#f6JbGisC)q!(*o8-X!)0b* z79;lAXMo3Ztwx{hqxJiQ*D)m%PW%j zdnAOb=(r1QkchEQ!a>ru{gbNB9Yb4FmzLm_?X}n#{SNxX+J#-?VRA{EPiqM6mZ5Fw zJQMX8jU9fb9%-=(mWT`n@z1+u65j%DqyR1B8~}exLPW}y9oY2L^7f8tq<)HlQ)iOJ z?zL^|vvfN&TTD_H*rK9byaH60Z=21hNqIK~KO9q8rqisxRPc#^G8VCPgEn&Fq;yW8 z6W5oepUklN$$4Q4V&xOBAoFnOPVY!Ps}!wM+|5yg>fZ`--}=8zOBNKUV^r>_?h;_1 zz~hD;B+#icjg-h_=14(zW#>a{t=|tQ(fg-G>qO{s>T$A6O~6VoI%a2xNIO--rf>7a zb*DYuKF}E(V!}r=bx2NSzEW%Qezo?V*Ia)y8E|SjS8+HY8~cR|VU=4$>+&|r#=#q{ zQNCs6W>Q6x1rD*uRiW7H&NpD}Oq{a+39q5YZ^uJ~xzx^FN`J+Mc3uJ$3 zNnN~$fJ^Fv{ct*bBiQ8l4pB*MmB6=Y9y5dxlVg5mH*_lRIfBhcvolR*oAA`3#|-SI zdDo8t=@~UMIH4pXb5bYj8=J=YIixGngs3_rpFHX1DlH_4dqJ&pzbIV$Os}@|Ai5#1 zr4*b``ayi3o|t-HoVe``&@y-ZhCP3_k-)dCdQ+!8W_RYMNDa&R25syDxnk)EYe0}{yS_+km~xl8*#V~Qa`K!hGDwuJfR#gab|YRkzVyxWJb)9sRN*5*L6?RA zmxuS<2Ufs37JM&e3N~eCncNeawnOS$b0uV-*8(d>K25J?MkYouSqZai#aw^;TN|+= zj_AJ9f;d4!CFD8Wyen$~QH6s>@hF?45E!pSZpViojghzLp{ION70#f(wE)M$H`jAF zIo+A4HHYj@g_F6LFY@Uk$c1~p}Rc-mzL#l0a3@4_e;=_XL0O(!8)l)%a=!;c*<%z<1qk$?CsT#wN(KEm56W-4EuF zObiaYFWbi{20Y81;Z6dO@Ccnr5>)sG`?$V)wPryb%+A_phyB!Z7=kbP)mCo)M{imG zoakE%Bawts$^kg%2J_+GvCgh@nH7&pg2nSdul>Q=wkvYcpzvL8<}`n^{Ribk(-0v* z*vh;VGY|1vc~BPz|ICAK{Pjj6GbBXuS5{_}mXk+iiFZvBd=(+U9(VAY`SRrXZ#xc!&(l&f`$Fs6P%kgvj~FV2B&Pq7Yl6Jk>0u0fV2lZ7M>uZotT za`JRS*xqP(cX#-!d9YTB1{a@W)7@{ngIi@TZ6@SXfa;wz&%=MQVRPe6&+d!eVqL|@ z)M;H$WJRB_zht_4IDToEK_S$Us?LNxE~IF1bpSvlCA-tQ-Vb$D=C-KK*(JdDi0veL$Mmw5E zJu%72BCq@i&#-?e8)HDG+23cLe$CtTzI~v5(fibh3}<9N$ZEUZloPiu!Sx#Qd$iV6CdzpAh9~q5A0$u6Q+Yg_Gzth)TUuuW`I5`#Vq3>aG zNU>GWn1}^@oIYnN98Gu=dvDZ{oH>0Xn?Q^*LH?V2^9B=bw)_7`-rT-%RiyZs8^%s$(aABfB)sfC~INKaCwO4H$lJ|sFHgerf=CGSjE)lJ06`b^`cxlHhXm_Ds~ zp4dK-B<5>$?9jn)$#XPNzMy+C{&hZbC6)z@<7mTI-!xlb=AeR#g%a?QIta z!_C7F8E6}CZW$jk{}%ltxr(?-M-zdCdzXHb)2XL_ z+3shY#QE7_(UHsw|M4@bcjaI5D9&xf@vs;aKp-nQNL%T>EwqO9_#9oqL(8e3uUl4F zD;=PF{Ri&%G?oEM&W+Tu!Rc6}MtKT z;2kED&Q#|Vl~HpKZwA=H1Fz6|ij?Chxg&*C(UZ%t{{c;yNH_{*Ze(+Ga%Ev{3S|jy zWN%_>3OG14lW*!35jZvqFHB`_XLM*XATl#DH#wKVM*$QCGBh|aFq45NCx48#1yq$= zxGqe0NH;9HyFCQ#7K)ORxT2PRdMq0Y1OS-!oq&x3&?|ruJ^Z#SqI~W7L=dJm? zH7C^Ms_M*Q7LH~>X-AMNGdl~L06;?N4Lcivjg6Cqjg13|np(rg)gJhd7>Qa7=I#-gn!1ARlz$vS0C_ii06QmuokxJ3SAdNTz`@4G|38L~&H?~QQ+FE+ zfD#Kp-Vp?JL86v$bn+Q#K?xw@mJtB0vG5C9g~+n57EE?^HgkOj~g06rX`E~f}k zaRP$=Hdg%GfC=zVZ2;^n?Ei-Q$NN_x8_-|Qrsn334o;>ZFB^~*z|zJZ2vCt$WO4O$ zWdfLjEPff9+PgS{{eMl}O>OK=&AU!j!3qA8o{PD&jgzYji;Io@uM}B- zg#lMt3S=SS=->bZxw;_z;wNe23^WIq-HY|_&f0+-JwQJH081N?h2^g#EZm$}H9J9|BI=cb=eEwAY7a_5;11xOJT>)l5D;p5f@91DL(DH8#ZoadP zCqSPKJbUZ_wqHO0ei?$t%fb<4@AcdKul};COUNl|YB2tt@xMB8aYs*p4>K1VfSH4v z4Z!|u$aujYet-WBqiSmN4~;*30RF$(g3I(jjNShk0J?vcgC6kTSjvvzsRaV) zeh;|;8#kLd_!s;C^Qiyj^8YvCzoPu#hWvjMl6JGV|4U8xm;V2wHg&ME_xi^GJhX1E z-~~`}1g`<;f17Fp|6W=ppoNW_!~fRGxtf9(K@4PN|9@{8ZCs>nJb@OfHm>H@e^1Nb za?M{`W^V%msye#Z{JK^E%;47iFCBQb%g;Ulg#>Og7;yu9*ulGK0rdQ9hykoDAV*iQ3jmy+AHdSl8R=I?dAI?rV!uRxBOU;& z_;17uV1JePjrahplD`o@fK}>W#LEU?mHv&`0jx5=5eI-(_BY}Lu*&^LTmV-2-w4b_ z;Wq+vQT&a-T$FwzFc;w^5( z1}ruEjlk^9oK4N`fZ*54()G8T^I!Sj8~3jQe7yO;h#MTt+|eF9ZT}%!Qfn_KYar+k z3$V=Q4+u`z_74bdnB5-`Tu%ExAh_0lr1EPLe@Es9yMn+w{f8c$oa1jYU}wkwsKLoN z{Z@m6If0*Q(0|&_#r}`^X1@b-gPmM}4mSUtGwxqDK=(gN%?%FX0)FKFWe6^i zi~WD5h#j2A?_X{p*bcPyGMjzy9L^0zHA|Nb@s}=7J%%RUs|6 zm10C5%-bWcC#ko!Khrb&%saQb-J`*OqOVAQx9WT?_GzH=)zYRE-IeG9*^|#&`U7P}5ZwQB?AuwOAPxPRh%gf$Hn@_BbA zeox50k;lfS#|PU5IYfNS{l)hz)~~GgRJm1iH;HK&wG zdKg`HnpDU8?3FlLHNh%i?No3v>*-nFEYi14eq(KKB{~!Ie(e1?b-5yNP~A? zws-uwEXP`9n$7XtxoYHFM^Vhfd$mFR;=!Ta{MQzH8`mWz;zl_8j#_u8WgZdY1F`EG zydl}|+uj6bwY#XK$cRNj72Ir2cOjZl{?rh6CwHiiL)X@LeZM)}UhwF_R4gY+O`AWj z)T6L36z)53I47CkMSoBkD2n_3sy>jTs#WEd4gw|p)p9I#`pzOWrE%*(z1G$E27n-UbPBZn2O9F(&A`-))z@^l zF)=iG^a>W(`G4*z3HcESdDmhHnl2w+xOkp#NR&ZZV_jqIhto5%(?p3EQLJAF(WGas zJSe2OKgM~SsYg)xR=fl`stJwkjwB-^kDK_{31yJ7vwihNNO=)z-gh{uslS^`Um37I zUHKBSTDBjEP+MDBnIz#lw)=%us;Z(}`L#{=)x#qUFP@us?F%aa5^2<;5PU@txB9sU%~$5b$;ygM z8SmR7{sa8i{j>>NbVE-qa*x)^_cb#6W%zkz4oha#Z1bOC8SYI|58=DB6Mt6|SuL-+GVEKaRi!wx1xU5T=+(s)S$Bkr zagVvNiX}3|a#wFM>;=nxezYUgQ8vx#z=EXV5-1R&AU;Ec@cF!%b46kv~;#SoRmc3R*nDIc*TbKfTWBm~w ztq2UfzKct>FBPa7sxMdW!C&r>fPaHb2~N)ogu%`M)`|BGiEg-O@gdPBjP^c+2sc2r zo0)iHQA<1?PD0sLRa5tIZvxF>9OKHYVeDSL5_VFC;;p_I%!)WA#y&Hrz%W6d<>Dd4 zpfWX1+&wKV!MW^~;fP5zRLpV}7M0938>SXMzLFWz;G?dvP^+xh2CvsdDSxEb?iHkO zHL}efK7VM_3W~L-v$rbm$XGC&D2rJpZ`doIPMZEN#s%B9ARS2^SlDB<6DtCinS zIFt`aa51v`nd4#+n+8Jj{?LH{UzWR@Con^-nCVSm7>jXQ?2H_lpHm#{t}NLWr6j}4 zPbH^l^GuT{HfKe&4zlO*f`1H`M~stJsXZ4`K-@l59nMpU6%)fBbPr1mSedZTq1mmy z)!m-0p`9Or&|VnZ4yI|(VGB|KJQLugvf3cp%ul!>nq?ApN+9v|b$g4+=1*sFLLzyw zoa=w_Y}{COWfyZRE6zZ15*uaF=gL)|<1q91$Y>65{hD{I3?#(2CV!S3s#-?wp-3So z_1`KHWaM=+$n)?dz|`H4K{8tAmMR}!+DpX2B+fEkYD|);y;(oq52Pa%L$R;N8b4+? zS>khJxo~4V-khhnzYrEYWeV^fs2Qh5a%`?x{o)DT&-U5n9mY&Q0j4&)wCCvY)L!x` z!0OrILrkrwme*D70)NJM28AJ|w?BSzp_BW02WkdM*oTzsxt<~xXL0`bR5+jpU5PRY z_WN$vVhd5qn<74lF+1h(sVId?$S;$Ex$Os2iS|L#_jGW`bJ5Bdkp+-~YwP(I&!wFY zKOqy!UOlcdv_uN^7G!_g?7<4bDu#AxFW?udm5D=@kTMC?+JDcnUTYobrp8fA9Ffj< zRBi3v7{>?>pel}Ur5NYrY`Ib8pXEQ&i*ex(hom*xEF(oda$eBB6Hxw`f7I_XdDZu^ zo=gW+R+YzcXz!5wO$xkm z6$p%PQf7|yo%7Qk`*p8+uzu>k1^TsoniHX)Rf9Ox_FL0om2>J zpGKFBrmdOFOk_+F7U3 zbw;b>95A(-!U{45eS(%(%*I7Vpi2@(s@nbXV=NV^tX7%CM?t!Fb@9~5F3oJE6LjE@ z`_n|RBG(XM(KJsp8?v#-=P?4)ed9!Nb*X75hb!@t{WDbnma~J{%dyKR?9SecbCBLD zG($@B>wm8|gDzL6j%nCtqCOwIW{?rcB_znAeDKT>ShNH5>W)rGci8Yi$ZKX!p;j)c zpDn1E#|^G4MyAqe6os6=!(cX`+hd{lHu|U4@a^5R40I>eFITY1cr!y_Tw@@`8b>WX@) z8~UGxWe&+L~bB9bL#xRbNp?bSz0e|(3syn289Rch5#KjNL`t*R$ipls+D z9Nz{q&26rAFh-18TYJGbky1{9Me`f#`GNh2vg&AF9t`HP)|Ie6up z#ebhJYF${Nk0a}>=q|r{;;1p9xeDu-Z}1H#%DD721PPG6q2f2>!KR70ckn8wx2YwF zbRXEa?Y!15ic;);BW^_UM%>i?`=MvG@t0ZM41p?crNRoB)t%!-?2|}%tk~u<^je~T zq6b#nywJ6t`D}8(6_bz0hmthf#DV?ATYocZI*n9tva5x==tHh@d1Wn#0sYe~^SZ=m zqH`de66d5>#+OH+rJzm()HapJO;<5xSY}03P*PN~2(0l6u90!*q7`;Rt$!wNZ=7I^ z32Ein&msl!@Rd^@V0T@|5?RHE1|;E+d-mVeoIZpRmgEFX(zl1zW!%-~pR>jY!hfq1 z(4rVMUI}cu!pMKK6+OWAEU6BbqGOX86dY;7SyX!q75laCqn!qA<7wtA!Azm}w?v@1 zEw><7dqoNMM4fH`_b_2H(%TQS-ESxIgG9EX#=O}j)EV1}b5+^9{7HcWQ0g4R$ebne zNlFWYA)oB&&L(TA5J;PV18Uo>4u4L{+zPyq+E2hpU;3`axfRn$*`%^Hy~fE3F1Hv> zzwbTWyIq$>aM+rFaq=HYx}S~?AnwSgAmtFIbhnEpvj`NZ_ssL9DjJSRAJSfn&kxBN z5(TQmvEKkFFD9EXtkH(_)xs35i*=c|-}$RMKYN*S1C&&CWxh_236k=|#D5SQ!h9Xa z(}lo|3KiuJOjuqWrz1qVP5&T_oY56rKOiY<8=muO(*?&F=bh(L64DM!r|`nqOhrZZ zs9kdTf_=9jO;QD=(C$KNh2Ivlg z;KK^akbXyOu&MQ}n6u}?w0}&D+{>$FQ{Zfp5j)eIJlFFSHtC(&sM7Py`*l`JKhD*p zw8I|-eVY_AUz0G(c4;k@T*l$2$aJ(dpZp%LYwH_yyK7^NkOQY?scnb*$YtA3qEuvG z5C(>0$&Bynq6GKCt47WPK5WQ0xM!nP1sN_;B2mr57o#uIN?3~oaet=>g{b2{ku?AO zQQ2`OnplRPftYGqS`)~Oogx-s9vQZ8@2Cw~qeOQe2j>h?Ur4!VGCKy+^|4(v;qD_KkeI<}v$fQnhpN$me4YoK(fkJo*lsVYcL)-=2sSaaxMKTh+y|aVrh%T;A$BZyi55 zn!wa`ezi{`d37xi7qehN3jZb_dKr)?=8A!G$Xp!HgiXKEWLlgz&}6+a%CA3F==Or3 zzKhSVkU$WE(XFBI)l`RS%fo6Qu}&pee*?-his)@$aDT2Bj2vCkON;F*ZpFf4xpwnf zKVNIocB&8Fk{ei>qn+^{&AKs+txu(T0wX88-J^Lu>FnRnYwZK(f$cdICJrcTTkHVBu4?LE$d3pV>eRXg+8a_9A*; zy)U9Z4Pr(KH|+BLBy(a`9H;5eeSkhuFcAir)D%&7nk3~MFMl6!DHdsR|IyrQWbpW& zApvLRNo{bwNZHIXlyR}8Z6zerkpeMhzEBgf#eaMJ!s@_k*mNs4-mOOZ%Xo@V7naVw z*K$K~=@`^KLkm>D)%6RPhz^HgXFOMtZ0c}M+U$9%QODR@MWAC<`e)6b7yc+W`3VVQ zyuwHHy?GZYvY_}(sHUPaF*yZz(z`o7(o*jb$*-=WD4aJy%+$23 zJ*7EOVOx43ZEKS)rIrZcm)V?w7yotO+D|P>`Dx$erY0S9zwtr|=g5A%UX6aS{yk(% z{3oc-xd|Ut{RCknDJEMKt|uu+K4^TYN0Yv}H`pb7x-ptcgeD<`Mixv#Z1+8Q1AmY- z=zfPP>o&#nqSo^?_L(+AjkDiO(37$umW=a)Onpe8*wzf==OT53tNaIeR^h>Hm6zjm z5@)TIpiTl$!^%du7Ge60ldO(f!$A9tJ7{jlwpaSQ*<;dzub7l+ifFNHzD62+Q&#Jc zJC~grz8oWK7ts*-DLN;8g14*uf`1IJuG6v1_D!gizS(+Bdj>A3mCLeGTC(0cZjoiK zS_6vSNF8>ZnKTsS;rGOZ9HFP&AcZp~0eM+*gRF}j^9B}J>)knZeahJ~VSrRO=lb*c zS$Cb=Bo0s7-#E>)BPJMHGt)PURwtphFFZs>6kT)X6^|UU0a;4O?$WjJqkq7Fmhl7B zfbetyKZ6{bAMRwW0fo;T4#Eki=7M+c*?`-Ybh;(<(0pF#mFjBIAiY$41RwglN6q~7 zdk^~ZQ!A{&iPJh>^V@2i*1X>nPJG2ybigBLA&77(ub9BEZ_%NeiZBaj$ z_$Z%luvCppT1I@1YkstVANY8O?hE(Bwau1&yf;m3*ZDaTr@Vc<{Fz`#-o2Aafy@^Y z@w_H<^pn;~e0)06=f^a)kQ)7^6(P+I9RXsPcMFRm=8V_WYu^xmDt|XGiK}z-husEu zR71uTXHs;{bf;Ha?P=_{EN>Z^ebw$kfLo-iVxR&a!+!_b+Gw40bARZlG9b5)a-q-1qQJ>xJcIt%$ZWmHA9jN*ZSlIy7LlnCaS#e6UNj4-hf0;XE zDZ$uc(*6_}<>U$J7M%9WEeprnJL?|FIWI_wdRb02(8e~>P~aBR5Sq0xd5xFud2pI0&btktI5e`}?N-~$QqjqlUv$cgdGCDs}Q(JzBM6sn0ZUO=VtODFHx zM9&G8{*RwO%{WiKbK(SU1w9Zng!?pKWBYtoAQ0rL$!__GR^iF;dfq=Hov%joW101_ z)WI^=cYjDrQ|RdP0l^d0B8SsM%}=8)*rBiI36j`~=RwvINs3Z+e(xNzlxIC3R~5-? zGuumjj%&z2O>$7cYAzW|93Rc>%npjN|0Rrf?I|*zBi3+UH zQ3X3b`kW2Rc?!PgIvHO804uFb_ZP^~=-#Sn|pczHPjxDx<(!97DVg=|jb)9kWJez9N>%Mfka zVcotsriUhcpH6vwB(|3_?qF3k2EFa+h9%y=xSJAxk$^AKq(#JC#`_VrIa*tRm)iW| zoRpn_Ve`$l)nA??V^ecro8E;rW$8N<9j=C~@(&Ui&9^^#Q7=x&@|JiQBzNF)BY)aS zPVJ~mW4KuomHBkVzrU*xmM}9%sYczFvcx`Z_<&L_vF{a7JVFTb3bS29LIiNIVV_&_|ASBCb2o+3N%`>cgx@%NH)(H?rR+KWCTNMkQqz(LT z(G*<~XO$`%q*Gr-D2VHDBs|Whu7ALmF#vsCGbj}?E#a~a14_0>zJbd71Rv0? zNbMCA-WU1-Wv>nYT#lmBDz6MPqVLj;1ZSKq5LO7qdYe014~an70S0bS(LZpOP*z3i zwX|+6Vx;wFFSNt-Z&tdl!O9iVZ#`646@LzEC0mj3W6>z)I_r*BmI-#6j(?GFe5q#@ zS)*B-0}b^~V<8fgkY?3)y@9R|WPz8rboTv*L}Go+k1A%(pqN7iCzG4_HWcbD~@izXdYO% zL;5dHY=#?VBCAA=&rrv)6xI@;fda_F*)mK)x5gO{osj@kdxqAYAQ;TjoJ)^7`i~gt zZ+Aa)K1IzP!%qyA?R-Eh@lW;0w!$9}ygwIy>C(@QLc1Ew%&1vRX9?lmsWZC5di{=!t`TBPQ6U8=T2@?9|6TI3TY9#$Q^tdvW&uZqwYTkXaFyXv zd(9Bro3=OyH{$@6KXMX=b%Nqsfqc+N&ADZhm15r=pJ$%f?vJJ6_;omlo#(oN_W^ue zCjQ_1-$|K($_;s_qkkLknmuee7S2AENiJFyjXJ1$o{guy2!0o$NQvO(RI(X77mO(o zbq$#H`~t%S;^Xp}uAw@c%)qchF0$J!`#c%|oMv^VMOR7EfRzA!x6mfdY%nV#nI5HH zIy`J-V=pEvU!&7a7i>qBRuh5N=^p$_Q`k2({5oM~)3k$=Gk-_E5D>wg{Q9d@NCNC9 zOyY91t|*0XKdL|pw`?R%lgV@VMCR7iwXPtW^Z4vx<&u^iuTWK;C za|$B?KzsCZeE~SRW}1Wq(WW)lso`W4xb&*83g!C8IY?nFO1JU%*JEetXsP0>?`_@8 zUZrYENle19paG5aj~aBkh<))+@v`EM+%JwiJ-TD zKk;@Q)m6+L$U{{aXd{z%9q)VpBj}D48UokHR&p_0^nb=#SL(a+I4?x$y%pKdi&swH zJesoO2;5G$JL2Fag8F*0JDT7il(zrf~zy}}J>Z-49 zRCMlgHUpa?Wybmfg*4>V!iuoa7=!Q=yiO|c$FjJc!o0`c+LLVvU!%OwTG%6ydQSHC zqfqmxjDONzN3Ynt%XuixUJvD&%=JpuIi0TA@;kZ;v2nz|UgB=9;P&PimI}%Y7%eVv zXm`|9Lr<0WrmN6;>UoItv?GLRToT%wd?&L4nwux%FiGZV)t@V)XB)frru^JLL`}cdBI=L@d-I6-cH-vcE5`V|ZcHyO}JqMxM$G)5Q%djnoQW9huf69L zpxfcvlFH@Uu;P^>{T4!PzKF}Ma;O0D(jppjbx9NB4|p@E5>Ui;XQi8A-5v4OfUz{P zb0ZH93t{qt4O=5bZ@7*rtn834#0;Y7wtqxl8OxHUZhjdkwC6xw;;jJAGG}q7^N-pf zkY;KOjf%-+sn$PN2JHbDvIwIMOD=bqJv0Y5%*0f?JtQgj2JENPdo&C%yvOs|VCPD6 z0$j&l`So8mcfQc}758B0F^c9fNfJq7b;T5l;vxoz_xZP2dFc;tC$e=W540^JkAM1C zJwMeci`NUJg?vg$-ieunEG~$b-2U0vEs$sl6Yu;}qsl?LF7Z0^Y)nzjU24eSU=xHi zm+JOY-?KYO9GC*(da_9@=AmwDe~Vn#kFJ-0vqwr$RI4?o>1Gjs@WJ=VedVRUM6w26aXG$1ELcIWQ2B~laUdLw5;C*aDO4THoaP;DLKL&FmQ=z6o1Uky+!VbX-kO z&w5n&=H4yut!zZXe}7%eBbQjazGF)Y(6GJuxh2T$wX85~1pnMId0t1OgRPgcRkD0K zY;-bIaZmMaVDUJ}Rl{MXS9uxo(7WN(x~Q5eNpR@l9$RKP5y?k)_bxQK@gTJGEvli+ zBP9D8s@_cOG0BiXq0x`!esWR)Hi%t9h_ZKVTj?jMdw6LJuYcD07vEb{GVFZ3rjB7@ z3y~sNl4va3%pxTBd)w?mBwvOxOR6c?C8e_eEz|A=mpJK)%p*q&s_X^NfOPzz>_{SW z9k$!*RBuf6oNL*^HPj#FNH8r+$D+$mz@M5cPIuMaNhf+z1~R&Cl9ab-I)N!uFK*Z? z*grc^KRJ|sB!BqkIp{?wQ{6nwc41up2=jHBWz@E_KXUqVdvX7TEfXg*NOMCPVeO|OJn{09{O$s(YhsC}co_}K-YJi#hi)kzp(XPhFEK@&H zk%BVV!%{=}=j7SjjRUHmjcbq2m`tUgGsAJ_66R?O{XC*k;$>bS0YFK1&$}I+(Bwh= zgSaAr^cr!P^$s>Hx+FY^Nb_~wjZ}?826Ur4-Tst}+zqYIF9v{OKK;SsJj3WvkR&-v znCf@*wSO^sAxJH5bIrtQ_!OoJv|&x&=QzE6A&PX)nM$(t1mT55%#9V$GuIbtS?l|U zcSC7B{vC)u<<9|zg zmOt0)gG_qCkki~53(EUy7Aiv4m(GlVF3)K`HGibAUR=jX!t$}=R99j*CwhHD2d48u zc1CsD5A)JE>~Ogrw1GZ^W22w8Dsps=7j8F&aKej$+FErg9;7yzjI+h;>CSer>5Xki zklZ^0s7P`xXHkDY3d|)}Qzz@yMIwIYBa-h*^sGKxCMZVC-YIpt3($J;*?RXH7cRH$ zdVkC{>%}vRWUF+DQt`HC174V8a=c$K|AqY zaSh14ZOgUENeMMKKkt=naTR)F@6^UX;D6q433LnEZe0|rMH)07FiO2`DR{UtFfh1< z3viSbzn-%8rB(a99TwS&sdAft<;uX{IDYfBm^9<8%Huoy0$WH&d<+c_{S^Ea3TMau z=VtX%nY|4t#QoUiikRi8&BkxY!}~uO`;oL0y|YCW?j7DkJ%=){@1s8_MnEadM}KqI zsX!V|4LIy%6 z;K9aTwHAUI78@%LW#xlStKfr-yu9N;CB@-8Rzbqt$i z*Xl79*cPFrIy^jp97XG6yCd@FO7nxVH1d~m~hZ-sGd zcLXxH9+9oNgp=qvzL4>M$voLRz?`E!ym3bFfz^<7^0Y9gp$FO-*3qC63JFyoo4!kF zP=PSdT-3zBmO$A~zuf$ObOh6^cwa}ErqnBhbNfX4EU#7UW3wio2?I|Y7JodT;@ixB zdvxOURrA{>!RK?thRpSLqvUGFxX}5xP;NE5ZFrzJW?H&wblZZnnv#`)Q$KVuU{>2M zUt?nXBIU^G$A*WtXGdLq&egS9cGZ6CQF|oB()0hrh2pJiiEnsZwN`5q39A zeL8eKuBL3E{8VY)3psh{pZDBFYpj2_S(|wbSGc4N$s}p4%o-HL+RC#fl8ovOin;xP zudq+%Ek~(FyBs?*S@Z6_;X24JXjyB1imm<6p7*`%!D`dv<3Ul zdx-Z)1lpv~Xe{hj-}Zszb+}#|Dz29MV)o2nIL$&IVTgmCs5}M7tVmLjEyI6gdWx6P zPjbNVBDPTokpMg8qPF(-iFu3)RD=F|F;nd*IuF^4^}g?xRhh<^_dasPPcXeBt4z(# zgYt$yP2Svp1L%tNJlq%0Z&Z_H(rt1X_*ZqMo`ydfsg+$?t>OBGbX%QkQ7zR1EXPm8ke{h=E}ZhV4%^2z%i<%GOJ4b6fofB=bwH-cLzHtoA4O^m(j%(68vp%xMb0GfukW^n&iGR6r z^-v#jle$1zWL$GZXL?mJAbsszGw4xpkfHH3@3|VIulh9)C%s>X__NBujJx>lkqCe> z&OplAxZ%v@be`;Rj0F9$3+st!eai8}NT(Z1^;4omhh!lQghGG3UVfdi#S0w|LG07w z!ho-1{soESkrC78^X#V`{~Zft=!?*JxP-BYiu!bC!4;{IhrLtZ%3pB)UFtNGJkBw);kXuwBPK$ zH}`S!ctorfu-bp^@%TX6!x7yt0_kS@ewg+JGrw{nw$HXI6~*S$%o55tq4+juXYFGi z-4@q%snZG4-m*Qmcoq$Pq!6goY0$N=Jw96_So(fv{V2%u!B=TE;#e|a>)s16IB>m0L{FbSU|3TFz4J$JqyPBlGF|YHIJuP z+xdT8md=OW3|JH*sxM+n(OApo&QKd8N_xC%QK=lnW=I*U-&3eC*ag#|qMuSp#$C8Z zaYX2;#xRg0x{uw-$3+RvVeWU6@>MgiCm(exQTZ^Wn~()@@sM`zlU9aRbqcx+jGLBP13m7oUI}t3d`Q$IDzRa|-$V_y~_2`P6?v zhZrW-$mUGQx;2oC_ALa?PRrcVPDWq;BOTf`Y2)`inMq8)s`KG-`U(D5jY^9FB?cKh z1S4lUh91x}Kk~@T6b|h(PePByiZPS`Aoimzz?Sn<4u3nVZNSm>Fl&F-TIzCItM<=2S<2`TsRe}-lLYz z>hY68pca&XyO_ zih+6zgve*aDiv}0L%fjNTkWpaqO$O0`oKN5begJg({^d?tq?*ljrQXTjtYN=Zfy43 zrr9p-B__Vvp;b3$;oOVLpx}bg0S$Z&d*+5LPIJkQ%%wL!v`2W$96 zWT{t61t=dfPWsca755(X;eNb--K4meuJw)QR>uTr@4aiIH(pLzX&o$H$poJ8F=}^0118 ze+K2(DsQ1rU0a_i6Pm{AuA*hOrfV?1PrSfu#=N8YXbv*U^elf``HbuwKGevoc)s}q zo$1X(yd;79NQlV6ktC*W0qWqo^4y7|vkvV&YTF2($-oiQZs1orxVhlYGcTy|?suc* z);U!ZR!#3w>jO&-r0y?A$Ix^s$v?2BeqJMZN5HYuMBKiT1WV{!Vk&x|lKcjVNK(qS zbz)8e35kxG#an+Sk_uY^a#-8}!C?9T{m{SW`(rLfQM|#r#=EiDLYm|}Zz$bs?cr*LH_21CvT4ILm-FY%bQ^;xAl{6OVpUSb|LBP*UqsVfRr!p(XD5U_g9|?dyMkA@}9bef~|MsBfz(`*$o~ z?eDC%pLRUkGcR~tA$hfgd&rmzx?a6KPdo6T2Uu1}QSQ8c_u)Cb69kLzU#`#9-)Y3^ za6}k9&g*}H;@B72?4qi_`ooCl_H=u}*Xba572$@) z`QE+U-+_OMl&fszT;uUE=?Pq6P-#&wl zDraE=*{nnxV!3xcysOP&?Z-Ycrjy}N6)Ttap_H(%T%-BFyT~DxI>g(vpG$vGxUxAQ zOD_u7kDRZxw`3x%jqR{Vw%ObDA2d_laA8g}I*ILNB1`O|sq#gi-Y~&A+GW1LWyp=m znx}t8Dxzq_heOs$pOKj9X(eWbw3=XyVenei=v1%&Ig9a-prZ8it?@Wf(tfwJM@R+R zSmtT28p8lgzLaU}q0w-snaxc|1AiU~g7q$2#mB`xLJHX%)(r?dp)7bP20bF*MIz&(ZFN~J1)RMJ*52a7lBXL=Ap^`E#FFLc7CB76@4J-fl$sq+ zqG<}!Qk~-jd?M<|H&D;auA-dQf1Eq%dmXJ)Rxknc!|EBEc~i}MznWC*@DMf4u!MLH z&@93%>NH|og@Bd4#~o`jQrhIo4Q+foEM~%J2x8Ob?eDU779t61i?9(Ka>jqw zpKgk=ke@V49OvN}5XmWl=v`}y9p&%PT2gC0<&mqGO)2>LiPd`LMY)+ebx4()2^&Gp9{w~Xqhc`_(tElz}PRMwK!UU>{N_F|{O ziQXKxKrIQ(2vSyf4?x}ed{Sw>4Uy|;O)(<7>f4)#fs>(#M`?Zx%yN|zQ_b$B^y*%N zC7NPjdeKZk)*uoaV)3+TS!chh41hqN{GO<}Q@)MI=23lpejI8xy;Crh6d)5HL1Yz% z4M$61vReEt)Ta7S)GL4TCqKu0T|%VG%(Lq2s%Fs!S0U#|XkK_jP4p|WgwoZz#gOyH2$o`&`^JjJ^D>{svsINaM0sm zUL-{r^Mj{{ZlXXc4lxFsL@H}hOIW8XX+4IKt>%!ROGIvBq0BdA{aDfL94;*_Ey+_~ zU3f|s_okuE2Esb)CpUcx*^3ggHTX2w9O)Jn8b5}FQ7F4N!nJ3ub%c8X1aQ_zUX1my zKZ4^UK1W76%shV!K6R;;mu*HbpbV+bL7lR0y@6~XKXk527HJdf1C4|et^TnR8&e0f8jV`+?9W)*fhketZjkq{6TRgVJ_|E zi%AB{l-h9R4`EgvdomHbS~=3k4%_vWl}#pv5LN_8W`Y=Alph`k+ngmIuAhSUTg{ae zj_9Yf9_S*W-72+|_?NeTEMgE(dt^B8$M80fwK$g2e?IiSd4D%1JM8Br$DozLdc5b0QgF6;b?D-*YR zauuw<1)UdVY#@agSM2q}Ae;Amh^M?P+|+*!rT2d!`utm;qzES(jNgVrz@u{dr5Y$M z;#l^`muGoAg+N%FwvIY>tkpcK9$H|UbAFSnAsWd?N2k_ZEvtfom{Bn+Rt{N^42W6) z&wsP04Vw=3Lb4-=4ZdKAhnoV0z99V*NSbwu{FPjlcZ<4eh6uXy+%N z603hAh!0lc$wu;y6LzGIOH*Yn)+U@eaOO@3&AZWp27*7agGkZm$DEw#h#%i$=u7Pd z?@=g;1WoTx!A@d7?}wa?q25b<;(mR{h$tcSR@cY0D- zfi}L9hzF=s=7tY=(%Xq^_gm~DVkUg(4X0tye|IIP-lV;#)irW_tox)Y7Nchpy_G?7 zo%}QRr7wBX$;h-El?9N@Pj;gV-qAHa^Cb2WdmzJ%FExh?LesrS;`YS;UzugQsR~ow<<6X#WwZIKPUJYvH7hb zzot#ClYh+Q-0RQhL|46|$~TkNM3KfH;mfNV{In|OkOd}uyobLNR<3hdJ;{FD$D#DHEVi=4*c#upR-1g)=vVkxx{vJ0eeOm}nAsX9d}D1+OyvfGzYc z!3DM!7}z*4+yYu^iFRz1kpeAW`u4>nAUR{Jy8+-?Uy9z8DyZAnK5jc9H%nsUBeIPw zx90hZCoDT@i;mj#!P#E%wnu4NYPTD!p-GMpx~IqyX|q4<);;l@n|gm~B(4WcO^{JH zv5Q<-73x64C#On$WFZ$iP*?Cv3}51e5$`GoTIh){4r#(z=KC1h?Zs;fXiD;1thO() zTuPhe5x<#w7FLy=)~U2WTySA&z*&AW5!h>O+k9Xmyv3uY{#lQMCGpml%Oav4Y~9bP z3Tv|*@4{6w2Z@)YW0!yGitrLeL>IT`mBxXBM|@HWyZG@F1w%2$Aa-l+PKZIjjm4_^ z+g>UtGQFrD#d=1Xzw8HBL2;wJQsEWAR#YVCbyNY^q?7;SM?1MApQI+n!QC4al#^pt zP_0=_u8dmm5vuz7r%Rn2SsH*uMIO)38it@-gdeMX(0BQPZ z>Q^Jd8@B1adM*69BdV@ySv6Z;j(q=DNL`@Y+y8npX<&A>&1&KENMdBtcI#7IANaA2 zt{7sdwf1MxCKZ32-$t>-;0`=gtzC44ac}+S9g!Zj`kItUhKbrvFwW9b(e3>RMV=QGc$QdwHCcw_ zGhjz=Ii^iewlb z>nK0OApEguRPqWKyc$L8S%}*LyUI)8`g|7%uwH+UF|swR0gF0-wXsC-{HWJ+Kb818 zU7D?!ZHk3mFF9X2w719jjbTzV2*U`K8EWJ?$5@#srakuL6dfXMxW&AGEx_HjkOq{` z_qz53>UpAxc(zkS5i3aCu$-&tHT*I&_@i@MZ7jf{;K%sG60%ebbz|#JwHi9J&~O#- zqgsE3l#{g>!=JhtX0i3$lz77qmnyi=eIQcLMy6-YTMXFgKy^9oY15ILOJm}v&@WOg za)3}<-p4!sWA=%p+rBtCESJ3(m43J66yKld5MC3IGQ2Sv$Kgh7ln4$b&G>h^8g01k zUxonOLJiVKuQJUZZ+k(Det9%&Rh}Iv!FzuzjR-Al1>u9ob7g}3q{X^`PTAm&{mFB* zu1K&$lU&VPHX1&05^!dS*S6O;_xre6Xgi`TaAndFeuNdcveWnCH*8mZlTTN|zKGfM zeKNgjx%#my(O5Xf_yuK>Ww4P-RI?0lk>TWIPRZ7c5LYK$2btA;Bc^e&3gjfnV;g^0 z!t2MFij=#O&9E?`UQxFty*M3(J5FF==Y;X|z3h{PlI5$7mq?pXIw^E&^?qxg<@v*Astb!=GN6snsb1&alTAJe6Sy6w?Q&EsQP+2c#yj zN2uG=f50ax1sJDUKudnFT}~xH!%haaG`Iw`_lZWs?{Q|sGcUJ*dly=rJpRn&rBlhN z`1~V>v{RNpGTb{;D7B(X=%J=n1F76JNRCSaQC)S3tiYv=ibR{^1djqKrT+>Sk2Nn`T^uyME4X={`y+te%7bf0 zuvJSgI;<5I8oRfkBt;Exkx_2X1e3gVMNTZ&rfIL;2E7|yM1wUHrG@;=S9x2hq!F?q zz`xx<@mTj?70OoQ`YFR@JBxoHP8T%ZE^@n`2JkzzZwUvG{?jG2CY>U}xr2~LRir>o ztL7-HS6n5jLSt~Em+pR`;JVM!>rZcgn;p5kqW%qEi`zm_1umUNTZ#Eu2GmX|P2ce$+RN*p0U=6d2wte5 zFDG=brmC~*jC~+gN;aTU8Iza#4$3~>uZeK@r1j81$9kCltZ|ZUQ5sCX031(7nO>Bz zY!DAXWy1tJE6x33qgH=Q%Dem?1|p`7o{d!~SaQvSkXz-c5L_{2wB$9I3;G%eg~QGD zg=V)FWfpjtUjWtMC}V{h#6+k0$9t zRP;+2udt>pl6imWbX2y_W90YF&z4CNAeaUS)C&XVdMofIqbC8=&#Q1 zWCIZuUygjck_(FG5B`zOnT9{Vx-IVZAv#Gen{iF*6i@x#Ga{m}`lQ{Qoy4TcYrA=& z(7;dYKWoWlDW3x4yr--O1zDf6?=Rz8>^`@Hb2XX^eS&`#*#}*jULnvsOqVr_jFU01 zKR4}TrFuYJ{%8wiA+V8{(2$)y9MvOZ8?v5p`!DLPI&Tvuy@|;-Ix&wQ;-uBCKqd|R z;(qRn`Vn4Ki2gT=%V?}D%}9VP!{FrmvOh#E__TfeJWsxMt3fchn~;cGLLnKzG=_wg z3!=UoYdn7dep?Jbe*v};#zlg|+!8n`lzited1df{xsdairn=z<7^EiM-lYRH;iuH` zJ1crcNU!*QQrWS858ovu!S~{~bZffC&x9XSB=vthg01QL0zG&8%iP}{o|XIzIoEt4 zOYh2aXWpOAAjmQ8W63dTtKo@S+m)`o2+==m^JjmEsd*_sI)=DtUs~BZLt~^f#Nk=;#3~Xb7JX8zmM{XA{U7xl2 z*bxQ?&^!tKf{XI7(??XL#NSh5B#CT6(Vt*r`<9wRZf(C(AF`quuv+1}l8{emVJm{; ztDkdA<-l$oF$`x+EgyPg)=-H_xO9HoY1rg<|B(wa)==d6%Oh@Q~x)(`UC6C#sGi0F+lwSS7?R|&H|`GfTbLOVsRD9nQF@b z{Eez>F?hJW_-U8J?nD$E$t-xZx|5kI9PXyoh$~4i_yQ@^QK9caU;#1Fo*~;ni0Bt; zP{CGC0Kvf1T6!H`@F-4@ z%|B~L8sPH95_E6sq#QF9s-B#w89aX#eIz66lb)$go^TrhFL^hLZBiRGT0H@Jqc&@H zE7?$)kY@6Y&9X;sSpq!N8^6*7nL#~+v+J?(?0Qu)LVYtiXLNKhbn1Pyf2!2b8)}q& zB#TEkb`sI)**JcFb)Bt6ssP(K0(!)Bi8|0Z9EgD5z-J|0&q4Bi8d?wz>VJO^xYoei zau=4Fh)|>7pz2Ob>fzD}8T*Ho3kD8reEEV;X%x~Z7zDIdXPoiF31ngKlH4+w;Y+Ap zfS(o7yc7wBiBqLn!J*Q3^Llfh81L6w8LDr8XTz>7)AfvwEBHAk&Y1^R}?Fbf?!yHTBR{R40>?_caVRA_ZYbln*HwC zri;L6BKOD3=jk20((cA?wjOo2Nnz#}=9-?T#o{VGf+W#H@)pWwhJ1D*^rvYW4;!eG z9Ay{|y>@n}l1To!A5T#U)uQ8}DCYpkF~@t4@d`Fd<20q3&I%^K?cIOIDUa`IbjuppcsX_x{&(Y^xMx$=snDsp_lqKZ3Zb3P*}>@6}~V2d0&s9k?c*+FX1ex^a-C)S{n zb&)zS%{wol3znQa1yCI|=tn$%>h4XCp_p?ae?8?6=tM^EyTie1f^ic?MiNHxBCm#h0dg}Xyd z;Owa~`~Je7vCn^Q7%^^aj!WW?;p0^}`4dIHx@yZ+@G6nf6}lGouoS!M`gTf1#;-zK z;y}y#m>fuq!(oCcS0-L=mJ%0uX}{E|6Q>T~ zlzSduoboEZ^`b4&Q}~V)4ow{xsScK~=cVD=;UMjZ0<8%yNMy;OXTybAILlKn!eCPM zcy|1X^|?t@#q#a@!^$FjRVrh4;f01}*b{~(QZC6_KsADpR+{Oze+J2f~fC zsoo=!O!R-bRfc2^w{|xBTo=YfOumeo?$FXuNbaK-IAEu$MruF4Hb;(E&wyZH{dtwX z?Ndxr6GNaLx_5<>Bm?z?k4+NJ=vRd&U8xxTNsMK?7#vHZ@9yA#HK<-jIp+RRw&>f_ zw7FFVWXw;JS}-e3(z!K~2x{e>=15{DZ-i#J?QwrQoCv^XvSpy?!3?eE`gXg!R&3-2 zTen~Qt0CSb%d1FZHt3^*vMo zW2a~kmf{KW0IeE~WqWlShx=fD{gQ$CUU+*FCQ~2euZ@Mt>7Ju4;0s;xzNyPV-XRL5 zpZI@Nz7*3P2DiRv06kF2qy(h}dUq&Hg6>!lVqcY1M0U?Ssm-cjQE&qvUxr$@^~)$V zkI{fh7?mf)=A%t(!*)f4-Y4aeeR5}AJ!9&RcfqJlRP|Tx%gZu<+Aew z2>^Z!n5JwD5uJb;LZjM*-;7U(neuIAwzq#;(L&vyK017GgDt{sy{`i#sIqwT;~9D%K?0N2pS_bUWw-}-_0(+SNc zCToDLP$gu%!t7r*y7Bb21vr0e zB)#u~SNVn^<(Vkni#ASSA4Bh1PFYtFO1@~smDC8^(nj-I@BTsm*c@6?9{vti0_8}5 z6)5G^6jd=&lK-vefI_pIM0w@*B!9^u24i>}vNl5LqYN-o&hqO%G284R%rL<-plqS@ zwo1<%XIEuxNd^TYl3m9hd)H^}OPLF#FKmY@ zTu;fWD_@LvMLB~w&?KWhR}LN$Y6!i&lwV1;*83Y!abDh$pRZ76*VXBrO;>+O=#JS; zPjhy1R182SmmcqzF&r(DLy44 z2EC`$>_{cfu%u+CiZBjVIfkjYZ_SZ3)>sgqHlMBg`!!I$ne8h(nj`gZc8}dulA#tslbZx zB=s#*0ixPui=(1pm8E}SLQ~rSmpO)BKl?eRX!^D(H(Y;-wsWNGSuu(5U*Uu@X$HHr zpW>2)^iltMg0bm&`~2rIZ3`fk0*jsu*HU%#M*0{&cdSjz4iZD$uyYotf&ucP)C|n} zIgs;6XZp0#PRWjW28ZTZ@?=PM@JSEcUKfvLtTCc@lx^b-2dV=no*Pf3HJd* zrw-NHwBWrjZeD-!Me@0Nz`#`fL1$WU4jA?pnP-VgG3yyxraJ?1X?9{?c-7TsfPL>! z%ShjJf4Z57r<`xgWWu6^(^P(^m<{qYZ*ebBWi{t}q|`yOmzW&KS=L&nN?IdrJ;(P0 zH|wE(Ib71D&op33l^4C_6M0!Ky`r4+s`M{+>gF~NPKJM;&&7K_3VM;m8O7QkeY>h4_~9~UeRwE5ZNUD1O_;1sh713}~yI3rA5DkID;SQq~b zJlre-tAKy=B1Uhm$APWI;n7(d@^=I9TXDTkhiETCRnm^ z8Z_Bd-`7(`6llgw0%zb!odt84$xfBooWKeTbL4-ps!F0RoJ}wkrWl|o;|1aBWh){c zAis&_V-!rWe+^@ecMl_os|aPp%Qz)GnPZ(;{`sfY$V-Xf#%^dZY}iON8-95d3Fi~L zO(!#YWU-F4rO4<(*>pQPf4o%cmiqT(R$$9<1Y{`6+6iKXNQRN`At-Or_OEmj^ORYQ zKxcmsSavOsj3cTP5l>ffMk2t~Fi4$+0X|xXS}|mic@YX2>v)eJkf&Z#UNSz7qY^tg zi>p!hnyM!?Vl?0FVUp?f^a<0z2(NXaa{yGdw@>vva*hx>J)0>C+?z+jCKeE29qKCf zblZnHv}2$H9|I`^`(tfcc^&o5WD%(V(?5TTxXCA$*RO3g1|P*b!Fq5e>*?askQP7- zed^@%XZA<_ri+WiF0zbdo-Z4vDhD`C>({R=x2A_%ByW_DosF6dA}gTjiUz!Druwvv zjq#GVImS?{GH5DDE*9TKwC=_JkZ?IcK#&??UYb$_D5^JVqPEKC#@$gb7e%mB-u8cq zk7rz>PLB2TbY?sgNR7xpDuVqAzR9V7@jw_$wj$I;LDHDa=;nRHMhhA9iAW99B^Ga8 zC7|@BC}r5B9fuE)Wu;e->RS9NEE0ocmTl_FiX9dEC{HUVE1}oQtHMwm#wv1_80ggT zjRB^_brf&WEo2sMval1#Sd?{+s1bi4J-2Fn4F#Szf>NWO6_47T+LvSnQLc>m1$A7O zdgEKYvgDqL?7gxou!WqD>4JS3kpB+UXx2@Ao&<^&@iK4H;vNX$3{!UxPjQO+{o^mqpL&Z_CQ3U61I7U%iu(xmwrW&NM z5g~RS0wUXxmB3!F+#T4J?Zw}ED7@$1uPeMH?}$>~bYnueqf#Ek3C5s|l27GAqIjb)plTC^2Hnd<&)WJ>g9uci(z2V)A$TOoHpJ$Z zRTxwJde*&-if5p-Y*+j4&JInFk_p;)<_JL>Xmy_wp4y0ow4UoU2JL?n1OWY^iD9VW zpaw-=)!e=)o0||%m+!uGq(|PfdvcBgrmZk}mi|a`ux6o90 z)YOPfh@gr}X7YAd2*z>@*GK3QY=9^}N6K&g@;kP9yekxXmRm}h0!l5f(CoqNH}|ya zVI#VC5p0=whFBYOIFNt+?A8J)(1a6dry_5%LGmOP$pZ|li7mOOvFv=p_3LR0m|P~B z*PaBTW%BC%aPX7vSBiQspe_d#ucfHSF9)g`MtS#lGBl60KGVbFIE;k7v3j-k&O2nt z*}DE&FgvTx@?$<1dNpRQ1rKEsrDwazC7kD~*aSJ*i6Vo{rM`d8aG6U4)J0voFuJ*J zAJQjz-v)EMaVr~9?Fi4+xwi?A3hT_aX51_R)_1Yet&LG&$LaRUbsH3FOe2ZL1>36K z!c=?aw!!{G4+PaB7&3I_04p`xAU13RWO_*k!6bxuSa&b?&rf7T58oi#&3U+s|i?gU3^(3_C4pfG|-5y zWW3k)IGmCD9&bOvtjsXFHe`PB?AEe4T)Etw**8Tuf6RaUb+Y6+#sWW65(&TzUI(OiUU&|n ztcl7Y%H-j+Q10xbqI2{Q&Uuv95+k#;m4t0ldlZR&%E{46A`qwR3JstjdcU>RDA;d- zu$$llycL_SdwPKknhoYs54@1i1*rylic0O7(Ki25m{zZOl^mgyT39X@HMV*6gAPmF z&oO`UO+Ir3;k{p#sI9fO_!LHmIQ}8sjkvEkbEHwDL}>XG%r#Ah$IJs!4elb_3m_DL zDF16v05E{t-|ewkJ+fITOyd(8_?f$e^l~!EP-HOqHhbX~F58S@uPZ=G`TM>n5omLDIO=Bic&Drvkm*>m*$n^Lg#c;^w13S!f z1`C?oOieCJyJ7gJS?OWD+FxpCrfiUbyX|ISEq@(lvZ*_7fzN6MO4i6dOC716N$p#H z+1cP7>$jnQ{ykH$Hc?xvuS#${Q#+`&DX+V(USg>{3T19&b98cLVQmU!Ze(v_Y6>_w zHXtw{Z(?c+JUj|7Ol59obZ9XkF*7+b3NK7$ZfA68G9WfKGBcOKM*$TCH8?OJmw{vf zD1USXRFv)7E{%kANe2IwIXP!D1*btK9c4RdnF+_d@ED}dL54F5B415A((Fet|NA0>DdoG}=boQR0Gx3@6Z%|jT8c7Iah z69jm}FwOuF)B}q4fw+8Va~^z+nzhgvU*W zCjtUR18$lFOmy!93{gG zIKtpifT7lXVT=z(5CBF%egVO74}auMKG+KkgM;mF0KX>(1GH3)0pObj|6b3-0S!Z8 zJcK=9@Lwy6{3>&E%9;p>I?~Mziokdf|C&z&hK4%a9J{Z`pPO|>AiWX(e;bZ41jO;z z5)e<6h#3Or?g`b^_#1NLBL0uh35o$o0)aqjSqT8t9RT%la2EMh-qaTb{eK-4{pG&d zAkZI$L;)OcmVgGr9HBRV#Qq*&FDL+m_Jjud|L?#*En-no00icM0oX&GURKIaU z9sk%jmyd?|03HHwxF-q#{`&p<&H9F35F`Tb`ycr4`xUXY)Yj8A6!^38zhi1@NFRW| zkhlauNK8@`AS)vSkd_1j0)PKm#Rv@hdkWxxQgsoINPz60VQ)_9UjuvnegC|FYl9E) z&sqk^8`44ny#L|&BcLSE;pQRw|IPH@DgQTu|Elu;;`o0Lq~!^R{|@v1j{hHFup12S z`#0c*v!0k6{_7)eRDk$zs0H+oX7!;En5Wx+M|Cma8y%=3oZ$aHMt_)x7R(0x$|5(96DBqk{d@E5(2A_VI5o5KJRVFVI$lLEL|FA(5}L=*qIQ5k7~h{Z40 zZ%Y&?0T6NiU*=8J^?$edkERZuX!MQje$(P+qJP=HH4cUPKplwZXOIr^;Vuo~U1xQw zOx{9UZxyGwwk)3V3Hi^XyFD++2-Ep$b3<3qr>f~AuPHukX!4$@EU^9b|J>e07}b$x z-1#Hm(l!M&vDHaD_l|CG{Ml#K#sL;0W+79R?SP-|0p=mDxPR@~J$hV)?w&GaM#a=; z-u>D>jRTd7qmeUP#@n@0_ed@)CxsHs;va>SO>-65=e=jROMnq#xy4WQ&4+yYjnhc?_?<8r)r7({SsbmQVzI&@Oq%Ggs0B=Wv}&|C4* zJ(O;@_YgEpg>VF;WXcl z9deL^J=pGo*~YIiyZyot}E2R?1kRGL*@tJYQ*%H&c$Bhn#EN<44HiCP=;q|<)4Ca1AX z6}6@poqu@68(Dm0QT_U8?B&tEb%_vALAcV%M2(!(0RDv9D&H{q{{B=^q9l`zY*Qc2 zm0a1q4u1TAuUf>R;n)6sF@S}r;K~_I!IeAtKis=;=#{!%fHs*vpEDYa2d;Q5`*yzs z?MB3O!S0Zb$lvj`8ZkP-wBcEODe0VN4lDNgB{OwSVGtT5O^xwxXDF_o_ct4#ESoEvL zA9WfKzBnQ~V69g+&n};&_nFMGgno5kLVv-Yzqv=+n?=5xDgEKKvhh=Hx*Q3deyjdz zzRas<0*o9Qq-cVX!QVev2Z@O^4Y<$6oDKaB4`2n2l`cYhk% zl6_qJZWpr)H@l$qW3RO4i9##?Q08}JTR96zet$Z_TdaAk-8iEzz%?6(8` zvJg8^VtA_5x4fa3AK$22z?c8_X;sw2ej@}ORG ztS@G(!F$T=@aGBo^DidEoTv?V7KLddO#7wN7%p18$J2uNl-qGj)o-m7W|-U4NZYKt z=HyqL=*houxJ_*E>IwhR?fC?4=2y?3tmmb{MN!Dc&I)DSwAg2d$+^ zO*&^w;Xfo2n_p>uSCGugX0_^NcAUKq?=lMD;xiv=BXj%KF-32E8_=4_O zFR{<#X}B#*$!J4r7QSy{&^%*+KPa>~L8`wg|4pV^W|Fjv?srDQ5c;U#;iqDmj6WN} zG%=TDT%^}eRiq_IRIagTKYvN^rZRU4D`I~IjIr6}Pdf9UUQBKX_@sM{Sq4TnD94Rb zYR`yMYOu&>N#OyYe1~Gek?l8fkt-4h?aLVUw^?>rjxK%KD|SX4v0nVU+_ut*PaFk5D$6f2zZtbEyBkCTg=p$lVJ>Oc`aVayB8_Td9duxk3 zu>@bqcacC!3EDou-+v&9#u(ehev+n{tsR|szLHvhsy-9P#W?W5^n?d=96!Y9GKp1y zoDpTwuS5jize*Co`j#eVc-1U2YWH0w?Bi6yRN@vb7VU^cTVhj{9x++C8fo0nGt+2J2B14Wx;vEfy!wf7ckg0b18N-1w;WLT&5QV3*Utk%O*j%}rAk9acfe10eX z!OoT6l(dDnrouYEk6cO;G$-`1mshiTPgRdy+(Ql@%CB1d=|jmVDZbTJ<*=qllfgv1 zTa&}P$^&8H#eZ`p(x}(bQ-`@q#ywHo?MxX%J~dmPN89}nPsw_sBVEm1!Jgyz$K zhDo`{APM=Oq6CCbom}8ng=ki13{%ouWpO#NQq26pye~JCRu;Rr!l^skKG~PLPAy^m zDKdYCiZ%IcRUqQRKD9>KtDpLT!CL{n%)yOX>H#V4LVwP^oFB;wB)(LiI8fx@$Lnwr zjA6$vb;72b=_FVuQ4BlWRg_UOThj%8^#gg@$Y|MDqtkb7=&R3zK@`uZeWC)a*lh;L zUwUhTXC3P&zmBxR+^%yIBqW$b>}w3J_jnkyPI2!oz82r=raU;@tq-X(bRO4J9m>jX z>{7BRqkoe1Dws<4?A;&|>?b)v z(b>)X2ZaP7J)5%Ih4dyh0~!!&*SS8%RC~_43-g1a$VwYbhD4yVBs67N#~>QruT!mC zDrneBD8+1@Q*)qOxNc+HR>!u@j@_|s8(+*0J007$ZKGq`wsqF2+Ex2z|A%?;R*m_L z(V*>ZVV8-fzcGrHCPv^-Xl3{kX%zUMw(_^c!|*@$@8s8HB`OEH4ty$v3a#r}oB7R%D8)L0)|)NFNvY-B)1Vb;Qu@LHraB?P z_g46?M}P$vhqfA1Mo3&zUGm!)khF&%Qcp?C;)HmiphfUr`t*U0ylv2oc2Ca)el0*< zj%gV-NxjNVpD`khr~=AS1;r9HAY@f~ebW_?wI>=35@s8-s0x_~Gkz?`jLR`b_jTEK zBbTEt-U6pnbA(KQSYT5WD@sijb2YY?Est;fg_(LFQiOJ?rCdihVja^0I5U+yRGoU$ zS6v_D74yW!n%!b{R8i;JloJQp-!OHB#24Gc6w8+rXv0r76}pa;GbO$^<&aQ+-ns|o z3N)l=`#|4L25nr6VY#QRoDs1g{h|U^d^PC34XUcGGo!>D8bCW<*DDGtx`R2fFa!kR z-4TR?AD37~G)Rtd(ITZIMS*!N^?_oi46F7UPD z0o-0*J~IgA5DOX(sy>YkPvvoFGLPQs6pFMX&r6|m&DyU9vtN-u=L8JzN2|cw{&wQh zPp$fAJ|_~AeP!hNP8zNOF_g~T_}4+X1NOxK!l8D9Tj+&2t6}{r78Ixot^)V}F7=%W zmZ*t8O*e_~_pbJVv+zt5#CgSEY#7IdfBYCft19xWYC*(yCXN9t6IqzyNb@6n^WIJ%vh|+9F+)JwxuVci4{i_!D-?lBTk|s zdR6y;R}MdmTl%Y#W_*rMn%2Lr_7)faaOfG<>a0h9bQ!@Is5;l{9sQ>Yfrmjbb3$p| z2@52?u@{%nb|h7W3y`N7L0I4ly;QrAxJP5j&-7L#dC99<*BNo4$OWFf+B9;fB5^-> z1!OHc3AkB8_pmLIr>qApZD(3RRfHMNKE1h9tXczF4L{A3L&2R!FBxVVdB(uDG14R{ zQRiZD!R}*$n6>)-*ZQaKf%t#?aQ^sJ!jhawW-335F9(|qNrNUnM{s}J`^D*X3yjHk z6&()Q3c?shw>{e_qz2uf&IIqx_YIm<{96G#gGf$2Nei%})w1v3xB{&=lWJst)t0Sw zS~d}{K-uXw{mrttgq;vx$Gtg;fIKf6j3|=*kM&I!C}Oz$a!OPYs*KjgF6gm_)T0*+ zQ4o0yO;X z&6C}%UL^mEa~kt_;UD6P)9|~e-Y((S&;Gt&w^blyg1xQVHBb3jGnZ2b36>P&5!3d8 z@y;^=Ox4y3U}{@E77DMWl{lme{+9G=V{qV{bIHnlcEe&qca=tn-3L_ek~WYQg;*f4P$x5KThib`*>0m(dG<{&UoiV}?`zx?})+ zBj9<>`{Uq!o=F}p0F<5YOfYyfTP0P*_eKB{{BOx^j#ak5N9ExbfidHMyf_Qz5B1;Jcd~np^OT#Nx6)l>>E)5@|6IKH?48OU6$g4qXKJ^M<&j%! zKw1D%6MyfI3he9$PR*k4GX0#r_Cr~{N6%H&aFY~`Fxw5`cGMk-ZnAvY8JRuuo>wg7EN+GwPTcOZ@T}P|6sk2}U(L z4xy%de7`dwafp)P8#C%0IrFG6jth(v0h?5mF`*1WnYEbW6qxGjNI9TEWI~pfZM-|} zU9#FV(}uai4)OLkuIk=r#n^nlPx%59$%t#C)qt)B zP_UE$6p`zmaWL$b4veHj;)hP^#vi1n#CsrqCkwvnsyw_Zhgp_--MXk~Cf%6>PNmuD zCgQtUoip^g$J`;z-|~d9l&}_PTQC=*lqG>9dV{P?q2_27LK3cVv!$80P*;b{y2G~f zX-85Rp(``-^>+FLVdy8eW&7PS9KW` z1sZMblXDrQXE&qkEoSn{zi6d7lZ*<2Tg`SunXS}p{%Xp4m)?GsOP+>Vlxno-oRZKI zzX~sPEl-cbBX5!^jT86?Qltrs@L$`R6&matDV&Gvw4Y}~S@Rz7`>ezO+i0iIlMJ+0 z`>PB^#d)jASyE&ofkYPFCSI!sp4i}K5+>cQ;0AWylR`09R4-SN#0`FO-*wX_rQ+|+ z4i5zu4`<=tnxVd=8+0`r4<@atH=J-%J}?c$yJb%g-S`4Yl4U*A^lb)`>g6R%Nc=oS z{9~X3f=o^w$%)9am6Ue?tM+lhQgzqH3ajxBnS*2Fkqql#2n0owgB^1(VTYO?>~eHz zlB78t*;4u{n2uV$-G~l8XZ0;zEWKr`Q1bn*OJ+|NV)aC9&MT>s_zX`XeKTUiRJqc` z{eAy>i%IjZZNhqYloeQ{w1{gMhyG(^AD1oNhN2k=+v}(gefD?2()J|^glDwbGs*K{ z$w)z$RMYyc_B`!~j6 zdWZysb#g;|$m(Q{1a)_jFPR!c*eQ$>3h~%Uw^FLQ96~c20ixq}L?HhVleWGOUH3!; z-{Nv#+mrMGwV?_?>^e(piapb)Evrq+)KmqaGAsQ%et2Pic?S=$I2`bPA!Vw!`ARqB z9gJjwua@pU&RSYq;zMUdAs`On4Wnn*?zc*0rx#eYjJj`KQ0&A#d75paiq%o{>06&9{c@k zE7Rsr#Am^um@Fu!&7$k|AKX>strEj(6KYakD|nCdIkEn&*k@?+0qC^9 z&pe4c9B~%`@n*z0>I8Hy8=cu@>hebYk;J5GQP@Q-RqQu%K;b$;O$G_*NY9z{4N zjY^!(Jmr=^eSR|<@lefqy=gWV_&9!_Lp7CP?U;|o)z+{*ba)V zX_me*R6V`se9*ion|{Me0cBC2`lWgwz2hsO(`FfHG_tL?hFJfhRr()_Q&d{4*jiCK zVU!|>qN6(pcO$8Vl7D?KTi%y+qkhM8Po0EufUitM1%Wh}aV5nrvq6~VCPlCh&ihb&ncdyneea%h`MIH@aH zxTgaa7NS$xcMy7pl^2NrA~u?OwZfnobSPn>Gs6V?c6VHb7EwqPdL_O&8l-lfTqgYu z6e)#5pBO%mvzp%2DU;L6}y@C6fg?s*4bDa&zPxasSA*b+M=!ss5aK*@tk=u z9t*S1&~8%nNjmdB!x)}X6d9T{eC+21URYCdt*)$Jl{EHe<}OutRl})t#W9`X9Cg3w z{;DN02CvG4B0I)Vtc0~JVp>+^?z;d6rwJK4*m!-FnP5C+hpX)65c1jrdTfJ-RESLb zs}|>88j(Mr_c%YGt4$$fF?l`dKj?~h6-Kr4{{YR1zGF`Cn}>(_Hi(oo+viBem}N4| zs-9c!Df@&?Sqt`+Ou2t$jm^OH+=%PheVHzQ@kZB@U9Dk!_1PMC|1&#FaGe3RK!0Y6 z>Mt_?lBDKbak#5qF&f3=(5;CHw@kW1A0c;9@^)|7ZV9PxZ_zuN@lH?6VBmBtlg}r1 zS~A~zfLSBDsv{BWxbb$Uf%>Ub%Yg6d)pUpTpdxjn^t(48R$$UQaUx!b>`2=Gr&5M7 zLH7RSP%htlXJjm#PQG2{L;wk}e_-8PC&Q7_&_ zRq60YQ?EM@Z`vTEvU8je$7*~zjkRsX_na^-tmdeL8xiK}jz~$4e1obUB`bL;W(ANq0aiw;*L?Rgx z=W^(HD)4FKMasA7>+!u8K5GSD?$LY`XYuSip-*lp;JngeIP=Gmwu^w4No{(f(f;n`un!eKulkR&x2JZhRUR76=h4`>dsb;8 zG$C`cpRM_c1SkbWe|UWU+n<*gZ}}ma(`U|gz5CM~v!IF%!sQn#SoeuFHIE6>THdt+ zOktI~S7q-RE&XCveguUC2VMFue@L3e^QZp?C-v4qLZfepe+0gXrMBw4uc_5A3DTIA z{R&~_?A}IkRYj;#|G6F^2nZ7CC&YKKc_^Gvf~eX1May*cT+f~W=(yPiF_Rg}a0Y~^ zmg@hI6Qlq9?B`p*#;Th$j{;HN*2i2|cW6VKM~atbZ;Yu`zs5$>(I!IUk&>+S{r!2z z&%fqwVOxlOZRaAiA!u82=|7B4mk7zAxP5D#h0Y_;=N>uY5wp!71=@9Wu1|Bg_m?x7 z@OzpOoIft;qtw|L*ul=5Ph{#MF^ahcwxm%a^GF0~yQikh9di|YHTiZtm3$eJPYJfZ zR9YTvmkx7T{ddu5Xp3Y6WG493W{jVMS5nP z(?PfK+c<~lPH2=TOfC7oeT@Wmh2kdMJ{RcGUilM}#Lg4~#B^I}I;=xZe}%~xmm+t? zL7F~)36ueet^K-H_a+gS!8TmPEZR>-Q`nR)DvHD&#D7t%zYk{$x7UpMe|zp6*5tyq z@HoO@7k8=-j2YjSi7pX}6IG%cHZa#!V-m`VxV31wDvN<(+8KFykg43K4ttTo_w-Lh zR{pK?PB7#KKKq`|p#uH>3-k#P9tQLv^h|CfWUo;Vv@`qNr!j|URaKv1}SVX~Ebp8>!u?lPy^ckp&SZsp)5CC~+_e(M^1VRPA|R{9kmK`~RfF9LQY% zi-$RQI9dNc9>##=6s@(u|NDFMy2qo+XSrjk^Z3GZddos+rXws^eL29O56K8# zS)_ONLljJyrdQ0)PZLDq=|h7Aj0RE(%&YeTWDN`i5rQCy?8r01@lmp$ zAlGt|=35)AwT~Z!R9f1pd;1gw5*r2$3aSrujf5RzFNg;f!5IpNq?Z|H?ft(HH>(o+ zn!1eAzxjDpkb@vJVG@9l=;j8L-^h|$m^dhiM1aISz~B;$C{UNA2Opi}2n0ves8q-t zJVam(JtPE#8Oj0&2TaNcZDZFRg&f3%vsYLTK6f83@EdmN4ZRoo<=h%X6ioCx?49l% z8wKHu4;KRJhpw)OqXW(cs3EdT7>KJ{Bg8*_OFUX&!Y*(Zlu5!Wdf!2uCi}m0sDXBp6$5pU?`ie$^&cRKK-AF2 zTo2sSi_O~x02>T_qgW{ggJ41ma@7NC|KGz6Vi6Mkc1ZtLc->z4gg^Wyc>$IR_O32I z)+atEK7~3-uu~hJ4g3)dHfM3JY<@7q1$ash2E`cXk(|IKX+d=ToC zP@Gy=Fsggc0tNklKOaaFNF0nO|BI6<2h^ZQhPk8EY$HIy!1bb9%E5umXAAWb1(JVp zC?ZsotfAjd{QN*RtmQ+COjx|`Gg0_l{%Q#$1yGn^Qa#<_K$DT2D&eentCS4y4h)DB zK1b{9?-IkeJ+M|U{1qhQ2UW9)8bkPh{XDzQ)znly5=_kLa5?Qz{f;GRBo(Q-?Y}N@ z%lumL{&71Ay_P+@K^S^wZ=S#Y5q5{~pJMMn9H_wkxKf2jpk;rBX4<~GP?D`zuD`fB z1l)_wlq@}Rjt{X*`(wr3OW{grLtx1{cGgX$7FrBQ-Ls)@6};_A2s*ibB%D2-JQBum z>l=U9D3f`0n@{x5TKo}=rU>gV8@E-N2!((O>+fXu%TFuTTQd0&}IT57T;F{blv>RXndL3nyJ zdk{ujwsjhr1x^2Qj4>mG#wXXk*0)7t21E!dwh8fRa4x?EmLzUo&uv4!G+paP5BNWu z4YUGfvo*pL)0I=d7Wm${M>lllsxiaU6tN=s+ymr0<7|koW%J$2Fw|ldI=H9dfygLl zCk-JY0^Q%9FBj;)V@am1#4Sx;Ge(!Xp=F?QFj?1Hl4o!Z@ODZYd^rX3LbjFz*Gn%T zENY@&Sx)GO<=LVmBbnXv2Fj!K3>+mjG>PQ!pM8xmQb?i=sibZF_%CwbbKSxjPpLSs zc1jGZWm!_%$?es3WrlU9P=}Phf%V(o^SX!x!Or*9&$Jdgr53)Uzg-LZ!t-0sbS^0A z5kQGI*@5BFVOsk45&xEf2vMz@J~yIWT*9cbo5lJM#*@ZJzT*wtHElsXoa)Wp12o%Q z{?Qf~qs-ji8lT?2+eN>;j{?E@Tak9&a2@lAa+rD(FkQ#X$fZRCVvrf@A z`tAXe2=Ns^GBUmh@x7#$PE~qR=|4AIR|0{BPd(e=F|tt9^SWC@S-zc1_8&i;n%ogj z-xqFor7`xit-I3|uf<7i!J>wV02#w-4T(u(UHNoqi}oIgIh;?mgx|g(ZGZSQItZU- zcoF{-m06UKgfXpn?CNVYp|xVrgn2iDQ#J3928t%r!Qv_0E|J7;19 z%|?XFv0zm!_K}&O9%v6pbxuIAb?R~lPnC0BA8&gNXr+k;Ca-vT1s z%%}}8*Ykk=86M4IjhZoKOvOQ-!#S9zmj;5v)adM%QGM>ehV?Zz)sw{ z5Mvz@JvI2t?rQKk!OIwE0tMHq-KBRfoL3IMY_?G2v$wOrsh=>~N4MucLe*bZUc{TLr{*z9h_5-O%miwU&z9^6(f!louq zx5=dJqq*NHvWC=)J%8rcubrv&k{yaLCI?6s=Y;=3Jli9{yOSO^t8LGk;&v6u8>PHo z&9fVU(Ec86dNGIfCzUXjgVNM*`QF=sNa=qX ztJk~}W?=|aR+T*fLYeaGgEh8w4*vJW1x-{gb1i51 zdnzieok`M`P033NBS~9zwmz&|uM^A(Jhirg&n@$dfaS+B=u=}kzSW|Xyg)O`5e;wm zDg^ka<0WN}*!{3)Nu+PU6$5_dT3z4<4Z>?Z-xH~C_)y2PK@rN(7bVwdwc1?#h z^8{lvVpq~`|B&Q#-s3k15m@RsxlEhEk8E=6g2HbM5iY;2k=XwuyPT&c=w!o(`0idh z)lYgOY1kPr@#S$#c@E)h zx;H{k^<8)GjH)gDCVb#tD%;6|LXjHPv`C2cxX!vj{!HQr4O~uo16DoBETcssUge_E zK!S@@g6bY_yR8n>`bfeLt$c_EV~MmaC6&MJMhNbvWs zA?K8hEA2(=@^K5_*6l#M^OQ6u3tA@t;LA<0XY++tT^pW?q zWJaUoFNzs14*_|uJt~W(PuuVkZ3330jhwB4GWN%E{W7vAU~MAeN~|_U);84*z!S`G zSax0Gp&QS3;O}tOV|&Np^{P1HN%LyOY?cU|$bQ7-46z!rqBqM*kBUIKr8F~3aHGJ* z!@*10bnWX^;}@9>InRbgx^AXt4yyMsU^;I*)c%daErPdj{h zK9h!gCLkq;8I8cm^kOicX?r#JGkq(orx!U#sUZu&`!$(76-qP*n3?w1KE%SECNdPi z`TDQyX7<&dvi;cr9&y9bsBy}NPCM8a)R?vK=k!8MnPf0;;@55ac!L7)r2b}fCLA#je!?GHY=3lr(G}0 zsg(HN5uZfjX5VO<`ExU|aQ&yP<#0!X2~8=lM~t0T$ONV$nol+`zv;7*2H%)RIxmEs#E_9^R* z(Jyz!lvnz_IIB?ZgKM)lygAa!#D%33JW6>tXWN7OoYsZN&WHEioh__XFI43?cL8f= zACO%DU~49VC}bfUKF=q=(3aQn;*xL9bz^PGVz4pWthMi9jV%t^k@&mxLUEs+ag4sR zeL+jQA4}q&`|KB(1#V9tDfP{$b2zBpVZ-ijzx+mRA@W~5X(rC{uN@%Gl4A79dN+qj z{_m!2AUCCecVpDJem$W=c=`xzz1vjZC559G5XoW6iF?@Bnf`+ftA_Ybvt&?!xDGR$ zUL{C)gR)o{HyH05TFd3r0|6Nh?~0jkkeRBp^C=|2gP66>OVr7&bBp<1+d55lT;kRZ z$Mu+Q>&2Q=U6QiYX)NZ)e8;_dK|1q>sV^V@vsq+2?BkVw?y`kCijHrB?yWym(D+vx zuo+dG=QbKRaKHdI!9C2R^GZJE+yO!)+UF=^Q1Hjle&i=*&5^hlT)kfO6RBm2Bx%}7 zyl%+cNqE&++92GUksy6XI$q$J_yL4ev9;|NXFqp-h29yD>mjH7rny^qdx52XvOJFr z>q%YYs`YR^!FPaPy8cEJrlDfeEqn7Wu*2AP%+8YCl_%O~{3n@w5ousimuUCl#aE=3 zvBRG1x}L+(V>&HzeFNS`DOB7cfix@H_dNn-_oK7gej>+MV~Qj+)@P*|Ur&Nb0*^Ot z{c|$fa+--hGZoK@K?)1f3BAN2v`aosMMp7`L zL~*UR-I;3o793v2;b%vvTwCc+1Q|uHv0{CTcSdytzN@gvbBZNJ-hpk^m1a9ljdGRT z^`)#jpNsgHtOvIeK}3xB3pqD`;B0H1-MR&5aW2EWMOn##w<{8TJ!z^kwZ@D#J8Lx_ zeqKIcn%+fI{$uB9V_N5$`p&|u4o*=!&VpJY`15&)=#gPg1zY0uyt5TGSGYcX-$d11 zwGfhpDJucYdYy7(w3U*|@|R*Ifc*UxQt4^s-l_O3(*Ld}NEjB4EX&adoOS6|LuV#D88pJ{lm_H`HGhNrFZ7IW~`F}r0Z1~%mgh9B8z zs+N|{$eKjEB6{+r({mnP2Hk@TLYQgo@THJGVbX8(VVV2O`?#du zp;);v$(IwJF7)6|h;{UqG*fD-WBh$$rok+d*Qob4yX+eagral={uDxGfpg@0d36$+ zDY>8vYovW7HtZpjIJ1^AIUT<9BUG0aj$e&D)EgjMOHy!q}bz3n_M!nWv5G4wN( znf@ZcxZ)ttvbp#pwj%|U`DRE$K7ErRyKQ$Vg`b~9V62&mYWBxmYk*$)70w{d7W{#z z!gQzsDpJpL<-;VPYvYLM@5m<4d16yNRQYmQlzqrnte^1$A=Cxu*_rt#*+bSLvN|pdu$<;@^>OWT>dhq62g`jeF$$?g zUKNt!FI)b$$M^4Db0;4(rI%WL>Ft%WPyFvs^+Rn*xgYu=$F`mzH}P#Vyoy|hC{?vz zVAOrNhY7iW+MT|)koOi&z6eZv8fzo!Wd6F;j6K| ziM1TsJ#dwkG_@wjaa>efWejG1mf54JoiE#YNCsCvzzKp4aWzr8Si-m}-1m(5h|LX@ zU2df6z5db1n|QO|u)&GG=OT*YZC}}oU*+@o=she48bUoB&UF53=!O~yne3A;2;PcfKvU zI;;xfSWSCmQO?x(Gik7oAVy{YT`|CJrr9De9NIdbCe5tnO;f~#J_~O`Pj?@dz`J;0 z94EgQj@>WY-P}Po^zu$*aU28Jekix-NII^gM)`o)!Y0*D4(h|Rn4O?sX7`tY2~p>v zd`5d%g_=8(0GLP$jQn1ma>^aTTBQN=Rb4n$;iniIV_hWWEW2 zRUkYpEjYWBj<`KGRStR^KPej9ML95Ch-fKUvuTjW_AbLe7CpT0n4KBl3WIL@jR3!4 z_79&SZLzSKFQxB^fADs1m2ai1$P%Q_O= zD&pPdt-F2j<2aFCaJ;e%o?Q*H7Nz`oW&W;KS1`GDPwYfwAnS9(3V=Awru*5eTfGPoMi0X-XUdGw_;ol zL3@$0Xtb~jsg4}JQO<-=~lK)j{o?Xbda3OE>>F?U|toz!0cNNlQZ zd=1yhtX5t9>~7ej!z`wxxqQ!NkO%TJb6WG+`ej*v(da~fRAMZ2@))t6m7t41gM@2P7J6DGSA2M36KT+>b= z*%|4id&pH+HlN}Y(jUkZ1!5kBEgKdxcGce19eon(Qi*iuuz|qtlZt$X>>qskf;7D% z?bo0)>)VWsSTrdkmTXiVTPH$FBu-qEYFwt4-DFe89R`|T9*r~24el1O6*_||Nt{C- z_+KW3x_yEUENT|t=P%xt-{&fNpGRiay7u}4Dpe+IvL=Or#(Du)&O@*WRx?j}f#m-V zp;c2I_M$Isv+Ybmua+$No!hRhiiPCFcL5=pMQ$w2oNWKY+*nw+{=;v9rl8b73#3}cDHh{zOeXzIv<-?@3=fZG zkUmmPM-K+2#?bsBnk&X3nYuj{-DvD*S&O5|NuKYXr7k)fitVkLhR4l!c~P;v@;)+i zP!@1mF@jCafXWLn5LgN~eGooADmp$sXj;UW;+PD97exlz7|xZUMW{XM8z$X;NCan} zCFvkwBil*_MJj-Qfe7RP0>ldI=&+YQaBQm1lb9qBY*Cv zaAv2jZDr+VcEQIns<6W}2*}<2J?pm-5{e5*$4Y820jLZKmrd<}i?~a?fH1hRJ-GY* z8x!_}L*?d1CdA4LKR>^w2vT(=3O1b)lz9LU9+SZ#On3q3?gXs^;-3Pq1jQ5ZP5m45 zFI29T-TqsNHn{QW5vVgLcsAw}=aHe*vITf)0ptqg4FP^GX$g#y6Byr@^skRUy$CNA z93UigHx3?v*0;Oq{!2K^=mx>w4utbVy;CEY=GsayDD7NSrG2*jBuIS0kOSH17Umsb zi|h=&x)MB@4GWMXf&Gjw0~MZm{8Z1XXp4^dlR;Ne5%YNsx9Z>FWnZ6E5DGEa2YPXG z6!pd@B#n<<`|7gXwerRNi%%*dykI70CYdu9E4fFuHh{Ozif4^mtj{?SV98c5{XVJe zwFj|xcX!wKcL!O)1$km`F@L|*ou2?;KcHbgs{E(7XGUQ6AZmRXK`$&!VEw;@ADtlE zf&tWLSx$Sdl78S_9Ncno-H_5?i62N5A#yBuExqig{;;&I^IbPKW;&%wx|5kD9 z1*$91R{EjNZhA^H@lU*<2LXbri*Nh zZEUyz$kFL9p_ThzY3l+8c-1raFVGPF`sv?DG>4W*buV3d1RMMy@zL<3@Q<$%ITZE* z$Twby487Ta9CJX-BI@3gEtn_c46-4tlgOuEHh(7wXXJLd5V<}h2$1n1gvJ#hzv~eB zod)|RwFh0B_RRpAbDW6y(ejcByPo6srZWI**wEr{&gZ>SZ&#>@!vr?1$>|2LQ?Ma;q71Wz|}yH3b-KG z9&yrp3xqq+jrzR=@XzbzcsvpZA47dqyd0ZuRO~n^n`d1x4~a@ zXB*u9-zz14b!&pG7%Euuvv%9i76z9jd@trJ3SQ|17SzOH))G zb%_ZJe`F;<9BK%t7G}APk!My#jo7~@-h&d1M-no)%r!^;+WGjU+ksc!yYNejZb9?X+|Gb$y_eMpgSY zs{a;B`FCh)lColI?ZfX^Z?*PUd7DAKcnAa#5q#6CaS1Y~tG30R?^;>J$mcD@MPWhY+yzl`>ftJ1vw+w+)F-srwT*+)>v?6FHoGWxK=wXwbn{ zn*=T;S-kn*k;GHhi?P_89yJcUD#7D~YM5ZOq8Zexe*24I^qv*U1f)*2w$Sg_1@j>g zkIt~TARGBOzmKl`33E5lO|AG9<@5f4daTtCQ>DwL2~q%j#lH$4&%( zgC|gVY$3P^DV|V{NsmH0wyjOcux@q0-1ehD^gpd)E)hRck{47_(u?#XkKv+?WL9;pZAKsvCD9k~m)lL? zv+7I<@ek&DE;5`JNF)044T?^q5W?ATS>s$ykE8D|CTenur@Z@Bzl3|Sk+l~5$x{6r zqb-?&s|06N_3Q>l*sm^$C_E>AWE9p)r{X8_QiiedvyqB{~y3DE7UfsUshhk2XL?>|E`gz5bT; zfGZ;J;oF%&`gqSV7 zjS^jE$tE5mTQP9n?o2UEI*HXxL3|!C&?p%ni=)}vNoqGf-a8#FuwaGL^q0kVGuBm zq0D#T-@rFS(*23O)Wu{>JLU6DHisWH@?M{cLo)+i!#>G#yq9J2^q>cJa(9vxsGGa$ zemC8byb|P}Y<|%SSZN2H%PNK}>11n2-xn^zn77EFinwzB7D~WB*^z~R_iPsDYtCyu_@o-26SzgR`m)8pvPP2j}$@D?cA3C1&s(Jd1CNaGEWR;bQtt?TZVl8^VZ zo5@68z&Rs+K!GYL-Bu`wP%@eoE~??8V{`UPizQ2~*><7=Kx73)bj#9Hs((=;R3JjL z#ZIV&*z6YV!dM~YP?gqU=QisVO#IvkW2Y#FZy{;gPX9P8JCT{7eUH)WazXt~rtDDV zx%xDzA-R4xhGlE>8@El9*YymWFdrTasj_m{cG`-)NZ|?OR+uv}B`n!TN6G7c+3FGp zZdHehxbn|Fuptmbu#?y}i|m0zqZeDPiqB^PiTE1ZmiHy40|j;<$BGsRcFZv+mo%6iM95*ghZ6q#HWLWECk|PE@^U&A`zN)y-LLM1u!--Re8!=IOL3v1K^< zSHH7qm3m2n$Nq0=idVsi!PTZF>1%EGn00e!vGO9y4Q zrGT+?RZH3e(o?+z(aVXaAYd{SHGYDlFw!P?uh~<^?Nq>VBlcXoe_$F5@iDS#!Zcn< zeej6~=+G7iJ_d>mJhKT({}=<+r{OE2k=(ybrCkmkj3!dq@lY6D^RV#f4v^XQ;rZbg zeU~No^yd9@q&c*izsWN6+G+Cq$uUTieK==mkPug&i0TDdbL9kXHPr;8=dPG#h0gt% zr)D>66Ln6rh)!dEcPWPd$1tUU%mcwA{_fQf@!7VK|I<)8!EcZLDszv&+lMud%6#H-~Zmb4qX=< zH>LF52}P7~m~?@{|A%wZ_L6)VQKVkznw=Tz;KjD1$KfRHA-rRVFTU*j0cs=aY|MYR z+c4(c{>IEDT;}2K9x)=J~-p}Z@-{D!QOGRZi^1^7ZG=At7hdFXwzGKp|9LzrjZA8u0zHY zZpkAXB-G@yV>gFM+kRNU&C`pVt%FD`E5@J;`D5OCJoH@f6Gw7C9gBbds$V2L7VgV!Lq4-rmdh3YPckF#BBZ{rOYCL*~F=8Pr zk@lUuLp9Rmv;~J|AeZSL(?iY$FzqZekpHK>SRLObw$LNqMew6BAta(_0^@FK%&9Q! znAxXjGh;SS%->%(uEZZq;MLIgpRL-+gb3zW8{1wX!QvlmhYDpexSqcqv_cXTHufKy z=M@1k2MuiA49T&iNBhefB{~PI)3c7D5D?{b%m$lVx}Ei5o2A#dI9jR}fP2kBOkWaf zFznU3{p|5DI$1Z$)l{prm^U!T^(WFJOYyOMQ5#%JukuMab$^1@7^Z%_F+zZ{=$=*J zDC9u#?@a`J=_Vw9N+j{?o-md=EU#Q(nX|kOq?d+}t(w2@nC{xA3R0IHD9V1W0RV;wfi7*^TM!WN5s-P8EP(w#YiP%V4v&HeB1 zpEQje+TCkQV$Q!&Mgi7R!^(k*7YJE{@2+_T_mr6;rhpycAOK^7!12h zfStf{(Z&qU^26T!Egv*JYR<8x+75KqmXqdBJ`xigwA>E$nd}8LkoGyKIfNIZNMcHz zA0!xb?*UYjU9xtM4LA#5-2V{q^}fW$yr&fIsYZ=Z_V>>+9$b%a-fhKyim%^{Bn=rt zcWZOF`c5BzU;`5$Ym~NkyU+S9&Ys}4U9Owyjod}SX-mk9qG~E&rkDyVtq2+^E=tVw zyO@0yGp_ISePyv8I37FvQwbMX_*Uswx<{z1W;;ms8#A9k)V>mHuJ>jp>gj zPPsy1A!k>(%bYY1qvC_kL4Y3dC3AR#;Ykgodrfb=I~ze$(oTZr9OEvhbsVuwyuQiW zwt4ON*Yzlk1&m7dBRKq37MN0lEwIZd18rXa%JBe!B-?-Mhv5+ampf>ap_`*AF0#_3 zNWuLxuUG;#Jg79ki5E>MtmY!0`@vMBE)m_d^!f0(M^}!bsB8hAjv2Cx+$>R_-$bH7 zS(A6tCw)ff+8VlOLZTnDT_9+`Rn z3rBr4P0G#EY>Gjr3CkNucMny7`))?CNEx&>!xtp%`6^m86N-{J5Bfz{$mg*(rKwu) zc$5rtX`5qTsEI{V)X%+BaW%Pu%hq~B-2M&TpOhGAdo{S}fqJ&Yn!9a6;wkcVhHfp! zsOy8c1pri03?JbgsqFlW1m<}Qu{|c=-_C_a&F6IBdyE|lgO}u?HD0WfUBmAEHX!n< zI7IFVaXKEooH=oYR;@dI-=2_OkwIXK25M)*jwz)qV?L(y2;sl?8%`YGLIjJd|FXk8 zy3Kg%*2j*tKRuS#)DiF24LhQAucW6p1OEdIUg zgwT$KUwmJwT6Mc8+1xPS*<8N+DUN|~5$cwwHFRw2KG#KS?K7~y`NzB{YqGp>iTT)R zLxnW1S&zfJ;0DsR4jOCT-A=fKx`ZtbxJdKRN4iV+aduP}7PK0!`ALJOpvz78f;;0W zv`gBPu`hoG>lIhgSbnHoC`sB=rGEaV9?k}Lbn7kO7yJVm3*SqQB8^aOblv?P>s!heSzlju?QWB&YFAWhAuNGJJ~xMCc`Mpmr64Qn@PDLx@+4m8u- zzDGVMmE~lc>2b*E9O0LztCw;jBfG#4hGn}?5~+xsfcD+;&KNEuY{ecdIj%fQ{tVN-!pdp*=~16cbcGDyKF_j*+07G23Q^yuRpuWhF2`o zw#hG=e%nBeq2u&&z!G_8Yk`EFbMBsx<*uQ4a87+&!2eA}lw`}_zJTxt1%hOfH4lIj z6R~)8j&_mtsMLY!gTlsgq%5Bj=A&;aR5>r>VMliAMx_Zl8Zo_QtF!7*+F^`*MqW~w z*~@W;ASSw;*~nJyjBywiw6J2}^^%eDC3RiWm>UawAk-FrNX;FarHGhz8zK|a zoN80SmwB34h85@%*^6Ui0$oHael9~;H*mlA!L^rOMP^HRmWe#y^c<(RCxGLjGpoO3 zq6M})7}H?gj>~Fm?E9Vi%P!q)^~^KJK+{;i5BJcGe{nB3utarnpAmeMEszlyStvNy zF4ZwSeWf0?6*GouD}zS12bFqkZByqT5Ec8!pQq8KB6DOr2WnX)1B9*8GyNf8e?slVCH@)o2GMk9lSJRPulMUad%I+AKIL7$ANlg5~ zR>zQHQy!60Z04o|d&gJ{(SINQ6#vgu3Y@vj5LaG^|zPXq?yfIq0_)9We zi7Mc0h^FjEu&Nl=wYblsV_ttd zYb_l%qy`W*rqN`5L01Ivac1%Z`_m(9Ud}t%B-CEfH5Q_a|KuxK_Qk{-G)u=#DDy?cPxcu;t}a}see1O>cQ?Jk-{Lh9&Zum6JXp)>^pudP;sU#zoc}P z_>ZL#5Q(-jkTB+6Y--#Q*T8dL=u9C%_v5Lz_kM%en->=}D|O+AWr0@=yjG%p2uJ*h zdRCi1-RVnh;%zFz+_S1;>@9~5uBpZ(!%wVF>1_VzAS#NtMy;F^NeJ->E$WjhEyKh5 zgmf*%r=`$cB#hLKylOkc8RU-kMtcX;AbJO6n?_|X`p;fTeuVO0r`Z~`MJ+7VFrC%5&NrboD6QL2hSy$(J^T0U9yURVp=6*d z-PY1Ugr_F_gOmseJ~+)aS5fTTDDKO=#3L2?58H}l$T~iH z0RK5*2g8>P?jZ?04kmM>+vqEk*b@~g?$;|cr@_5{)T zzh*^_1g#n>D^8i3Xp*!)iiE<`2Mt5}vo@P|ZU0PaGGypTjAgxcM7qRdwgp2cFF=#Z097Or zJ?xNnt;VWE@*j31!OOAy>+;I%j{ARtKyn4N1-7fmNE-D-SWwzWA#ZaUAk{h#^ZtFe z;h99O5th-g65F*F=)qs)@U)0|Je z5i!}*%b2=Zls1c}+#wg<5Hhk+08HMV#!K?3&L#$~Gv*gl3oWnWvs>mRZ!HPU_kvH| zQ04taRXzMJFDNab7mX;oadL}~P9m#sDeGv?4oCbXt2}kz;4N3ictywdr46tLw5dDk z!upv+6z+p!*wv-O0gsTSl$w4psSV^kFg1`F7dsWkgX=hZ4JD(0hrbPS0;9I=D!#0~ zh-w}(46A-Rw&{?#X_xle|D`sP z(Ac`Y?3Y7}&;>O;>N*ZFY|X02+CmmlnxMwCq4=1{2y}yXiKX-)JAK-*kc-==beo{; zv`mv{Qh;k*G+<@wRCz{E0SZKs`7{?epubDj)EqMZdNmA8c?P{bH0vR|7d?s9o+|#E zkM?2#)0883$@TeFnXw?wsh&Iu-s?F(h2T)IC}dCmtH!UYMADwgDV(VS(__4JdU=MhA1misT!i3BE%Ko%f;a)qKH z()lQc>!@Q+ACaP66B`obfz~ome;{M7|7Mr5rzO8&uz*c%F#GKZZ6$xba`;7kmc{K) z&UtoMj!Y4DkNI|_in{{PIm^e++M?R1%)6ZJqL{NpK}Cr9giNKWMQqeVmBt=C@4}K6fnI~H)A5pi$GjGjU*9wR}z}s^q#RTI!%%&ScNPapqxrtGWg6Uv+MUHihDNf$C zC#9$dav%TU0F!*u9yYTjzPucgM@X6?{bSIXlXBVP8+j2NM?5h2I?od;5P!}yL*bn2 zaL-H8)KEOW5E(9<8jf~hu0A#JFmw!V_HKG2PD{6xQQzXGJrzh9&va-Rm`tITF1TB& zXJ;Qc<~WSN4B``$htP+m7_*H!2BB1UC^kh3oHc&3(mW`QBQv2aj2RXFK#JO%pT^uE zXbrXcy5MH;<80m=L5=gcB-{O_~szM80o2Ku@d_Zeo zCiQ7>)jN6!xE&TyyW-bjy`YJKPMnz_?T-AcTD*O<0_bp%g#P+=RHx5FrT=yHrnl=4 zd>%gk`@kAiT@QIBOcb7Pp(yaO&|+N|`gwDPqvg2(n6a=+ms+fe7(=V9&#^WVZ)0?Z zcnw{ZA#mz&X4%C=;3=UB&p*8%--I?w?i5s zZf#(Z*wst8D?@CCx>yd>S>jd7I4rOMsf%4Bn-7bR^hC>e*#s&+VKJQV3Z+twcLNfw zMTheC#s&@vQL?Z_wvGJg4>Ay)l=K-2g!*V8v;**vr#M@#l{^IZZUbu|Mha^zvI3jL zqW;i?Q}pV4)`1zV^v4*SdTf`Ri$ywZ@%SvDThcov-dRx47AjRhH^lvzju~hL$}mXq zQ@#5M(NN-1C8{=}rfTvOtQ~O0fP5XJnJ{wPexUTG)C#VuOI+}|B^UXZ`m}hcR1)0J z=_4`K?qMx%8Ox0P>*ZoXP?~yg?fX@{#fHPU&YUREKm11jktk6Z?Bb8*@H?BVuez^X zHwQnc4^ga$@cggD5QPwfbT+PlgtA0H{NA4(V zf8Kk++-d0r6dInl;rr-R?I0!XhKjGicj5rTxqMStNh5#Sj1bt zCA9pxRO!Jz;b}ACuSILl~=f| z5rbqA*gY{|`(D+7E#ohGuu`J@m@^=py-m4f>g^>p1Ts_wvgaBWMrk!NR&;r%Okw=Y zS~;SqV#|0vCUi1@)Dk5KKoddGGwTceOWiy0y_XZCR?&67huweXw72M;iB(yAn#@Or z%zV#!VsB)+SeN-P5QP&FerHEKX+D0s$s_zo?+FfIvo73p3RbMp5P}!TPDz(s@&hq`?;bw~x71qGPF*;6uZj8)k{|rX!)x5I?!+%K>=(ZWOm)Dzs|2 zcST8x3VkgPdRasyvYMr-Nh~A+shus+Nu>tIx2~-4`_f0^sZ{NEInM%i7h0C@c2?$}BQ{Qpg_hI)9pDy}WrbNfi zNmP^iArn33*IB;3vHVnqR*Ee=>eO^c9YiCZp6`Awnlckr(cM&E zTczXaw(V{6WZyHJUv@00KWvQf8R|TJB}{dz^7JdzLZ|o| zOCPH9Z`rVUc0MYXH-^Jje(RxBLVgaMwJk%Cbo8iDJ{c2hKrYSg4EQsJ%XHDt6D;-v zNIqnGI+u7^pWLfY7mTsHhp9$CHVG-k?0ljkE4|V=$QqyCtpAHECDZ#8c6w@+D}gByL-_a_$}2| zDvTOiSO$IS?iBlcr9w$3cH`2m#-bmfiEyvx4VkyLN#4eXWwx2QjX`c6k;K3Lj$1-xl4@D~jH z))n!cmZYIn6O2I zma+TMNCq@-NzP`uMl)ceFCb6hP>Ua*H@D_eD2H=gyW}|{@^C{C4+P6M;X<9#RrF;! zy>buR`XaL3cYE(~Jl-W`a&HsifCIe<^I}-=qp^|S{*!Ts+(wh;>6O)vr^VN>x&P)K zI<2}PU;^#D@||O@@<)^D%Jo694ET%CML03$sKlXsbQXAJ#m7|Hxo$*GRLu07FCa673+J zM)|CBv0ei|K(6@&5z`{JflF;^!Hrqx!d?84)}9P(tp|< zV}uhm%GMTmHb>@-cvtSl|J8*Gn(_k>k=OD6C(^fqkqGB$V1p_xa5<>(|N31 z+Rmqb0of<=O+;d^?l6<(K~(Fi6Q(+n;I*_P(5s?d?MuCAR@=*_@Ta?F3t2;cPUMok z+gLCOo(<^IQ;~^Y0tJ5gULXbk+F;v;^A`4v^!VyJv=Gs#d|klP(HyO;IJ_iyc;+;- z*DOCSPO!pd{FyDYSPAXNWYfoBuPi*uS$x#a&Icj!t1~C#tS5_^NmsKU4U+B9J^l%&5ZI!Su}3V`+?kI~0xU9#A@sJ( zF)CK8hEK$0(Re;>_~qrvEtcWvmdTcprn`9{ATpSJSrMeaLkiJv>G;!kML;_PJyTGUHnrO z><|>zB>7^Ag22XmH*wkycdi(z`ziuCwdX=o(f226i4i9*1}NT5-0yaQV)CE^Ym=+)w>xy*}lC}{Y|c%+PnYa?GjlUlmE>u%@}&k zvpyGqk^*!enW!Me4h~86fVjlMR!qNQUEt6~6=!63vY@!VQ&Kj=cB_8SAhu9HWLzZ@ zX4tN4#W4`#(Y}i9$3Y-Pn~7j)Byo7sZii>ayGB4hBU9+0F=`bGKI_Ga`_VP$QJ0kv z8SlRJQBM(BI(>}MUA86&6fA*VNS~k*yHF05two4M1$e2Ds-3kxoVM@TG>Y5H@*QHq%yi@R)G0=e&p+OVGvrJZb5E%ta_+)aeuOO8Pzsde6Sy zmH;nRDc*lmHNA!ujI8Q8C@|wVlFu~jl^Rf}f(?CRXfqcxuBuT72mOo;{df0K5duTn z!?^V(UU16;d2Gvm_rlk(=%l~$4OT@x_4MCn>CFFamd?udzq9lo%!KT0T>oPV;$Zv# zB&dI@^du`xc3BzdFv*cwc#+aw#d$hiFt`CEmR>kAGWYjh_irno9na;AleLxZr|y5kAgdiKc%FtoAOfTK|A9d%{a+ZAgEVD1BoF#sPZl>I%3I>--8>^yka;13Hqzc@UDQz((IBSt~ayv{y+Bmj=R|C-RQ zq;nX>CjLH%U=0GJ;sW?-tI#emp6#3X2IR{cK~PfgG}jqe03-|O140H~ULgIkHE3mk zLxAAy)gc7nq050JAx0nqLVz3J!~wc-P|m#nd_hhi8wJokGLT@Zf}Q}z_5p!UqDx)_ zTgoB;%JE&LM4!IJ>_!z_i@IoQyYMb0>0Zs-KPM&<&qMb+%omrA8D~H4)pN@cAaH}{ z!*XDILGI=s59$h9N#$)oNF?aHFAoV#5Dp4l8dMB`x^*iA(Dt9{h_<~wP8KAy z{lS3NuRIZy@n^^3iw2{dcwG(8ADBOYS*C|Mv)@YjE4kmtkJ; zdAKm5KL#it%*}T(j>uPr4qX`ErMF7&X|;apzrw# z3w*Ge*D?b@_ zeli2pCy+q}l<@Q;mWmnzNmSqbd-aqAU6jjH@Cz2C0NHNP?p;55-NVy85AvxcW7g)w z=DQn@5Q!iRZ|{(^U!HujoVx076^iJ|RL^ECN6YL_JiB#tvXK3kl=G7^51P-tu#SLe zA8Z%9h$~U4!JAeAyqW1WzgRJC)0=;MQUn;0HlUS~;lBm$$ww_bjA5h1tS}^*aslS` z1^Fpc+(4bZd5 zatO_zZJ{0&rTOcHeO6Ui8k^<9DzsB=*99Ir>#5f}0%opm#bG}?=TFO!7$RF`L~b>* zxquzdLlhZa(CKF`lK);u9qLemX#Cb3Le%CqgFA`#AV{+(o`k0+mEP*yY775ry1{}i z&Jy`0qs8*b{(`hLiE3-t^#;sl9Owp)LqrD!?tVqW^}|@0t1P1Of(9E{ed^{uPpPOMh5>c4|Rd9gHOoW`y4AH^= zr}yAMa~g}>+Yt-xU%%Jb-IBaN3$RWY+bO@U9{0zopAsPe5=kZpy1;-@3njeiuMZ9} zQq=Os9VW{V5*o`^w^Q4qRbLZYAt1+H!Fhnbkf8*Zy;%+B`-E)lcvb`kl@VaFKMn&ybTQpW4PU{{|U&M^YX_$)vp6#{fSBe8-my zGpOv9R15SNmqKh6sUM}R^T4Z-?Yj}VSKMB|t*5+n5?3^}JGdA_BaIt)uXfpp%v$_W z4U$RSebKD_E|nOtsiaQjW4ava+mV?Kq9%zye|ZcYUzo#>kjp2WAu{AGGbvIKeqXwI z+Ehg(7C%Oa|DES-9y^R_gzrDyFRRV@6{}$)z{)0l#4|pV3?5p~#0zu)nMSfi_=%u@ z@@{C>9g`H4k>-_mwLr(hdn57WKBunfR~M%6WUf!oc9gZcJd0&!g^fLV>4n!{O@(5NY4X(a+yFB+dxsqm-aIOC#PrbM;r#T;y9mwD^Vv^GtJQTX}j&XehJfU3${^ z7UQ!1JRM$a+}{nX{d*5-GkKi;T|YYN9>ve@=VXGg~#2I@kQ865F=2YVoz_N2QH?0TkulyV?p)dPr(dD%k6v*Ns(0kB?7iA zm}7F)fk}@w+w}4KzK(^6xjsChdsW*Fh7w}zD6Q}FyW9JfsYzg9Np=-NQp;j!*r1bF zQg&Iz!7epWTKT{lFNTc2oX|Fe@aQCK+Z)rtS36l~a!0w^OI5w*Jh>Tu3GVhiBn@pA zS(inps1YRriH;_YY@67qDzQa*JOV@Gw?~IOJ>;Qqc~yBM*Q7x{^Srhb4E@2shg#2; ztM8#{yC4>=oMPj^#}KiIsw6Lu141mr+=HMUa5B* z1mIAyv}n?;7G3G~lN8vupi@(Y1-1$@e@rvd*c+2k2hAj_5PGL=7`w~7Qm;bZgt0H{ zb|h*x%8e2JjoHT*N<#j{0t)Ff6wc(2TXb3KKv)1A^@1*lQQ7aTCL!pCXZ5m}2f>b& zMzBRtFmoyv->oW!cecB$HJ=I@YP-j}a^1#Ni-@N~P2<)ldG4I2fL-eTc_h}^4YML8 z)mnI|eS0Lx8o0iy)5(``dqt;#J-xg=>~uJ=&>@i6uTR?9eKLnyYOsjtab|fy^!%og zFg*&)yB^Cg$_4-2@CR5I(tUO7fL1QB)a>%c3WdB>^Rkb%;#oTFxHA>`Ux5`)UFE4; z9{=HeE;rFs@ERq=$sKf|O49+{uL8IbpKuDy(v4uQ}6_c#+l8ue>GO z)>^3GI9rBo*p4T(flLwPf3j(+j3L?R(^syMtwHYluv+@Yc@eic<)(4e@fj^D|H1+^ zk2StF7LG};p~SN9_?|B*CgpdHG0&PuSu zW{a%V6L8>rx-k(}xm{rdQmHBbV`km8c}Yr< zg5A*gs8=~$&6NVq(N%`vZ^9iKVs=xV8lwr_f%W1WdN4FC`B5im+=48E#H8R0|@LRa7a z!i+-HdVT{1y;4iDKqQa2?t!s)h3V?Ez|XeLDt+>91VH6eBJvoPiJ_x(omhQs%KW}_ zl)OHoX)349lr7bw9tYjZIvWAHA;<)Ds~agTVp9Ie=4;d1mTMi2UuWbqlob3bkO9_g6!kZ*y+a{mgL;0t`rGfK!P zn+j3G~jI?>!o>+!Ovx4 zmpL8EUpw9AcvySN`8zWZr!-mH%#gP2Bw`#6$423|V(c%3NRAKL%K6@x*(H*Dp(yHv zpeBLffLSUz%lPlhyKXd~t7iR8-`|y)ZDLQi?Wi4kE}F>*m35BQ%5J$0^`wP(TiB*T z`qM=$i$@Y%)xF@^h2*d&efff49NuG|44|fTaNIrz=O72dowC+M2Dbfmpf(dC$K&(4 zTb_$_gbfBGC7@j3_y}?idGbDY)20Q4ekp=?C3PCio$_!jaTLVB_AR2p6ZyT+m&^^O zi6mt`eNOR}8G-A1K5K;bs`QWidd=*mL?eUkcUjcD+P!t8lLV1ZYh$5XZ4Z(SYWlI4 zwc6cSYh0R?jzQC?eT<)d)Ew5Z0ol*P%7+%l*QJld%IlSMq|9~Av`>$C#D8=Ndid(8 zoH{6jammrLnrfqg^}S41zoKytrIj;KyQ$(w_O1?x1V7e;LI0AatYAdh;f^uol#n$J zN5KbghwU=Z@@~{L31^#+#{docT--M98Ge?R7f>Q%!VrWf(wQAtg( zFA+3V6kGK>>dx@Z<EN(iA(r14^i&^^Dbi6qRzN z1d9F3;AZL$wPBsYUHMsz&w%v{*6yBdw881za=}GV0XDDJ4<*-IlJDn|@;u0_x?*rCY;LCGbxx=~%VtxyIQX zCryn*xY|zy307OW;qE1t+U;XOH#JkLGT-zWdacbs90zsrQQrKYH_vu-_kMbsF~gcIC3TCqBv6@0qhnJ&4QN@ zSg!-`I%^WL{BWFK%qe07n+hZ}Le!+Jgpa=Mq?VZz9(FLDbHNhe&ktUE2*n8Ze%_CI zW@S^rwWC3=zNM=riO^ng2o!!w{v8xcw)OWk0lq5szEmi0pVFBt+1}hT?bqXwqO7n;(Ai(%gXsA(1rxt-w19h92G z5EJ_yD{gQc5h?iW-O1Yy(*1r4o2+Ei&BJr%^5A0T{mPX)BR2$?Q>J6i$uO-cww((lzsd z3wu>M4Wb8y&;uB*C#gG@!oo0AF_St~pRHxlG|wW29>YF^cd(BSrX>^QeB+KV(#9!w ze3{DFMEwmJvu9}MoOc~9m^#F*o}?C0IW`kaL*~bPPRTn=5M@Q(OC9Yg=Tc##aBK6X ztu==$AT{wyonR(%8K*2MUId8L3@FyXu$HGLp2)X(shWu0&*_DIFM{VYV+R~r29col z$gb-k3DJy3_}x>c+!NfVQ=BrsS9tc)44htqR7JI27o@{1EDh%>VB%c*0bYiwh^!uF zrgIaO4A&lOn+>*FffuKT7E##PkX&J1Tf);?bW?W05fXIl_VX_%vJKLXo&o*mKlEw1 z%E>Wi*N=3b@^rr^_x?@dwp2=iYhO<(7AMF2)3IO@Ct#_{ziD$EyWIrtW7i9B9Q-_) zz@LjjoiZk3A)fAS@teu2$>JVz!s?Bg=84@sm5OP$qn4xLS=;}b(g=im6AV%Ba{fp$ zP|##%5+hEy!FD95+cEs)mIwcajN1*Z% znH8fSi`(b$cE9{a$NxB1iZ0M#Cg4z-hKctOO*b-mm#D|GYj^rO@vB@jg;3rGD>Ma} zU7U_O3Gw7;yO=U?yO#<8E%sM{sb(2~s16j(^Mwvgb{pJOeb`hrZk1$IE4q7THgo{O z)D(X3a((U%!UE^&PzF_iJa-KfJciq5{^u3=qGy`%M4Xt}_s`DVQm_oBnP#5gKf=JH zTLpBAF1{>fWJaX&Pm8KAw!K!ADpb-bx>7bC`P3h%5@OqqA;z4CRH+&gVD?Covx~Bt z7CI}Flfz}UHxPdP&c8yJ4amfv0Y5z-%3UBDWMF)v(*lI7p)|EoqMe{>Z2L-ENOD!EwuDjBfDmj}feg5?P#IEOFDo%sWOUufNn@#@!=E zX3lo|j;FGUfeYbV2bv3z*VOpMr{K;z+0JUnEvy1G0g-T|H-G9H-2yn=pL5-7S@l{dKi_fycLJRlwigZ&^(Pd>bnwR1Pn?B2gRWo;r2+ z4WK*IM8sYsRLP8{`O5Jrwis-=-mw3WbCV33!g*egG$UYL@NIoB2>>C9IoqI2TtKJ~ zY%2Bdq74k%d!6XW0qeVP`T73h+C`3&>TnR1GvPLT!vhIJW=BA(+P&uW#!f7>adwZQ zn4V338G7djtQ&Pemu*&UmoLRC(=B9|=5@1}F38)hAoo)3F$-y!eflcsY5$Cu-W_z{ z*LBM(Xc)K$mAB&80SJ@gTk#8sa`Yk*OiU&Cg|+QqDg5QpV=LE9)^lb;egSW6hVT6L zmyPUcJF#$|%SuW!lT{kA)n&fD6O$W4+Fv`lL&rM+E|)7Ud7QqNH#*=o4eg-rVTQ_b&T95in``3uV0`d^4L&ROGhnX2y9-e$2?DE#FyX{kZ|ogFsUf{-t7p(xs7<=f6biq7zh<$bk=Qe5o1I7p&}31dmAPN}NqMJ9Z{T5|@K{u4x{OQS z^vxbpmp7MG6J3e76z9OZe~Q!EUR}>@%SfvS16$^=%o1%Qtue7$r*e4z+*FQ&Nfr`& zzDsATZn*WDRJ{$2G$2^+bCK?O>u=Z0$^Bw?EQ``l=!MvvC|us4?5lo7-4dY?uL z;HTuFR;2FJhb$3WLeJ5N(KCb+Fi2CQGQT*uI&}YTt-rrE7V5oZGo0olAs6N$DC6ry zrTu*7jGjzmbpJyUJs)xXt{hN-08aqa@je~*kuDR`U*(x&JzsgmBZ(fNlm|M_`w{3A&c7 zR_A09>@8%hF$?}wPb5@h{H@mW`XiS2+8ubQr<4@Vv&31#^Y}K1X;z?974i(MzODRE zVQyg;wu$?!;w*=Ts1__Mc76x(TDo_h-l(U5%E+kH>CiNW!YDQyzJ^>1T?+!w7*F6OH|Fyuq~9C(B^m zDhj81MvPJz=s`_oq6d#|917ZgMXT=lFKyt8bX12*t{yYAiPUurK>2FI1rD{aZ)4lr znU_l$8+q!h`!W`A9bS1Lv|A-m$=X2vD@UlO#RLg zXEnWItQcJT2hTNEp4_!}y^s4F7c7sbV*J??Z5-hv5LvcT>pX@!%J-FPY=q@q%eJ=x zRt{Xu+3RluIfJ4yz#V{vCki3Br+%-rR|6tC)DQbSd#gVhW3Ln7$6iJ}&(Iyq`6t1z zcF~RgPb-&omaXxso{k~uIPX+;Cw8vfX3Bqr3S!B%J{u_y7HGs^!|Se0DLM{QIwrtJ zU1XBD#+6wUfi7WE)F+_Gblz}%G8Iz_iz|I7T5%^820dbJKqlJTW+o{D9V_O6EhV{H zekw<1tzYqSpkIn=W)5(*2s_ojf&*W}1$`>OCd=^FZ(Z9wz;uFmY`g3%SF~Ju{(fq_ zaw*TCsV18(%x2Vex!rIp4z#Vn)sfq;e!Eh5(L~70 zYxnkFQ8HA1K-AD=CJFgn{0To9)He>;DXE0K#A$>=e4z3~OS+NJXklCY@1!_}=6pFv z6j#=*^aFrVq{Z7bR;b{!ZoHd>5ijohJY77*AJuQjjs23d|JDq%{)mCaZ&-JTOm{zwK3Ua2#MyQB)N&V{uRGlWN-rjumLzmkyK|% zHxkKG=fH${GCIP1LL$k^K@QKZXP@i$@0v#+tL2Q>>`z{=+^!klr*zGM7Y*%LmEj+@ z@V|lv;{IX9cnbhr@O-Fx_y9yi0Zc?h0(z1{esE}rZ<~?dtl%BQg!aI+Qy|l!PM;v@ zI60zdK^Trbmf#XR%2wF!54+4GIC4|EI`&ffS zyZOQ_CWpg69@&{J=*`I z*d(~t_b05~nHEHXx;lgl@(?m`1!zN|!ObeGo(Ovqa{&a?rhp8@ND+R8AO2T@P-y1S z#2@l_P>M-&AOI!wuX02X$6!tpWF07|2leR9p8mWTO%PKONH<5&fjFp5{ns%Ooj$_F zHZO;7i$5fAS0MMVUcX`e*H*u%2ZpE8Hvm5z9Kb3^zxVQFTfghp{Nn*2_{c&+AbNmR z2*4Bgn$!2XAaG{_`vdpGMto`aED%ABQ^1Wqb zi>JvY<^uL4K=utbKHkpv&)1ymf}^>-UlZyOrm&D< zAIbD*Szq#NpRqqQzTlu}c6aJn_b877Kxn^_+qq%^h)|Ei@87h~JM`Z`>TmR;Z|aBd zDako_n9t~j53!f;T|o+{#dAckVjT`rOBmMOGEKivh9#(vl~YSU8$w(8@5l;5|1yg> z|FwKH;MCZAQsl{BeOD-9CQWKub_RV{=hH=Arzp!9kk0{sY|>X9KhdMR^ABW^@YLWmkIkr zqCf{whVuz%wpZWOk3JGR8iNm7)9e5hiZNIO+L%ZF`{qFC4~{2wk#7(s<%4E%5GYC{ z!*6~5fS$=e-@kW7uoaPezfm*4V_$a+U)@1AU3>m0*V3#G!52pW0r5Zp1;;Fq{ZOPB zL@ayuyEgc{{wp%Vh+D|OHtf4r@dpPb%6=60BoGD6o~O_;U?b1ASzl`PBQOufDWn}p z^o19YiitjmZho)b*Aw-9hA=v{gpPjvjFqqT{QUOZ1@*%#K&Um+$v#daOhi|51;J!dV#+F7rPpw#C#*>cz?;UcllbkUW`{p&lG}= zoZ7TV0o8-uIKIO%qK|-w6=X?+zsed=4ystp7KMQPbQVP`eT&Ulo;jlf2K{Vr=g*gp z`&RHOJNg7oVlm+^LwE5$SY@eW4KVgq{VRnhmt`FV!9C?dpYj2jQ?aUcd^wF=BFE`tdP`dE= zr=K+oSSHw3*0a;03y4-P`5s+vV}Ah}kGc~rI4m~_^RTEc55*)e3_Bi{-DY~*N=xQ!6|wzS&T5>T5RzskJK}Y-N%TZ?CiLvoL|5h3 zb}^|bHC;WU6oJ{OLRyUiZ%s{ibjlx(8Btc%<5xIjkn)2S=Jm5;>ApE&DvA&t3RVA% z$44qf?A7S`#R&3}?e@yw*O*t@?e)j7OvICPExmuVU$t=Z2I@Nt-XaTzFH4DK6Yd*H zb6Ylrr(we0gvP}k-Wm2|vx~JSivz=)I$56}Dpuw;FK&Z{yCq7S(!YYVa&MVqpWE`s zNj3^c!vrU8v69uH$)b?JzakNN=yDFAHjXr4ChFEL^*HnqnF$ zw18&kUb0%^bASIk!%c>aLtu_TTZ5X`CYC0xBU?s zfsP)`jKw&lNXO(Bo^4Y1rTxdmJ%M;ethoyddO~a@BD28t{fnar+4gn(*0ArrC; zweWoX{?`K4u@;a9_$TAW7%_BzLRSkA5t-tpVJ~dHX=Aq6chQWB*ueIL@PF7kr{J)n zMhnNbZQHh;1`Qjtv7MZ#QDdXAZQG4)+qQ4-%>C!S{Ez$n%$YrVt@V9G3vYTNg_a^V z<*4@t{lUdXhtD)dWu>CwIwPQq<=MVCj9{p@4W(A&$=zdpC^Bm1;(`T+RKi9s%Ns3HqNACmk@Ut zXk)7#Fx`rjeH15R6A}Ry((kl!ui2-+Y}fig)b#39l3q^6Z-dl6x45+(AE9bDm0;PCk%%jaaT~nd#P(2F&Zs_3<4)B2<@nW% z(B&3og^VIDeX@-#bfnmahNDyN^JG<7d{(mG2-ekQrf@;f@`7nfmxF$pD-BY-t3X|Ka#YCS9WL~?f&hQI=5R1Sq1yQM#w{hr&g zjBVG7n(tV=m}yjov88s12mIZKtOzQk;0`cXT``z86@$6_krLp)H(8T=FcFd#Q!jMz zoNgv+8TuF*c6DG7?F4FBd3TonYhP41n+`FhX$U%~J-{pttC(N4p1|W6dU)}#kELpx zV4PuJrADxKj2Ue5Wy*|KoQGf!JHkcKFyAEh)8>$xK|>pyzDoxteHpjn#tG4~lL3%} z?l^Eq7ENidu5|B&l^;)>z6C+S`;F+@Tsea1Bt%QS%2eB%enfVL9qJ`eGeUsqYQ88M zb|@0##OjL0$IcG3^TKC}ZyvY&+SI7{Z%Aw1lNvXtg*EynzYvGrsUOH*vsU-@pxx>5 zFJuf4CGuR(B29H)$Ww?ubbBRi6A^%%Itu+7`uA~?iuUQKzo#(HY(+2+dgN?9qS4|1V!u(kynR#79D z@pTXx5TTEHJXUy|=^eb^exPi{J(Med>}qwd|L!dE?y2M8zlpRDhzo<(J3IxvwrC3o z8NL2o!_P0#;t1W@b)VA~P8M_3mBsp06R2(#v`{`tQ-q#>-u&`(@g0GS%2|GL{f!fj z2kw2h{{5(7-}~>cZ;|w74(7{wO+Wgv-6yKo?&SjgJO%d~dsn!<)TwdFqr|A}+BsXf|o1v}mCo-wEP&uiEZ$|cVw#%f2 z+)tseMUq!PAN1!?wiabx_+7x2d11S&?`Q~kxFuE6PCqPp<8Xf#t4duoq>7nq8CJ;&aIN5|P#z(;-&Ub(|d#L1ViSw!hn_1qf35h-dWxy1P2Kox~y0 zV-qTGLf*3FH=~@v@G;q5ShW z1SOdXUVQt_jvISDcV6%2^1f|X!^K6tq3RqJn(Jlnb<&E{Q`w*YSMBiv>PSI`N{Lzdc| z#dfdOj27m*7EhJIg!r%>!f|HT%P(J`r9^7 z7vx@$FVm}W`ST;&m{q1Zj3UTF@?FN=r&gPhjg16Zn?H7nqXPld#Jv{hS@RSJ`3@h zIIrh8I(-3Oz3LX=a#A4toLk;YRR*8oOJc|OTVB0$6q&B%iS~t6+gon=V&nvm0*qUC ztOs7d21RORh}V|ZeTB8IQw_OVqOHyM%tb6;hL8$Pia6NRW0E1IGx5bqbiWu^Ct0eQ zs;5T0HM^Wz9pu+KBlP;Gypxd~zl>qRcyV*dS{} zT&{W|B1QsrmzP-Q*^3D9uCYS-?B|AOe1Kha2knm)T%!#t(ZjwF>Hb~*(;$59SYiGu zjR=&{;Nl;2N22I&Gg_NgccrqdO-sYM+a%i*ufB6f(zR>JHabZ%J{;O8U&f%kfI{U@ z1>GD{xb0Vla3jG4=2;c>PfPH~+6Z znVa$r1^16Rf|bb3$_n4KS-AKIrIfbteAGT^YkLi#IE%|zdgd4Qkh0%F9bAZz=?9GYrEeyIDH`u4{S+C!g)b^TB!6yrk4;pLz?dW%@m zj;ZjOWu}lPIS#=~FCz_w;-==b^1>v7KW15qZ>+VZrCG4%mCW_mnpOcewt=bFUXTu7 zp*JUxrv7KvNmE}IPuTA$5$uzTK@f?Onx(BUn=4UmvvnNR?@ER>!=LujHLda_1X*Ed zlacP?{D_W-M?%_)3*$jjhrmpop--EZg9#Qq{hy~|E4_fJ53e-PxTc0}*E~&b zC2MdNiHgM_pkM}un@FFP6Zs{gI_e3#NY4eBQB)!9plaRFW3W($LRA;EN1J+jGIm>) z4zs}VfyHq2vswA2pEphC2{ zfQ{}gFpttWw!tZvBt*pfGLr3_b@&cbruNSfe&j5*uXpyK%4T!!&T7EkHmD~l)aJABIR$QY83&^}!>Sc>{D{$rhiuZcN%w;QWp z6#(rPiBX&tgm{ucbTgfY$;1%2U;{I)Rc`ggVS-5Xv1JC};ai&d7MRIiT*k1qEvZwvo7P*%<=ejMp@riuIou$N ztreyoQ5;BlKmctlu9#W6Nn(B!#(0|?JSg#tT?o(WyYJ)oajRsTxB794=sHXBhcQ=l zGac*Af}tq41JP`(m~GJw3o5m=L3n`f16A#k#ee&88Lq<_FS|O!m6B>+0j?qu@>2{Qhxy55I=8 z%GM}chjZCD;nEpBf`(t)Qw>Z|O$yk!d^Wnhi~lA-RaQYvhJqA$ZOw>pPEFsKD@-WG z;j1<0)_7%pFcua%E-ZL#agQd@%N%)Gl6NhKYIdfkn}x@7=sb*D9}*Kb`^qU|NADAt z6&6rqrL4t%M!Ye5AX!GQvZ@s_`1F|Hllx}j-{B47)4?(R&;2({|$UkAX}n$BGt#oJ$uyB%XQR>TqFAM<6t<-4vEnz_4|vZSM~ zdKq+D2TBZ3XpzH-gh%4Ao#4zy|EiTsNr8K8dEZ}Kl2d{1JJ1rs+j2>7%j(HRsvXlJ zD!b8fSXaZhK4gT;s@$WD!4#fy6P$jkdx{ai!ZR465UeL!@+jjB4^Q1srL$bTwac?w z${EW4=k~LQJ8%8*MXQbspU!<0o9fs|i>ma9J4OK5o-8OfU?Z}ix&L_tLo3%ytaQ(7 zi5_7?pgCjF*(e_$H5yKIWibDV=S@fTra-M!&Jh0P&7E=X`}u0ft;G)|ewRK9(tBx} zRfvW4Jaj5}neP(9ZLJ~d_lL}sZ{1fio8z>1%DE706A9@;soSnYT)M%&`X+Z{>|>!0aNz#{DIaf$eUiCFNLD=i*_^q~UY0hCm_t}&y4IudkwH2lz#ASr9F zt2hiV_((L)sj4Lp@8(eB8SHR5z<1yK0sg(C#cUKw&)hJgWs ze4?H2_4Iq98gg**Zz;APRnKUlT}udR=pMxUA;<+Df1b8yjzz&JS621` zAiq=DI|n9e7%j8t$5db)S?Iazuv>6lmCxRq1?l6B{-7NVxMU|cs$z=5wW>E-^CH;A zEb%HK*U$?goON21EWXHcQx^N_IK)qjU8Y?+UYTgJ+LjoPSz%G3cM1FcO%{va*Gjcd zNL|qD^AmW=j!cP3wz{7{5^>hT3Kca3?rFRVIl$>cQybwbP^wGF3)+t=N;0C9z*;j( zQx1aoeDPlkZZ#Lr*X$en7_f3Uvxw6m1*5qkqt5oj+71?u8)|5`Le|V{mu0=R{JDxz-@x(occBF?_o)c_)|8L9+;8b7Bj z*I|aSHES}*l>4L4HI1ML zVxI0V)#LA2_z*7zMB&~eI`B!N#O$6!jf6&WDgRoW3cWiGBi-%mCrypk(TnUMpJ_sZ z+kq<=XEn?#CL?B_*#d~H7@dSbb=HIiwXkXC#PPUJTGqC05la=VeFBGTaT_ugORCa{9p*n7 zPKa3MGE&}YPo_6_WC}J1kA$RFd%zb7?JPEW#})>;5AKm)@HQOgFnhuQu#|J(-_@v; zMZ@FjJjhnM@{_Z|cDmBX^D3D{or^*7`@Hwr;JdV?9km;@GhrIp_Rs82ab=zv)Ex+$uK8Al*ofcgyEdpD(gn zdE-{N`f?>*Cn}D;S>R&>B?kkbi9d|`TpAyZjEn*~>;O$;aeKeTDQdK$)5HzQc| zl00QWdHG>E`>R-p`ce$)wNtNKO|VQnyP^XL7kC$qCcQIe^iHhJ{3;9 zhoCjA#5lMR?Ap^JK=C}T= zaa35xM7M)SqRrW=j;F&$5h!Z=BPy(f^bn&|7gt0+hTb6mph1~sMaHC^+a05gqPp0V z9<|`^$T{NxSBxgRfY^5F`O0J(%vg<)MvKVh0w!R7cn%K8A2wS|>F&9lKdOUvGnpdB9(NBz;A&?} z?p{Bkua^5w=T23S-auzZWYEn0)&zB?Ft#*X63J!g?SvbP&FM8I`-aDxg-Wx(Jb{;w zH**5KkT7`1k#{X$W_rDSE)+D5+^$3gXeC#53rP2`i)E|`n15x&YmK7w?B~7GO&{(M z>Uw>8dZQ9` z%Zl)^=b)$w^eo1vtF-;`xt$!y2rKZe7%BtG&c!+5tNXNm+5H}L$|Ny595?LI|2P=a zuqodkGM7q$X_?XYIoHIJoQV5&SiJ92O)`3dy3i%in?0de^Z<_C-px*wMof|349dz^ zko1Jo?3C)&o+!U@gI)T-WYT%KySFy!DZRL4K=E*B@SU$biNY^+S3JLjg&>do{Bj?N zc#AIlwP`!OU46GnoLp@Bcq19Ygm<(Nv~mz!cSeFRY@j<13I&tZes@U;U$;NiTFv6(i zuDQcaS~i9vdBVzbK6XlTkAKZyPR=YPa42X`OpJ3ix8zL5UkLgKZr|8r{^*=Q8lJKc zMuKGX`IsK)g}mD+We$YQ+&$=M=CQgI9y6LrW>L|x_n95%m`Ne|hfIT9^=#};Z(0`b<9c``$2p%hO~7#`V=;2XHFa1}eb zu8L3h>IO|cUYZY>I@wN}yOyi%9Z58C+Y(OTX}^Dq&538MQwtj}q;MwQlj?cf~rQ9hl za(?C1=g}Xmhr|}aPpbw|cjXVr7B~9|cV9IT)tJG@ohwOCE~@xnedE9sdiElcEAdm} ztrUd(zi@|O&m$OO6^W!ggQ91nq8Li{hQDA9w_NB>%8x7CH~-}_&{z?9V{0dOl3JG}BvPu7v6`z+)bl76{ z3gl^RNqV*w(KC*w2=6kR106w-d_|A@dkDoo%g(?ATx#1`jHRoAdB^6kx2{zR7HQX; zkxq^Kncsat2T-#j%FmOC=>*9)kF8sEj)q>R@^ZZF{Afnt{K|1A?JF6JeXXWk4Sx2` zgGWM}C8Mkttq0^`-}!oBSK*5-naBM*C?bnrk#(-};MEE0DPcLSH&X80rw&9>#2gdy z`MOmgab_BUX?oL5Kx9yYYj5FQu+lG@G%k-(;QT`QQfpN&BsCt49ust2-f1@rvc^K) z{wi=HCnY)fg@$_aJ#q7gTEx+#_f3&sj89D-=aPQ-D z^IujgE9psD!vdHUMClTAvjLL^o6|I$0JL@E31h(tcw%s{loa~it(Th zooPn8nOsZ}ZrJs2Ve?C+a9DH9f#=Sk5&MkmpyLLpUFUBhF|WO)OD2K_gKyW6hm(zh zxVE!Q;Q;1R!sTQ!Ss=5~V9+jNxD1a5lZ#~fjYjTM#s0gKcQV*_Gn}7z+oaPqRL+q7 zZSWvCUji?Tl$-aP+7DO){f&mbx3pq;Q}nom8AEwg8yII*EOW@8W^*p=Q05`^75h@f z%=A;fQ@*cy6+BRV_^!_f`ccgtm(<;ytd}H7d;ob0)$&u{Q~`~;l}5o81z!T@>IKT<5vQ=9wKjK}rKP~lhs&AYE@2#Q7yD!a_3zTYkyTISiV&gXd`9^F?hRRK=&t^L z>t2xW5HL=(v%WpJ{fT)*=c~O%iE{K_-sn|sN9d6iVzcP&g#go#skcoRmGDmOVNZx) zH82QHDZ06q-J;)`!By8;)j42jU-%>|NUk_%mc4$ud$!Ma((a+o{$jll%621-G6hHC z)ZqS!%%0m_^xrx_T>q^D#KF$<|I$J(c2%0GGO{u$a%CJaWVDR5q%!XA;W<6Rr*D2&Uw%gw zu9K_Q7oFK>(MMfZM{Pt*NP6I)y!gSK>bRiN@ct0L3P9j=po-8yNJ&veNlA^+n3%+I zR$*VU75dB|B=ZbmTIRo;fNvsVy_N_?Fj6M(4gbrB$Uq0700Rk^51=Rr4hHEH6MOn} zlOQPsi7<3eMHG=o$%*zCSE2X;2ZPN_F+NEYwQ_i60D>Hh4btYWynA`&;Qxmm12)Ki z2ZWJjmFP5b1r^K<42Oh-g=Y24fYzhnV#X4imSnoWUmWE;5>0{xxG?p+0uwN_^!69R zfRt<#w*~3OgR%_D%mw(+DR#hcR{OsJ4&cFztKgBrU@ZRV2w=bRSy1g9@M+NeR|pJq zieRT51Ny#rtUn!F;GeCzKw?Rbg-<>sK9gXez6cRQL{KJ~3|p`f?4WCY@rr`-jiv`$ zD&OmY;Mm=bp`Hf=VuriDmxih6%XoX&?M^Hr+DgbELmbbV-ZU_1hk;VCd4@{eIuM_7 zL1}ep>r$XQ=Lo;@RVcbo)q+WLQO1`${Q;##)aYyfxA(@HU%j?A0H@L3A(#(DXltA3 z0>+oqznayTq1!hO5ryNdmX;Cu#cLMcr_p%iNRLh8v_#+|<QO#7&^oQbtZ--7ulSL*KsV${;en> z-X#9h)knfW4C{TJXisLxr{kAzmk1*#rJ^n7r!e8yFcovmHN-QF{{RTs(|`y_EXyG! zDJ{bFn>&D~$8uiH7W^6hJ!p*#n}IXkWbV~ta+%z!}l!>P7WM$2;LULkZ~{)6;Xh6Mwkbo5aBL(^|)^uM%-X*bj4K64^2;TuWx39!q?K z^{U{`PTfn}l4T?M!ljy_s?%>u238_t&XbNmp~Mjt$E9m*W2HSO9pP zUeVfdf1=mTpMBF>zct>%(5D{WGG=f=8t(Q6>6Yq^V*rcBgZmwgET`I7PJ0{9W?vA?DO1q}ur(H3iet03R-Mb_m)L?Dym-T3cD^fYE(nQ zVd7{8`-k__r(k^iUXFc?7?c8`n|U1Jg#@3Lw55sOexrgoNbQ8Z`IYJ$YTIk3zLV^h z==qToX2C!8JA!Y=_u>7RH+Ig9ngM@-H;5p@l=~Zxv_p3>;RRkvEccnoSp<2Q&NurX z=3I0vya+>bOe zqTRppkv|US6S+n;?(=T8h!P*tTE-%|O`q~#W=SMm32hQXH{^dqa877epI=R;gcKrs zQo1;9H2AsdU)4T;)N@jN^;HHqwO|15WGnvZ@A{KLdcq`u7WqLGVAIGun?2I9j_<7HkFss0(?;w?) zwNys#uTmx5`GLVW_0)f3ya*K*{Rj~w+7!xYK`b^>kG}A8pH^D%GOP>0zTb}TQ@(*o zog@^&S~a0ENlcIb0km*jn``GO(Td>xOJqMmA#A%r?inCY5zZJVFuUqK&~cSw6H_!Q z>8Ms&DcgFL5yKuzak3R$1AcW(~V41FZg3<5EPt+-R{S`+Y7yJM-m%+ z{kjT)h%1Mx*;73Codxe8kjsJqO?Qw*rL}SV`P0x++AD+B8<>1COHjuY)PHCqdsoM0 zbj9!H?zq$U<#M-XN_elCr$%N&>+g7_*=x}&VtQXX3YIfQONU32$6X|6X7EihLbeIz zZq0H|43yIBn#$PZ{We}~qHO5H(&Un_ah_?+oOkBTvlC;D5t9(6uigWfYmpgV3E^WU zO6d{i+w;pD1i*y@Q^Z$MmsOJDwU}y#n@oF?&1RJU5wFZSK!rnK=Lv4Y>!nF1j3et)d{h(tkk;;v+7R0xG64G zO0~U@D?E!{Q>X+HrFK&ZgeKHSZVPKpX9R{q#cDBW1sjB`ii$2^e7)%s>9cW|s`xIc z)r93ymBxrhY*NE6B6w&z2?sZ)l0SaV&9&XhhW(rt-)+uz+J?#gQ>)Teg?XL!hK#P| zW0p$(Po0JQ9WoNdAmlo_?{1LTqfM^8Bx7Y=qON&~t>IO1KtAb}mj+#3c_56d^?>w! z3sU=Aj&BxnxI$9g>(gJCi3r5Q1>=wdGT9qE^`B3ki?M&> zd3D~sO!p)mR);_rEq~b-}eAlr{s-!p~Ya5Ti1yuM8$&E$CJT?jol+rTlg9BpF)^l%@I`Rv`H z<^~M~4bO6TrJv+L;J z*{tH-qt`g(==u1Cg4MOzW3pBagdVwtfOA4}lRm84IJ;t+-`~cAX7U*;`sm@RKE!qW ztDW=FUg7s1?e?+EAz*?$onW7$f{XDQ!v{<;l{vcCrk`5PEaiiDWM7gPaUd~DaXFDl1Pg_pcFfph5Zilrgm=;pk&Y<05sU# z*H4V+sP>DK{fc@H^>UX+j~oazRv9Yzi~i|7LYg-oS79rjjjJm)m&+8d#{}fe_7(KZ zm>Dm}juhP<)#e8h?hsG%77Hhv!i0-TY%P)ZK~%fekaJfGd;oS0;8tDB;E{Ir z31wUjP|RubUC)ofeAc0Ev3!6Sh>+rl?R?vj!Lv= zbd9T)gVjfx2OW<>!{dWX;4K+x=}AyM?qG&)u=j*+!WiRu*6E>m4c*GVG4tp>sysQ! zKs%U)C(s#oKUQYDzVuW{f$xsf0JIVq)|KWAwun9L zuvdURLejp=Ze7z5NF$~Zc-|p0;l1jo?uMLNAjEMYBtm3Sh*bNV`W=ibg^QM zbO>ep2y>G=m1~3AQ^~(47q+mh@O!UH#RHry-KD-2QWkYM0v~Q4@*FEau!wK&l;{OM zUWz@7e(-Rv8fPby0R!$*m2TMv_O(eI1(vxt0x zhQ-+Pl%@>v0EQtKIx`l%sYWx34_U3h69rAd;3Mew@F-~|%6M(c7DLyCeJ^6v?&9Vx zK2zGuX)5{&**tv$DtmVVHJJ=EdX;YT(sc^Twdn>E?P;QEpmlz=?jON#+?+zc&g5(_ zMd|*`qvm{DSH=aPl^@Q?ENmRQZT0<^^H{rhiT3&bU4l}&;TWMY1KOcA8sfK@e3XPDujB>$i=jP?rgbr2uSCU9JJgtb)>#*&mr)va;e*_B=_z-_?ang$y>$_CKwSKm&}ck-*7 zWZYqbi>1;xkf$+!Y~Dl^?oCnXhtXo?5|z^=;od7j+Z1A@kp*XwFGxh8H>{@=Q8c3u3Dtr zr^f=9w;W0FcdZTm7So2441H7)Ws#P^*L78XSq;Hi+~5|<>_Mx1WfOq38B1&lPMsQa z4zEZM*qnJT7@vyJXq9rh%J5UWe$Jb*JthYDlgm@atTX4pRnu!^K+GrD#yMd0*f?A( zsIK9!6q0uRYn9sSffLl1S7;;DmB5Zs8QIF+)4OL(a9wbmCe{w1bWZ4_J$`#-K>*tA-$}+U#K$8xv zbAF!2B5bV6Sijh|AnfBht-=bw{@z|7B@P1b3lbM_9xgA5^@vAM<{4+?18`Xz45oX7d3Q~t2qw=rDorh=I;X{&c~q1(@MVwD zKQ&%f=llY>Eb8B{An9kqQpVr9b&Hy%Vj zKfH=3N|5p&VYa@siMYXhENa~Nx{ZHlE4pxqs{D|u6F=!rcJQK38FJ5M($+o4dgv0? zMixnpcF^*jj3iC?dbLfy2vO_rK1lpSG3mDk{KFH#dvtoqUi%ut zYdf0EB!5qWc$6l}w3{zeupJpOlL-C1?wNM__xDmZ2bsfv1MX1zL#0~BKjIR1Ms>e* z_=OFc=PKm-Z;A_{FS%ia9Nbj=s-yRIed67a;(z@mOZ)4f-a=iqpz+#Db-o8mQ!}2S zQd4l{IG`_z-qWCD~bsCD&q`_MbEKRWW=~@iXDa z9(h#58J0Vf%(4rM(=5Y9L_DApviid}6Qv5&a*kd(efh)#q3M`}UjdHg*P?P1<5nh6 z<63%`_?S9!uY+C5LN==wWnJg$A485wJxiyV)UsJgQW3)PEsnF)+Yi)=WkE^G%=$0u4a(N^jRb~{6?X~l{gHanF2wL9{ zDD*U{Sl1ITT=_8E(!eu`L%Chat-`9cQp5i`t?Wn1)d_9tI>;2XJH}zaBp7;i(hpJL z$|Qs*8l1>*Wh6hAmHu3glqrf=?5ZOMfjIw3P&CjX{6@p`bA4d|8GLCh-Tj4)yi}P;e z5eYzK%7P?A6M9RhR-on3_k*b~-FWS+QjU57X#oZ}wd}H4SA_%vx4r57rd($ZV&;jI z?$2fVvkVR+mPu^o1Hcm!bU1Q(gnX4t)Yb<|O6+kaIHbJUKgzyu2 zp*Iq6Aw4D${Lz6TBjH6(2}JEpG?(V&7^Jyw_@|EFjM|EEEvHBM@61S!8w`<=$37QSO2_y!U}`BO@<{0Q?ezeZ*^ICpph>U z*NV?_bjeUO5f-GjKr=qQ&x)%z<^wB0@g^|Ycps23R-ko%E1X#NDjbX`v=Ndh>tyZS zHjONiAP%*-J4LZ~XE%?DU`M)er`&ez)O5 zk2WS7Cm!|DAGPTo-l_vHHL~vuxFD@N*L8j*wi^>4Q56YAwbG!!tD3AI%SL}xWL(4E zEZlWkr@YnQY!aGUEj&WLu<=^~m8S~@6%_Tuufp{@^@|GECok4%CpC3rEylD-{6i0- z)SHwP5EA4Of~q|C@^0T}q=hhxr2WWxm(=U9y?5X0&rA#S@JgY*9*dO*-0SUd5@v&c z*m~+cAgnKLDR@lHxXUIHacU%hHh!I^O41k4{?a`pf3dmapO0}7>*|~Vg7sefKITXK z%BkdnvU)0G_DYQ5&uj7iXjez8 zE2EAay~#c#JDW_|7f!*YzG4Pz4jhz2)D0yOKWxyf4%=zXq%^(WK6?0Rt@p#zzn0q~ zCyci99lBvp4P=z-UTX;ehn&}5T}Fwd(Wz(eN~G`RG!?;iEZm{X{VDBpxv6Yk)31_b zBj@Aj-0q_p?j{DYD698w4>Umsk%vDOILKsYTojK(^ZjW=`{F3Eu#A{v*#jU-5^BZH z@<67Otcp_&4%IuJH!5jj?oU=paoolB`=#_bV%j!U?}lzADlcz=c6m{haKHc|lSkBB z3r(W

4sgzvr^akAR);=fcq9;lg-F;7qjG!7;h(l~kEv&z&b_-S>mMB+yJ{ZH++q z+rJ)tkt|~6f2(tE_{|Nvq%nhtH+}6}uwC-H&-HT9{M^i{lLV?G zAbEIb)k^KK>Ro7oHQ)Sm6#cSX{xmu(svg0MoeKFTj%O;&2HvsvAlNe=_b&wZi!|T( zsj%}Yta~Hr($;;FO}V4f7e>cgR5w0$Q26Hb{q>lx4Pj3N*s?Gscn33&D@jn<0tppn zrlT-EY35+VmVGZx+WX&WydE^64kx|C1<8yhPYo-qk**Qs3 zBhkB3ZIJ-h(euqWGrvN!w$0t<-F||($-DR|H2M*Cmm|EBafIiItA9_Kv)60$tQ4+j z?5E#{c-3r1iF{QY9NEYqA%Ex)g*Iujb4ZZt!DX90&7kyMJrT$kV#94wL{?%cEG3f; zsC}VkzJ&h;)G3;_TBaOF5+pZ0FQH_VOU4p~lvgHAep3!r1zMasXniiGa92C*e7DRa zkY!i})d)Gux-a@(^#zK6PT~6B@=%`tnul`o{wD$bheTjy=ls7@%3o}GBM15wzMEnrkO(q2275&(B-K4 zwd<<-^UJyG>YTUTJE?N z1O)^EY~)>B!fOm{o}|k`+P@1%1UlS5SH?p(i!2+A(p9m%y#IFQIL|sZs?pc{f zWCi>XF;ooYANhV2@-Scp70wYll_b{zhi|)E^?Iy5XC|voBquvN8)g8UGVtCF(7-@} zdhVTJ0x`jXJG_8*hIqHbH3Yfw|JX=}fkp0_hm3w5GYWJOdlT(20zueD3hhIoQ3yls zLp?<7IY(ldSp;9d3nu*}JNuACfqM7l0Z~Dn0Se#vU){-gc9mHm;3T~~#85yTg4ugu zFOk64=cds`-|~Nfq6F{RlMN68zXk@xeMlYL!@xtXi(Ozu#8+TIdR?B~0h$u-b@V7S z(cTT<3FbW$%6a@0M*4d}C^SNVRNQ-&GU6p-knyA-$n(=d8)>XxSPsBI&C@q?;*K9J zlqJFru|5V}RQbpa4IcN7?;Mf~ibjGWgU5jA?+I%7`3-yf3Q+-Ezz6{Tr9V@M%B-3h-?%cC5`z)U~su$`5@63^e7p`O2pP(XWtBQ_D^ zM0oJ)FWqBg5i}B-L;3qJ?Mp!H^Gp4cf9&h~@t1B~NKE@1vGA8c@K+4+E~q>5b4Gwl z6*3+>d$XdJSG_bzEa=^1jQ#dlJw7>52NT1 z2afpz=7slP86R2P?mS@TVG_MSH%lrF$}!-RN*dH=q>qXrl@9!18Ated>N=yz%s@n9fV5p4_`8aav7vQ(l#5-&H)M!l(f3&3{HqM(bnhYxcTG6H zui+-<<0#6%_uc4Q{K`)Xb*9-yuDX{7owS9k$tTnr9?vVkb<()OGQRq&bd{E}_mu!G z(f3HFxBZysddYM~hZDu13`+376OXzM<{b?E=WFIZ)Icca&NeIFuRF%XEac}PN0Rr3W{SIQ=$R=fFc=^v7ZhP2J6NVJSwpX6IvxO`|6T%8lv)t*?q)oxzAiYb0q zec%`dS^$k|nJ2rnz_XF_KDi(Cd~7&c%8%%Ol!dOvPpiD9+B@&cF3I&QgdYoo#edp= z4~$m76Fw)~9zd+k%Lxxm6lGvRM#x?#xofCf&eB<;B)CnXSVw+ER$zKcR^nG^&IxB3 zTSv%ErTt|_~ku^h`9C z*Ck6ONBc!_o829~f77pb#4>6*xp>Q{L1js2v$}xV9D;NC7080x878vnM0x0z|M?!7lwA0=7BV@9{V@d?rt*?p_K+nMApk^p81sdzm4}u-7Y8h@e2K8;xl9#%EPeRzTIS+M?=7D6l~=r(#=|8BN# zlwtDJOO>>fVj_~#{Rnl3M?@>Bb@yhd4KgB>cDTEGQ)G1EdJNSQ`&tnaUL@zL$$)P* zg+m|_+NlLp)z63crZgs%BH~u8V)|dKZU*Z*UZRHbY=uX+MRm_&_!B5%uJBw+En>rK zZB!LDT7cY7pN6+N5)mR4s{HN-wx*`4QwdCq{VCWaWtorLi`;;*3?8EC=#P|PEBh{H zI6 z*tX4vzu0yfHMVUwwr$&Jw0&o1cK5@6y>ss$aOa%!JhADaY|~4dCH8I7xhvSnf;?aY zj&!#Ayu_|TaL~v^&zR#vt>K5SsgXEMJ8{30Zf4D2hTcvqOai!^@{+^>H}>{^s{IM5 z9yb+)3BTa|+8(7RwCyage@II1-_4l*^eSIz$#$UA~E{EUaDNofmH zE0xE@=zZlFmRh|=Y30^Om^MSrnR>a&2dU6kR{qWRPC~ zl2wPuTi_+|5Zu}vQi6fflKqRc#r896?5XUs5jQ5yp1H`Iq>iUw;ZLVlhxOXTb8;x> z%coeM=>2%z9`uU<`<5~I3k+F&b(6Y7)8igZ8e}P26}p;Ve3EL0;spz288az+EtD%T zZmaSN)XZJK#a}6p#HaC_zjr^m;ZGr2-|OL5bW8vz16{3?OBkUsJ2x9lFag|6l&#)Y zx0uB=L%aUdaWpwisEd9|-P~t6c(BzVs+i72Iq3154#tFlPk^Dc)zpn*}d)0+E%}*1$inSj5tlG5M4$fey0eK<~I04 zYzn`IUId*1j@V-w>Q-C77zs{eKtVEo(OxrQ+geWj)fwSC?!6mxkUE+@-taK7EtI}D z=wZ{Z&=BI__vx_My=%s|F>j@ukqC;^_ok|0bgZ`j2-}ikDJl1AG6)}wyU0n+kC9O< z!l^k9a7b=Vs8qoVK0rwuFq0nKqliEr zyP8crTpJ^INelK3`Rv48oJ%a~z>I|>gkyj>22VASIssRc4RS67Z!VT;;XSs{^w6UC z=)L)X8xn4ukyrSr#H(J~#)A}7BEC3()@lENz<*0_E&E^!Be;%XB;O^ze1K# zgMm`Oq8%}b+d6LRqR0D&SGP|yx-R!~Ln&dv+MdEnwpdzds5I4(g3wa%P_sof;z#2Q zt!q_1SDdJUn|a>^eqL7#y5MxN??Fa^kLvexvK39J6SU^unk(%R^G%`V0*1!Mgx__sZi zg{IkWJ|lt7O;y?q9x@lr;8+5(@-XVVr5ZmNq=?wR<&VXCUi-naoVT%E4Pfx(Mn&^L zAV`Fjbyd5$>&YJz3C+~zI9@#nW$B>B4A<{u4d9e2IqwIIkdiCA>BT7?8sDB>w~%|M zD!{uIpK?^%u})R7R~eUe9QSOSt`(by=j?6CO4hG>%6VynHiOE_l19hQ{4q=JnGasr zUi(71?gnMUlOleNs-QhXZ#{BGi`gf7bD_{(Ui)l40iwchjiRBZzTcm_Lo zl|=ktUr2?W%bQJYuM`|=^}1+#nOD`>4Jr~BpiA0Y*}hE-MGz=;Zr3w5x~f>Vd*1#w zg3$TpWp1c@M7Sz82tH?~wQ-8BWhMXjlw{NHS8f>|2DPo!^}TE;MqF4@VH3A(vU#ib z5%^=CU28RN)03{D$!W!^TFE~!h4um-xH`UpRx#9uLJ~Irj^bb?mBVZBou!=3K_TL@ zhclT^uIenCD8E;3M3Y6LM+Cav{<<|)^Y(Sh^2#g5QL|$LULUD`K7iI4qgo?FWgK z2St85xD3pdn4>-8UsBOQ(z!8DV9)s`Jb8B3SQ=^v=;5m*gMw(UQh(d8* z5bw*kbb)3IFXO4Bz7E}^Uak$Z<~V@wP|1h}py}5x@S;oBeBiH;@?V8+&`1vJvRRd} zsGvr4C+|RBU)mkAb8u?{I?>JsEvNXSc(Gi_O+qX7#JBW<_FzOWTW-EJEY1y4CSy)t^@2XZT-T zHOOp29xt>cCJ}O$sKowpfa|-ZHIvAdcGNIsepY^655FFE6JS^@loxy5az~sbkaDYF zp>Q+T0li{dq(zZaAtDfJYG55`&(_&aAZi`Wkuh&4pRm&hxR^vQc{>FxJ}x(Rlkm%R zxbqs(#;dmRWM&dnf+X}sQ+mwVg{;~|BxBQ>gWz1kgJh$HvUYV(jZ_k<*`L;CUd!n^ zDqWtH?_>`kM`&amXk}%|xoO3r72s*h$AyN5jxrE7-lU2zDhe@j6H?!*tl%t)SXVa? zi*~NgZ`>LI5PZpYq1Gpp1 zkd+Y_S8>*)w5F4iza-Pnc~~H+y9~$l{b!g1#3|H#VyoIeoJ2hbhB})a;3nzLn-}EM z(VOgDvQf%u6&P8tqu0*+n7gXCF|f~8VC?K-KA0+i(rB1Rer`zl>F(pEPU&A4%-SQF z>_5=DZSYVjk2OTRe3iLI->o~^`EN|_#YV{nPRvPc&w^n*`WPY0QC3>KA+!YM>vQXm z&3)V%wto1^OS9qiNEL8aSY;v}h@xw4XzIow>sH6S)JntfKJ1{ejq2htJnvI=A7)p= zz0UOlDdbWd3T%vSL{+s5Vgkhg24$0=g!0U@(U z)Fb|o%O-|OW8*f6qpYH>yBeoEcBXoVX7BfQ&ni8lDkZX#71c~dK0LOmQpyXfh?4IB z+nGtOWpD9ju;{hWr=o91rfbcupX(-u-QghZ>nAnCF?-1HU55wud9T-ASF>Gfl?o*c z!MfO~IB#9)(`MxH`0$@QP{dE2*lp$?_(aFIZw7gtpitG<+yrTf@~>FGA##I=6_m8Q z-#4;&I$=AOZ+YIeDgqOS#>ga>qA?Kg2=C4J<6A9jr4gE=VR-Qv^PI6hV24P|*?yhn%oY9N=u3r1ft?1x#9^OJ zMc4R)B$nP9LaHjda)CLr&KAL{+YbKqjc?=jaE1nOS+JN{(^Rm`clI;r3({~cF)-MT zRLJ()n>g677JE%to18BLrj|o=5Uj03qK9I5xl@r_;L952=RmR*-@6j*Hr-H$j?-3V zJe{uRxhf^yOd%+KH%~4qrXvOr;NTv&($1%$LOTrZ@!q7r{WQ6DECA*q8dom4@Cd=@ za+u?R+7FtSZM!#*Fi?ti0lG>A1XX(QMB}5jr=qYd^S~;hRU@y(^?W)*#nV2vhBZH3 zjw#OmJvM{;Q@q7I+gQ?%XMhR~$|bMuuF>oag#oH+#lA?*os%?3&Ym|Fa?Bc+cCtgnM7hsB7SX+J1FzLS6?MB# z$(%#<<#H{r4~A2Q3{|doe{|3*8GB) z>X_d4FxZ*YFEGiA;PiVL>{kdW*kL(505h7WXDnpgwJ<9f-h;oaaG<<~Uy<9~c1Af0rk&f^lmt-8E7seA!-vsunJ<{$_I;dnj01!v;`8Htlp!bVwxo887s|4}YW-pOwa{fZCXLwz9mTjIs}?wvsP+-6e$e*1Zo z*md+MEa!&i>WSd#x_!*DVbQQ$amLT}{$q(h>NbOGG1&MCZggk(FT7QqTa!yjg9zY@ z&vIUeRK#9ZBf>(?*;pFFdAJkA#q2tSkAL9^g}bJq)=T#deB4g!K09@62t-O$=AacZ zvKAPq7k>h59^?6%w~=8u+3b z;+7*j!1=rwVw^&T0-Lf4$b#;4B}NwRjr;8=$gaqP8v={$?El$e;Mln;7d0O9 zZlekwR|3>JL^IUVwAY4-_Pcj4A^XRQ5*NwkJvwn$A^O|%h9>^sDfoZwZK}iNN(VnP za(&WJL82az79hAeUU=F0A>=~U4o%FTO<@4-wav%Sj3`Ne#fp95tEP*i*zz!SDwhvF z)~4d+*UD_7GH#55ckGuWYmrR@>vUq))mW3NZiFKB!kJ$y3zi}70IOnw#^wia47kO% za8c}awb)V#`{K|}w7S;36uoS5(W&-%N3Gz!qR{L^qYqDpcW0sv_3~i-nM)LEcr&nX zM{ZYL-xQsp-ml}XK6?-bzJejdkTXH%wq~&RC z-H&2aT-cXF?0-YE9^cED=@%phI^Scr7X2?qwv1Nqmk{-9Y;*^6(*MM{n@DuR{~54( z)P)P9p^p571`~PuaV?j9Qs<5JJq{qg?bz?4i1y;ai;7ju+vWj^@4DjOh9P~@^=>sT z)*Sofe6V6|$TgI1ON7TD5XaMRs&I&pg+1XGU*SeIlv`H`@f@%)Xv}Q&t6{^UA^t{v zFO+e}(M4gbJv(YSKttglIV{*DRuR*4&M8n(iM+e%D9OfeNQ^GschoZ#+6KIHr1tpd zF7C-yrwkay(;wU#{2oz0!%W@6^q`sRa_@Wyc9q{nD!Z4sa*FXNmmqk})B1%5of`Ih z@e8lYDI^hxVr7X^=$cxppd=+x2>B;9@tc;`$%Q=Kg%Hn%Rk76L*jzjn7coh~?b2l}QcGdG_ujDsDza%t^smgf;`JZgxTOt`QxmH=Z-M@0We@*6@ zlj{CLewamh1%5exe-59J8pR4GhGCu*1Ira(kKFSWp8Z#i?6a#k=k*gRIOVom*tD`s zMX<-hfecbt81D!&m5?%HPlnPu?GNP&`^6r^34?p;lJc*5UChO?7Wj>FBwu8iuXzvoQ4z& zdaqv3dJ{E!ewn(B!W9^3BlKFDjawS@VhT?}Hb$<)b5kT(C6@lro=!*K`pEDl_aX!9 zOS!D6D9F=|9%OLo41p_|byu$$=C6F4%@_v2evU~3XvBzOV2FQwHc*RRl6 z`+YZdq8aQ_Be1Wb{vFc!(|`}Zve8Vxn7CAP>rV~rZz+@47#}>(nKxuXX<*fS(fSW1 zJkz6|O>TfXrDmbdtfG6+92`D}X{L8-qh~pGsWVSUrL`{NLG@}y@SgC7rfTajLUG~G zS|4R)$)Av$g0!j%{&yW#p|5V?vbqwA0uz1 z3#61Soxzu>>-M3fk>>eex4g(-bH7`HSDx;OuWJAV&pU5ADmAUS%2Ff)`)z%r;82Qz0 zsql!PSAO%G%`1k-qs!Cb{fCNPNJhbj`kh3R8re=!`wLPQQ+Pn@U~%m+T{4uT-tyE* zLgW^(dq%b)!Wsx|0QCvLUfnBU)D-G1#x_%Ga-4taLlU!4OC%eJaC8%CB5GFZUI3$U zIDTu&`5?pIC3m@1621weM0r0>(0y1sk0PdWQvE*2Sok>i#5|Fr{WFrbFy-A?ZAyOt zpDanx%qVYYJ#B(hZ29laOf`}8EP@_u)K7HaInBl~NS+-dh0!&9S|{?)$)n!;tiCZc zWoBtMcG4dVjeC=zL|BSYShNzSrahVDPxdKm_c#L2-g?t4xjxDL04+jhdgOMT%oF#U z!AOIH*<*|Ys%v&gRU1^q6WkRZ#t02O!j3k9X)T_&1akftU5QiM0I(dA8(w}>@3S;u zHmXGQ#0-K)m>W1T(MG{2oHxRx88F6w5L1NAnko-VDb}tUFOh&!SSYJ# z6`$H#y8Q(_zg_E{Z#`CXUaxu!{YR|end4DqWHQHopjIos-m5xG!>tc0SWEG{(5{dP z%D?Zsk6|rIc+4csZfNkwAyi#PFH1EHhYWDn1Dedj626|IfV<}&GA~g8g6Kg(LIMF3 zE&~@X9oXkjg2QmjOoB%aOC!pU((KPg{5wFRPglfN#?rz8p`Yl=y=k&16$CmN9VI>< zW&brBiRN1$3k(eeq^0P_4ogV|VIB&FVR$H+q5akuO&=+uhl@+q1BlLRS{?G zk#2y{41NGaBNIIIOxwSj9pMqW@)5ch{N0VqA0)T8XZ$1OqXGr&kq;LvBtJWgl*R#K zjHp(W#K^z894j|74IddqWc3s5dpuBmQsEO04G|E$q6_Nhfds0G`2aey=nupk!~G%2 z+SGm3MIA99zx$$daT}wf(V=WiLPt0}g8RFe%LWD>q)*tv{gs>PCYC3l)D7Ue!z5R2 z){xq6X1~TL!C-r&x8E7W(_^1FPKA-6LHWD*hHVk20BP@PYzH+q(3{374zNe3-Qah=Y8n;@!AU4cqcr1A^ajX3P%S!{lMOd zY`n7n_qUTU7zKIERa99ap0ysZMZJ>$!d3GK(uEZPH3P)W^+AmQ!P*;Qp?)>YUC4$- z(N>XNfaZSK;a%2R3IeV;%w7EbZ?mphK;IW?#~k*;?b+L|*Proi(v=jS&$b#kxX9*@ zB6bl}C6K^A;Z6|^ZeOzqkZv%Iz{U{I4|BHO>9Fq|dPN`_?0>=CEfG$Zn`FX4-{TFc zg;KxuI^4HVg5HP%Uv?j7vD;5AuW?AfuW%+(&;azq@-ASt#|$~hv+wusQ6~;nx`jNd z#@AMvfT<)8GeyPpLJMZ=+}?*MxR_y$4@1h+B;xNOv$>dS5*h^xSR>1jvP}4d*D3*o zjK?2r`IKc;=f9jTZBsqpLr2Wym-U)9AT>C3bci+K^K37HvgS;LE$^%GI7j9C){E+B zGe9HB+@buN7wq;>&w6d2WV8Sdehi?as~e8P*C3ok{_?)#iGAOyN0k5k4m)s7_mID&vUaiw5 zce2vDb6E~h>DYilm!O#XRy@#(k?ypvOW$;Xg{owg)H6&yaUT4TmpYTD;aU~$*A_D< z=0liP;Pr#pe#VULy#(c&B{Ao*Ec$BQMlr`!cjt%g1av-uNx-tLJDT?g&5sn9e~7L8 z?{99~8ScIz3W5}W0^2L-xwNa{;io+&&Clomif2p!G_O|f#AlJZnMOhceUYR)gKB;9 zeYj3-ARFnS3U02k-^OaDJN9XUyI48voS(G7J;G3!-2SZQdGB2>oK!?1Y9P1Qin8-v z!o#fDI-pCew#%VW)m_%#8RZaHqOX{z^uvluj@2Qs$RY92a~@AlI)0IU&aksJB7P`K zRAksZeu%HsU3RxQ>f|gf{=E_hxbX;9~(n! z&PQf0C8N--90JayF`GN4shWZ)&|XthmXofR@2rvGIdcqkpirMLjf%v_|dpgqte?o>cF~gx4#7$S5{+3U@`Ghcx8_xoE>1 zb8YzTo$DwVdzkwTADVriaYT~g*gITlCXf|6eeJG`K=S0Z0|h&cbEf%5qk8x)wHMgR z5)n&`NJ8F8*Dbu_@{6ae(-;FaU|2ieTV+Ato-Te~D~vmNIV)RSC!*+{8Q14)^NSJ! zCIo*^(Y-)jO<4ofiMlo_r;#jyHD^VO+TAMv<*;PuU; zyA$KaQ?f9%mz=(3TuzIEY4WJ^VTZi<>M3t~>XDSa{b-Tj&Td!lpo#mHb-cmtdGj}^ zpCK3Y9?#vjEP?2U-YZ7*pWJVSpOQN#KyGRd?$@&YC~Yl!`LpGZ)1UbwJH%^0jgCwznm>b zowFk*4_lvy#!4L5{HyX~5C@HJZ>*r5Am4~)(|K3MWM78MSJg@CfW+CI)bd&bK>RE% zkFU6`OSH$zj*4Hx=zGk>&3EQeW)g~zZ391@jJ-msTDo>!svy2MZAm0F^bOl7JNB`yj-!9Lh(4fV9cP~!ys&U*T_Tp{a{@Q^U; zND7Jt21*fP56poR@v=cyvnLGEN$DZrK8RdF1yr^dZZfI%m4jS}+By#rXqIr(JeE^O z6hYm7S)ap`NYuD^cNr&KmabDP=)zXBhdZsw%b^ixU}(4_+arDW`TX!H(ZBUjC@PrAUbPXr`14l~ z?{ih7gn=5}w%v-GyWltrAXuZvb@o9p?Rc}l)xBb4yL%pY=)DKGEeNKP6a9*2PffQk zvSto-K$FYIFxMTd_y7zqyRr@=W-JaFnQ_xn)5K2t$4zDyX6h$t`qc$~Cr>pt-u4KZ zn6kn`bYI>fBWGV8yy|$U=#7%<)K1xm=A^r0M?y!Y3HQ<)>m?Th>L-)!sK-Toxu2ye zI4ZR`;j`4zW_6d*I1?Ub@nUu!05}(GH zqH!@Ow_{%mpmi4JXMkDtR&B7QA#$xw8M{b78-%CAEmmCOEcn|MrRlpaihHCn4j!!9 zie=hhbeFW33EyP^hW1Os%iulL7}AK~T5daxiT`}nkM=jb^q%f59M7KVp&Ry*YR9l$ zf-CP4i=+6Iy46Px5Jqq9LZypS&XPGz4~NLFIzkH(PQqQ{5(UzgK8j6F()t`~H0vbT zsHKvHk0M1=^Q2ySMx)sv4tkSWBv8clqwPQQy7U%VLUb+xS`1P1aXb!X+i4YE3JQov zSoxoVM?cjUL(mw7n|!b&s^pLaX8;F`doTvbZQOfD4U~e^$F3d+Si(g)RUa=CUf3L` z`hgW!td0|6yOW6OkF`jd18Gq417+9;E{jcgN~zo`iFRofNZ^nC;eC;X}PD zEEK`T;##2uEmc-aP8A{Gg&@#zB^={L9aFx(4Se!Qf}d!PP=M-Q;N?=eF2wP7}kQ znlMI1rqxQWt^~(T?Xt0{q?EvMVpEL+=h?mwTDGCC8p6nhh4>OB!dl)e-FqW^0A)kb z;FE3hcDUg3P!f6|>xtbO;~OJ%Y4$FY{b(!@s(Sn>_Xui@%dFm1`s35a1tXQ?ECs)& zy=O~CmF>M$(*Vo$R|jnRX-0XtFVhvPKC<77D=LF{3lW!p2e@ZUT0NSWPVkJUxX&~R z*L4D3Ug_6Za(l3Cil-i}eunp?Aor(6pvdv6EA~C92czzJf&ZELNygaU-9zuL79BXC zQTL%D=Xdd&4@O4eki0eQN73t+2}6E!$1h0BY*1nHu+*|i|KqCtLse|(OFVozXs@ZZ z6Y^aT2h3&N54{C6QAI~uW`t$N-#dq6hK1vy9R?L&S@q&Bi^HO$;-}2dNaD3O!hgvw z<>%Xkum`O6Fz6teNq>Jk`u4^+HFx|7FutLBXjWpmjoQuU4_o$eMk;)}ickvtz8!$) zioI6#OS%(ssw?dQ^MTA@WUlN5K{lTI=9GCnS@G5JyW03s3=QHFv>a`L7rA$CG5%=Q zgwPx~C|dH6cu0IL`6?3^)F@-URub@MU|^RaT=H7z%Hs1jz;LyC1qQVepoFll~;hOvrO zzm=FG7ltXdr&sML!b3*Y$SF7=IyiW;ao1dp@WfJ>s&Ne8N8LZKBbfZK*$qz`%Z-;o zK2kfbF*E?E`Ek??(dDZ9fCV4cN>yb+zxfyY{(kA3@fJS$;o{}8Se0$jT|Qsa=zBXC z+;39ID%V@4QHFXH`pR2mdTs4+&Eos_hNrENVJw*K-YURX%syo208=38RDPj-3@9eFq9 zpfkqL_X@HgEg_ZoZ*1x(ZI||659M;-fxlYNOXcZr3*L3rhz#kp$NHyxpGmzbrwAtJ z_DLgDpVzwc0^3{|fLUl%KhrNQeIjb!IBLov)j8saRl>V;0gvdP;T3ylx+0wA-VYom zj+3L()MhW)$Es;4&k^zA$tRDUUi*s-4-ztjczRMj^F5p3XfD>D~A}|O+@lkPM7to6eRNz+^a$KGptgaPF`_<%3ERLOS{&0sUeYf9g!7gXz!50VQd99- z6AxjK!N;%y!!ZuT{48S>GdPzNs=f@qqbJd* z-uRB}K{aZF_m;{k0%PBW(#|B0AN389-Xa@(<&j+pFsvRX)z#>E3JNm=7-Yr`1HL?+ zzKxJ3I5hk5J-BB5)5+3r+4zl~hZt2RQLp|UFdt>}CYfGA{OK#e+a|lzQFpZ)WHRVh zmB|m!jVBW^3Pm7_(Z~l=Aq4HVpLNQ&=+U|O6EY~P10Ht_wRY-Tu1T_vMcMy#;-_y_Q1G=wD@C-~qjD_$)8&OYcfv7&kQ zTTVgM-|&x;}2A z!B`?pgd@$DC_TD;d*Bg=zj}E3>D7+~HM+(SVhbwEu-#DrTf6M$!4(9LDa%JZ(;YkB z=+m-oE^jIjXQ-GZ!!PE*93>vYg2S5pKruPo(B7#*di5IooJ5^AF9FBq{Oo_^E*J9x z=&0tZJXD=5$LMyYZKo}33d_52AV9O3T!+yvHjEV9>2&hOnSm|Tl-PKiv8%-PhD3Hj($0& zEZ8ay{ZrAAQ!{4Yo~8l5+*rL{@K@P zSa^tA8UK0@;#)W`y@P@Dx-{9%?I1AtZSz@VukbkVvO=#ig|rK0)h2n%v2EUQjR+NL zHBW(?b|=i!XF%3^-=0G2O?Lcjb;k})gH6Z&R2YN;-bJrJw&ce2H^-fFs*JH5Fq{8D zZN@-=S9j-8^M>p;VoS@$qLq8;Y>(C5)PXQ}D9I=A9R4nHgrcPplt>WxkC4f=$ISgntkC)! zxkp$;!NDp>ji$MZ^P387Lzc%1@E#eqq|Aw`6*IgfA4N&T=8AG0%^Y?esTOXHx~R;{ zvKG9ofT?xuAVCdLxm)kwXh(w}irE~SujUYSPdGhP3om@wuUTK3k#CM+c2oY$?3GGI ztemS5EbG^+hAx@CMB72ZT(zHVg{_<%bLL>VvVk*ES<5koS4Ms1TDy)91Wsnu5n;4! zV6My=gAy5Ia+s4QVUAh}qM`Z)N7QmvqA7bgVqgIM0MC zOKYV2ws^bz-48C7j+#fup#Pw?d7VE;-bMSo?J_bP|9XP<^EX@t7kc~&#W+6SBMim; zy^9yChKuuGRQnEQAq{sLz{&Lm1cr!`O}TxP=$4~Om5r)WlZ?ZutB>1+M>`L9dS

  • 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

    NS$X7#f)RY#|@c|mjho?7<~v8g(acas}-ooq(~ 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

    jsx^p#q|XWCGFU)5=KI_LKcLj~^(G7qk& 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


    !YM*T7A=@0E)7VFfwj0oh+C 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 \killer, not \kilo +% but they have the same abbreviation, so it works out + +\DeclareSIUnit\noop{\relax} + +\DeclareSIPower\quartic\tothefourth{4} -\usepackage{amsmath} \begin{document} + +{\sloppy +\tableofcontents +} + +\section{Introduction} + +This tries to follow the package documentation released 2025-07-09, with additional tests. Items remaining (generally ordered from hardest to easiest) are +\begin{itemize} +\item error: evaluate-expression, expression % 4 occurrences +\item sansmath: package needed to evaluate two more tests +\item The spacing in tables is not quite right. See the comment on \&six\_table\_space +\item font and spacing: several instances where we should make a font change or adjust the spacing, but don't. % 10 of each +\item detect if loaded with \verb|[=v2]| or \verb|[=2021-04-09]| or earlier % see issue 2719 +\end{itemize} + +\section{siunitx for the impatient} +\num{12345,67890}\\ +\num{.3e45}\\ +\complexnum{1+-2i}\\ +\numproduct{1.654 x 2.34 x 3.430} + +\unit{kg.m.s^{-1}} \\ +\unit{\kilogram\metre\per\second} \\ +\unit[per-mode = symbol]{\kilogram\metre\per\second} \\ +\unit[per-mode = symbol]{\kilogram\metre\per\ampere\per\second} + +\numlist{10;20;30} \\ +\qtylist{0.13;0.67;0.80}{\milli\metre} \\ +\numrange{10}{20} \\ +\qtyrange{0.13}{0.67}{\milli\metre} + +\subsection*{Other tests} %\ang{1.2e10;2 x 3;4} +\numlist{10 ; 20 ; 30} \\ \ang{1.2;3;4} -{ -\color{red} -Some text \\ -\SI{4}{\metre\per\sievert} \\ -More text \\ -\SI[color = blue]{4}{\metre\per\sievert} \\ -Still red here! -\numlist[color = blue]{1;2;3;4}\\ -Still red here!\\ -} Unsemantic: -\si{m^2.s}\\ -\si{\mu m^2}\\ +\unit{m^2.s}\\ +\unit{\mu m^2} Semantic again: -\SI{0.094}{\pi . \milli\meter . \milli\radian}\\ +\qty{0.094}{\pi . \milli\meter . \milli\radian}\\ +\qty{0.094}{\frac{1}{3} . \milli\meter . \milli\radian}\\ +\qty{0.094}{\pi \per \milli\meter . \milli\radian\tothe{3}} -\SI{0.094}{\frac{1}{3} . \milli\meter . \milli\radian}\\ +\section{Using the siunitx package} -\SI{0.094}{\pi \per \milli\meter . \milli\radian\tothe{3}}\\ -\section{Numbers} -\subsection{General} -%\num{\sqrt{2}}\\ -%\num{{a word}}\\ -\num{12345,67890}\\ -\num{1+-2i}\\ -\num{.3e45}\\ -\num{1.654 x 2.34 x 3.430}\\ -\num{\pi}\\ -\num{2\pi}\\ -\num{\pi/3}\\ +\subsection{Numbers} \num{123}\\ \num{1234}\\ @@ -68,392 +96,130 @@ \subsection{General} \num{0,1234}\\ \num{.12345}\\ \num{3.45d-4}\\ -\num{-e10}\\ +\num{-e10} + +\numlist{10;30;50;70} + +\numproduct{10 x 30} + +\numrange{10}{30} + +\subsubsection{Other Tests} \num{123e4}\\ %\num{123e4(3)}\\ -\num{123(3)e4}\\ +\num{123(3)e4} \num{123\pm2}\\ -\num{123\pm2i}\\ -\num{123+234i}\\ +\complexnum{123\pm2i}\\ +\complexnum{123+234i}\\ +\complexnum{123(1)+234(1)ie3}\\ +\complexnum{234(1)ie3} %\num{123+234}\\ %\num{123e2+234e3i}\\ -\num{123+234ie3}\\ -\num{123(1)+234(1)ie3}\\ -%\num{123e2(1)+234e3i(1)}\\ -%\num{+234(1)ie3}\\ %comes out weird? -\num{+3i}\\ -\num{+3ie4}\\ + +\def\dig{1234} +\def\odd{\xi} +\def\odder{\odd} Pretty nonsensical stuff? -\num{1.\pi e+3}\\ -\def\dig{1234}\\ +\num[parse-numbers=false]{1.\pi e+3}\\ \num{\dig.\dig}\\ -\def\odd{\xi}\\ -\def\odder{\odd}\\ -\num[input-symbols=\xi]{3\xi}\\ -\num[input-symbols=\xi]{3\odd}\\ -%\num[input-symbols=\odd]{3\odd}\\ -\num[input-symbols=\odd, input-protect-tokens=\odd]{3\odd}\\ -\num[input-symbols=\odd, input-protect-tokens=\odd]{3\odder}\\ -\num[input-symbols=\odder, input-protect-tokens=\odder]{3\odder}\\ -%\num[input-symbols=\odder, input-protect-tokens=\odd]{3\odder}\\ -%\num[input-symbols=\odd, input-protect-tokens=\odder]{3\odder}\\ +\num[input-digits=\xi,parse-numbers=false]{3\xi}\\ +\num[input-digits=\xi,parse-numbers=false]{3\odd}\\ +%\num[input-digits=\odd]{3\odd}\\ +\num[input-digits=\odd, parse-numbers=false]{3\odd}\\ +\num[input-digits=\odd, parse-numbers=false]{3\odder}\\ +\num[input-digits=\odder, parse-numbers=false]{3\odder} \num{1.23(1)}\\ %\num{1.23(0.01)} \num{1.23\pm0.01}\\ %\num{1.23(1.0)}\\ %\num{1.23(\pm1)}\\ -\num{1.23(\pi)}\\ - -\subsection{Parsing numbers} - -\subsubsection{input-digits, input-decimal-markers, input-signs, input-exponent-markers} - -\subsubsection{input-symbols, input-ignore} -\subsubsection{input-comparators} - -\num{< 10} \\ -%\SI{>> 5}{\metre} \\ -\num{\le 0.12}\\ - -\subsubsection{input-open-uncertainty, input-close-uncertainty, input-uncertainty-signs} -\num{9.99(9)}\\ -\num{9.99 +- 0.09}\\ -\num{9.99 \pm 0.09}\\ -\num{123 +- 4.5}\\ -\num{12.3 +- 6}\\ - -\subsubsection{input-complex-roots} -\num{9.99 + 88.8i} \\ -\num{9.99 + i88.8}\\ - -\subsubsection{input-protect-tokens} - -\subsubsection{parse-numbers} -\num[parse-numbers = false]{\sqrt{2}}\\ - -\subsection{Post-processing numbers} -\subsubsection{round-mode, round-precision} -{ -\num{1.23456} \\ -\num{14.23} \\ -\num{0.12345(9)} \\ -\sisetup{ - round-mode = places, - round-precision = 3 -}% -\num{1.23456} \\ -\num{14.23} \\ -\num{0.12345(9)} \\ -\sisetup{ - round-mode = figures, - round-precision = 3 -}% -\num{1.23456} \\ -\num{14.23} \\ -\num{0.12345(9)}\\ -} -\subsubsection{round-integer-to-decimal} -{ -\num[round-mode = figures]{1} \\ -\num[round-mode = places]{1} \\ -\sisetup{round-integer-to-decimal} -\num[round-mode = figures]{1} \\ -\num[round-mode = places]{1}\\ -} - -\subsubsection{round-minimum} -{ -\sisetup{round-mode = places}% -\num{0.0055} \\ -\num{0.0045} \\ -\sisetup{round-minimum = 0.01}% -\num{0.0055} \\ -\num{0.0045}\\ -} - -\subsubsection{round-half} -{ -\sisetup{round-mode = places, round-half = up}% -\num{0.055} \\ -\num{0.045} \\ -\sisetup{round-half = even}% -\num{0.055} \\ -\num{0.045} -} - -\subsubsection{add-decimal-zero, add-integer-zero} -{ -\num{123.} \\ -\num{456} \\ -\num{.789} \\ -\sisetup{ - add-decimal-zero = false, - add-integer-zero = false, -}% -\num{123.} \\ -\num{456} \\ -\num{.789}\\ -} - -\subsubsection{minimum-integer-digits} -\num{123} \\ -\num[minimum-integer-digits = 1]{123} \\ -\num[minimum-integer-digits = 2]{123} \\ -\num[minimum-integer-digits = 3]{123} \\ -\num[minimum-integer-digits = 4]{123}\\ - -\subsubsection{explicit-sign, retain-explicit-plus} -\num{+345} \\ -\num[retain-explicit-plus]{+345} \\ -\num[explicit-sign = -]{345}\\ -\num[explicit-sign = -]{+345}\\ - -\subsubsection{retain-unity-mantissa, retain-zero-exponent} -\num{1e4} \\ -\num[retain-unity-mantissa = false]{1e4} \\ -\num{444e0} \\ -\num[retain-zero-exponent = true]{444e0}\\ - -\subsubsection{scientific-notation, fixed-exponent} -{ -\num{0.001}\\ -\num{0.0100} \\ -\num{1200}\\ -\sisetup{scientific-notation = true}% -\num{0.001}\\ -\num{0.0100} \\ -\num{1200}\\ -\sisetup{scientific-notation = engineering}% -\num{0.001}\\ -\num{0.0100} \\ -\num{1200}\\ -\sisetup{ -fixed-exponent = 2, -scientific-notation = fixed, -}% -\num{0.001}\\ -\num{0.0100} \\ -\num{1200}\\ -} - -\subsubsection{omit-uncertainty} -\num{0.01(2)} \\ -\num[omit-uncertainty]{0.01(2)}\\ - -\subsection{Printing numbers} -\subsubsection{group-digits, group-four-digits,group-seperator} -\num{12345.67890}\\ -\num[group-digits= false]{12345.67890}\\ -\num[group-digits= decimal]{12345.67890} \\ -\num[group-digits= integer]{12345.67890}\\ - -\num[group-digits= false]{12345.67890}\\ -\num[group-digits= decimal]{12345.67890} \\ -\num[group-digits= integer]{12345.67890}\\ - -\num{1234567890.1234567890}\\ -\num[group-four-digits]{1234567890.1234567890}\\ - -\num{12345} \\ -\num[group-separator = {,}]{12345} \\ -\num[group-separator = \text{~}]{12345}\\ - -\subsubsection{group-minimum-digits} -\num{1234} \\ -\num[group-minimum-digits = 4]{1234} \\ -\num{1234.5678} \\ -\num[group-minimum-digits = 4]{1234.5678}\\ - -\subsubsection{output-complex-root,output-decimal-marker,copy-complex-root,copy-decimal-marker} -\num{1.23} \\ -\num[output-decimal-marker = {,}]{1.23} \\ -\num{1+2i} \\ -\num[output-complex-root = \text{\ensuremath{i}}]{1+2i} \\ -\num[output-complex-root = j]{1+2i} \\ -\num[copy-complex-root]{1+2j} \\ -\num[copy-decimal-marker]{555,555}\\ - -\subsubsection{complex-root-position} -\num{67-0.9i} \\ -\num[complex-root-position = before-number]{67-0.9i} \\ -\num[complex-root-position = after-number]{67-0.9i}\\ - -\subsubsection{exponent-base, exponent-product} -\num[exponent-product = \times]{1e2} \\ -\num[exponent-product = \cdot]{1e2} \\ -\num[exponent-base = 2]{1e2}\\ - -\subsubsection{output-exponent-marker} -\num[output-exponent-marker = \text{e}]{1e2} \\ -\num[output-exponent-marker = \ensuremath{\mathrm{E}}]{1e2}\\ - -\subsubsection{separate-uncertainty,uncertainty-separator,output-open-uncertainty,output-close-uncertainty} -{ -\num{1.234(5)} \\ -\num{1.234\pm 0.005} \\ -\num[separate-uncertainty = true]{1.234(5)} \\ -\num[separate-uncertainty = true]{1.234\pm 0.005} \\ -\sisetup{ - output-open-uncertainty = [, - output-close-uncertainty = ], - uncertainty-separator= {\,} -} -\num{1.234(5)}\\ -} -\num{8.2(13)} \\ -\num{8.2\pm1.3} \\ -\num[separate-uncertainty]{8.2(13)}\\ -\num[separate-uncertainty]{8.2\pm1.3} \\ +\num[parse-numbers=false]{1.23(\pi)} -\num{1.234(5) x \pi} \\ -\num[separate-uncertainty = true]{1.234(5) x \pi} \\ +\num[parse-numbers=false]{1.234(5) x \pi} \\ +\num[uncertainty-mode = separate, parse-numbers=false]{1.234(5) x \pi} -\num{1.2 +- 0.001}\\ -\num[separate-uncertainty]{1.2 +- 0.001}\\ - -\subsubsection{bracket-numbers, open-bracket, close-bracket} -{ -\num{1 e10} \\ -\num{2i e10} \\ -\num{1+2i e10} \\ -\num[bracket-numbers = false]{1+2i e10} \\ -\sisetup{ - open-bracket = \{, - close-bracket = \}, -} -\num{1+2i e10}\\ -} +\subsubsection{Lists and ranges of numbers} -\subsubsection{negative-color} -\num{-15673} \\ -\num[negative-color = red]{-15673} +\qtylist{10;30;45}{\metre}\\ +\qtyproduct{10 x 30 x 45}{\metre}\\ +\qtyrange{10}{30}{\metre} -\subsubsection{bracket-negative-numbers} -\num{-15673} \\ -\num[bracket-negative-numbers]{-15673} \\ -%\SI{-10}{\metre} \\ -%\SI[bracket-negative-numbers]{-10}{\metre} +\subsection{Angles} -\subsection{Multi-part Numbers} +\ang{10} \\ +\ang{12.3} \\ +\ang{4,5} \\ +\ang{1;2;3} \\ +\ang{;;1} \\ +\ang{+10;;} \\ +\ang{-0;1;} -\subsubsection{input-product,input-quotient} -\num{1 x 2 x 3} \\ -\num{1e4 x 2(3) x 3/4} \\ -\num[input-product=*]{4 * 5 * 6} \\ -\num{ 1 / 2e4 } \\ -\num{ 1e2 / 3e4 }\\ +\subsection{Units} -\subsubsection{output-product, output-quotient} -\num[output-product = \cdot]{4.87 x 5.321 x 6.90545} \\ -\num[output-quotient = \text{ div }]{1 / 2}\\ +\subsubsection{unit} +\unit{kg.m/s^2} \\ +\unit{g_{polymer}~mol_{cat}.s^{-1}} \\ +\unit{\kilo\gram\metre\per\square\second} \\ +\unit{\gram\per\cubic\centi\metre} \\ +\unit{\square\volt\cubic\lumen\per\farad} \\ +\unit{\metre\squared\per\gray\cubic\lux} \\ +\unit{\henry\second} -\subsubsection{quotient-mode} -\num{1 / 2e4} \\ -\num[quotient-mode = fraction]{1 / 2e4}\\ +\subsubsection{qty} +\qty[mode = text]{1.23}{J.mol^{-1}.K^{-1}} \\ +\qty{.23e7}{\candela} \\ +\qty[per-mode = symbol]{1.99}{\per\kilogram} \\ +\qty[per-mode = fraction]{1,345}{\coulomb\per\mole} -\subsubsection{fraction-function} -{ -\sisetup{quotient-mode= fraction} -\num{1 / 1}\\ -\num[fraction-function= \dfrac]{1 / 2}\\ -%\num[fraction-function= \sfrac]{1 / 3}\\ -\num[fraction-function= \tfrac]{1 / 4}\\ -} +\subsubsection{qtylist} +\qtylist{10;30;45}{\metre} -\subsection{Lists and ranges of numbers} -\subsubsection{list-final-separator,list-pair-separator,list-separator} -\numlist{0.1;0.2;0.3}\\ -\numlist[color=blue]{0.1;0.2;0.3}\\ -\numlist[list-separator = {; }]{0.1;0.2;0.3}\\ -\numlist[list-final-separator = {, }]{0.1;0.2;0.3} \\ -\numlist[ -list-separator -= { and }, -list-final-separator = { and finally } -]{0.1;0.2;0.3} \\ -\numlist{0.1;0.2} \\ -\numlist[list-pair-separator = {, and }]{0.1;0.2}\\ +\subsubsection{qtyproduct} +\qtyproduct{10 x 30 x 45}{\metre} -\subsection{range-phrase} +\subsubsection{qtyrange} +\qtyrange{10}{30}{\metre} -\numrange{5}{100} \\ -\numrange[range-phrase = --]{5}{100}\\ -\numrange[color=blue,range-phrase = --]{5}{100}\\ -\subsection{Angles} -\subsubsection{number-angle-product} -\ang{2.67} \\ -\ang[number-angle-product = \,]{2.67} -\subsubsection{arc-separator} -\ang{6;7;6.5} \\ -\ang[arc-separator = \,]{6;7;6.5} -\subsubsection{add-arc-degree-zero,add-arc-minute-zero,add-arc-second-zero} -\ang{-1;;} \\ -\ang{;-2;} \\ -\ang{;;-3} \\ -{ -\sisetup{add-arc-degree-zero} -\ang{-1;;} \\ -\ang{;-2;} \\ -\ang{;;-3} \\ -} -{ -\sisetup{add-arc-minute-zero} -\ang{-1;;} \\ -\ang{;-2;} \\ -\ang{;;-3} \\ -} -{ -\sisetup{add-arc-second-zero} -\ang{-1;;} \\ -\ang{;-2;} \\ -\ang{;;-3}\\ -} -\ang[add-arc-minute-zero,add-arc-second-zero]{45.697}\\ -\ang[color=blue,add-arc-minute-zero,add-arc-second-zero]{45.697}\\ +\subsection{Complex numbers and quantities} -\subsubsection{angle-symbol-over-decimal} -\ang{45.697} \\ -\ang{6;7;6.5} \\ -\ang[angle-symbol-over-decimal]{45.697} \\ -\ang[angle-symbol-over-decimal]{6;7;6.5}\\ -\ang[color=blue,angle-symbol-over-decimal]{6;7;6.5} -% \ang{10}\\ -% \ang{12.3}\\ -% \ang{4,5}\\ -% \ang{1;2;3}\\ -% \ang{;;1}\\ -% \ang{+10;;}\\ -% \ang{-0;1;}\\ +\complexnum{123+234ie3}\\ +\complexnum{123(1)+234(1)ie3}\\ +%\num{123e2(1)+234e3i(1)}\\ +%\num{+234(1)ie3}\\ %comes out weird? +\complexnum{+3i}\\ +\complexnum{+3ie4} +\subsection{The unit macros} -\section{Units} -\def\showunit#1{#1 & \texttt{\Backslash#1} & \si{\csname#1\endcsname}} +Table \ref{tab:si_base_units} +\newcommand{\showunit}[1]{#1 & \texttt{\Backslash#1} & \unit{\csname#1\endcsname}} \begin{table} -\caption{SI base units} +\caption{SI base units}\label{tab:si_base_units} \centering -\begin{tabular}{lll}\hline\hline -Unit & Macro & Symbol \\\hline +\begin{tabular}{lll}\toprule +Unit & Macro & Symbol \\\midrule \showunit{ampere}\\ \showunit{candela}\\ \showunit{kelvin}\\ \showunit{kilogram}\\ \showunit{metre}\\ \showunit{mole}\\ -\showunit{second}\\ +\showunit{second}\\\bottomrule \end{tabular} \end{table} +Table \ref{tab:coherent_derived} \begin{table} -\caption{Coherent derived units} +\caption{Coherent derived units}\label{tab:coherent_derived} \centering -\begin{tabular}{llllll}\hline\hline -Unit & Macro & Symbol & -Unit & Macro & Symbol \\\hline +\begin{tabular}{@{}llc llc@{}}\toprule +Unit & Macro & Symb & +Unit & Macro & Symb \\\cmidrule(r){1-3}\cmidrule(l){4-6} \showunit{becquerel} & \showunit{newton} \\ \showunit{degreeCelsius} & \showunit{ohm} \\ \showunit{coulomb} & \showunit{pascal} \\ @@ -464,17 +230,23 @@ \section{Units} \showunit{joule} & \showunit{tesla} \\ \showunit{katal} & \showunit{volt} \\ \showunit{lumen} & \showunit{watt} \\ -\showunit{lux} & \showunit{weber} \\ +\showunit{lux} & \showunit{weber} \\\bottomrule \end{tabular} \end{table} +Table \ref{tab:non_si_units} \begin{table} -\caption{Non-SI units} +\caption{Non-SI units}\label{tab:non_si_units} \centering -\begin{tabular}{lll}\hline\hline -Unit & Macro & Symbol \\\hline +\begin{tabular}{lll}\toprule +Unit & Macro & Symbol \\\midrule +\showunit{astronomicalunit}\\ +\showunit{bel}\\ +\showunit{dalton}\\ \showunit{day}\\ +\showunit{decibel}\\ \showunit{degree}\\ +\showunit{electronvolt}\\ \showunit{hectare}\\ \showunit{hour} \\ \showunit{litre}\\ @@ -482,376 +254,217 @@ \section{Units} \showunit{arcminute}\\ \showunit{minute}\\ \showunit{arcsecond}\\ -\showunit{tonne}\\ +\showunit{neper}\\ +\showunit{tonne}\\\bottomrule \end{tabular} \end{table} +%Deprecated in siunitx v3, but make sure we still have them: +%\unit{\clight}, \unit{\electronmass}, \unit{\bohr}, \unit{\hartree} + +%\ExplSyntaxOn +% this accesses siunitx internals, and may therefore break +\newcommand{\showprefix}[1]{ + #1 & \texttt{\Backslash#1} & \unit{ \csname #1\endcsname \noop } & + \qty[prefix-mode=extract-exponent, print-unity-mantissa=false]{1}{\csname#1\endcsname\noop}% +% the following +% \str_if_eq:nnTF { #1 } { micro } { -6 } { \__ltxml_power_from_text:n { #1 } } +% works in LaTeX, but not LaTeXML (b/c it doesn't have the internals) +} +%\cs_new:Npn \__ltxml_prefix_from_text:n #1 { +% \use:c { __siunitx_unit_ \token_to_str:c { #1 } :w } +%} +%\cs_new:Npn \__ltxml_power_from_prefix:n #1 { +% \prop_get:NeNTF +% \l__siunitx_unit_prefixes_forward_prop +% { #1 } +% \l_tmpa_tl +% { \l_tmpa_tl } +% { \qty [ prefix-mode=extract-exponent, print-unity-mantissa=false ] { 1 } { \use:c { #1 } \noop } } +%} +%\cs_new:Npn \__ltxml_power_from_text:n #1 { +% { +% \bool_set_false:N \l__siunitx_unit_test_bool +% \bool_set_false:N \l__siunitx_unit_parsing_bool +% \exp_args:Ne \__ltxml_power_from_prefix:n { \__ltxml_prefix_from_text:n { #1 } } +% } +%} +%\__ltxml_prefix_from_text:n { kibi } +%\ExplSyntaxOff + +Table \ref{tab:si_prefixes} \begin{table} -\caption{Expermental Non-SI units} +\caption{SI prefixes}\label{tab:si_prefixes} \centering -\begin{tabular}{lll}\hline\hline -Unit & Macro & Symbol \\\hline -\showunit{astronomicalunit}\\ -\showunit{atomicmassunit}\\ -\showunit{bohr}\\ -\showunit{clight}\\ -\showunit{dalton}\\ -\showunit{electronmass}\\ -\showunit{electronvolt}\\ -\showunit{elementarycharge}\\ -\showunit{hartree}\\ -\showunit{planckbar}\\ +\begin{tabular}{@{}llcl llcl@{}}\toprule +Prefix & Cmd & Symb & Power & +Prefix & Cmd & Symb & Power \\\cmidrule(r){1-4}\cmidrule(l){5-8} +\showprefix{quecto} & \showprefix{deca}\\ +\showprefix{ronto} & \showprefix{hecto}\\ +\showprefix{yocto} & \showprefix{kilo}\\ +\showprefix{zepto} & \showprefix{mega}\\ +\showprefix{atto} & \showprefix{giga}\\ +\showprefix{femto} & \showprefix{tera}\\ +\showprefix{pico} & \showprefix{peta}\\ +\showprefix{nano} & \showprefix{exa}\\ +\showprefix{micro} & \showprefix{zetta}\\ +\showprefix{milli} & \showprefix{yotta}\\ +\showprefix{centi} & \showprefix{ronna}\\ +\showprefix{deci} & \showprefix{quetta}\\\bottomrule \end{tabular} \end{table} -\begin{table} -\caption{Other non-SI units} -\centering -\begin{tabular}{lll}\hline\hline -Unit & Macro & Symbol \\\hline -\showunit{angstrom}\\ -\showunit{bar}\\ -\showunit{barn}\\ -\showunit{bel}\\ -\showunit{decibel}\\ -\showunit{knot}\\ -\showunit{mmHg}\\ -\showunit{nauticalmile}\\ -\showunit{neper}\\ -\end{tabular} -\end{table} +\unit{\square\becquerel} \\ +\unit{\joule\squared\per\lumen} \\ +\unit{\cubic\lux\volt\tesla\cubed} \\ +\unit{\henry\tothe{5}} \\ +\unit{\raiseto{4.5}\radian} \\ +\unit{\joule\per\mole\per\kelvin} \\ +\unit{\joule\per\mole\kelvin} \\ +\unit{\per\henry\tothe{5}} \\ +\unit{\per\square\becquerel} \\ +\unit{\kilogram\of{metal}} \\ +\qty[qualifier-mode = bracket]{0.1}{\milli\mole\of{cat}\per\kilogram\of{prod}} \\ +\unit[per-mode = fraction]{\cancel\kilogram\metre\per\cancel\kilogram\per\second} \\ +\unit{\highlight{red}\kilogram\metre\per\second} \\ +\unit[unit-color = purple]{\highlight{blue}\kilogram\metre\per\second} % todo font + +\subsection{Unit abbreviations} + +\newcommand{\showunitabbrev}[4]{#1#3 & \texttt{\Backslash#2#4} & \unit{\csname#2#4\endcsname}} + +\ExplSyntaxOn +\newcommand{\showunitabbrevs}[3]{ + \midrule + \clist_map_variable:nNn { #3 } { \l_tmpa_tl } { + \exp_after:wN \showunitabbrev \l_tmpa_tl { #1 } { #2 } \\ + } +} +\ExplSyntaxOff + +Table 5 %\ref{tab:abbrevs} +% we have trouble referring to a longtable? + +%\begin{table} +%\centering +\begin{longtable}{lcc}\toprule +\caption{Abbreviated units\label{tab:abbrevs}}\\ +Unit & Abbreviation & Symbol \endfirsthead +\caption{Abbreviated units (cont)}\\ +Unit & Abbreviation & Symbol \\\midrule\endhead +\showunitabbrevs{gram}{g}{{femto}{f},{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{},{kilo}{k}} +\showunitabbrevs{metre}{m}{{pico}{p},{nano}{n},{micro}{u},{milli}{m},{centi}{c},{deci}{d},{}{},{kilo}{k}} +\showunitabbrevs{meter}{m}{{pico}{p},{nano}{n},{micro}{u},{milli}{m},{centi}{c},{deci}{d},{}{},{kilo}{k}} +\showunitabbrevs{second}{s}{{atto}{a},{femto}{f},{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{}} +\showunitabbrevs{mole}{mol}{{femto}{f},{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{},{kilo}{k}} +\showunitabbrevs{ampere}{A}{{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{},{kilo}{k}} +\showunitabbrevs{litre}{l}{{micro}{u},{milli}{m},{}{},{hecto}{h}} +\showunitabbrevs{liter}{L}{{micro}{u},{milli}{m},{}{},{hecto}{h}} +\showunitabbrevs{hertz}{Hz}{{milli}{m},{}{},{kilo}{k},{mega}{M},{giga}{G},{tera}{T}} +\showunitabbrevs{newton}{N}{{milli}{m},{}{},{kilo}{k},{mega}{M}} +\showunitabbrevs{pascal}{Pa}{{}{},{kilo}{k},{mega}{M},{giga}{G}} +\showunitabbrevs{ohm}{ohm}{{milli}{m},{kilo}{k},{mega}{M}} +\showunitabbrevs{volt}{V}{{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{},{kilo}{k}} +\showunitabbrevs{watt}{W}{{nano}{n},{micro}{u},{milli}{m},{}{},{kilo}{k},{mega}{M},{giga}{G}} +\showunitabbrevs{joule}{J}{{micro}{u},{milli}{m},{}{},{kilo}{k}} +\showunitabbrevs{electronvolt}{eV}{{milli}{m},{}{},{kilo}{k},{mega}{M},{giga}{G},{tera}{T}} +\showunitabbrevs{watt hour}{Wh}{{kilo}{k}} +\showunitabbrevs{farad}{F}{{femto}{f},{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{}} +\showunitabbrevs{henry}{H}{{femto}{f},{pico}{p},{nano}{n},{micro}{u},{milli}{m},{}{}} +\showunitabbrevs{coulomb}{C}{{nano}{n},{micro}{u},{milli}{m},{}{}} +\showunitabbrevs{tesla}{T}{{micro}{u},{milli}{m},{}{}} +\showunitabbrevs{kelvin}{K}{{}{}} +\showunitabbrevs{bel}{B}{{deci}{d}} +\bottomrule +\end{longtable} -\def\showprefix#1{#1 & \texttt{\Backslash#1} & \si{\csname#1\endcsname} & \si[prefixes-as-symbols=false]{\csname#1\endcsname}} +Table \ref{tab:binpref} \begin{table} -\caption{Other non-SI units} +\caption{Binary prefixes}\label{tab:binpref} +\newcounter{tablerow} +% the documentation numbers are hardcoded in +% /usr/local/texlive/2024/texmf-dist/source/latex/siunitx/siunitx.tex +% the powers are not stored in siunitx. see siunitx-binary.dtx +\newcommand{\showBinaryPrefix}[1]{% + \stepcounter{tablerow}% + #1 & \texttt{\Backslash#1} & \unit{\csname #1\endcsname\noop} & \arabic{tablerow}0 +} \centering -\begin{tabular}{llllllll}\hline\hline -Unit & Macro & Symbol & Power & -Unit & Macro & Symbol & Power \\\hline -\showprefix{yocto} & \showprefix{deca}\\ -\showprefix{zepto} & \showprefix{hecto}\\ -\showprefix{atto} & \showprefix{kilo}\\ -\showprefix{femto} & \showprefix{mega}\\ -\showprefix{pico} & \showprefix{giga}\\ -\showprefix{nano} & \showprefix{tera}\\ -\showprefix{micro} & \showprefix{peta}\\ -\showprefix{milli} & \showprefix{exa}\\ -\showprefix{centi} & \showprefix{zetta}\\ -\showprefix{deci} & \showprefix{yotta}\\ +\begin{tabular}{cccc}\toprule +Prefix & Command & Symbol & Power \\\midrule +\showBinaryPrefix{kibi} \\ +\showBinaryPrefix{mebi} \\ +\showBinaryPrefix{gibi} \\ +\showBinaryPrefix{tebi} \\ +\showBinaryPrefix{pebi} \\ +\showBinaryPrefix{exbi} \\ +\showBinaryPrefix{zebi} \\ +\showBinaryPrefix{yobi} \\\bottomrule \end{tabular} \end{table} +\clearpage +% a whole lot of floating tables just finished -\begin{table} -\caption{Abbreviated units} -\centering -\begin{tabular}{lll}\hline\hline -Unit & Macro & Symbol \\\hline -\showunit{fg}\\ -\showunit{pg}\\ -\showunit{ng}\\ -\showunit{ug}\\ -\showunit{mg}\\ -\showunit{g}\\ -\showunit{kg}\\ -\showunit{amu}\\\hline -\showunit{pm}\\ -\showunit{nm}\\ -\showunit{um}\\ -\showunit{mm}\\ -\showunit{cm}\\ -\showunit{dm}\\ -\showunit{m}\\ -\showunit{km}\\\hline -\showunit{as}\\ -\showunit{fs}\\ -\showunit{ps}\\ -\showunit{ns}\\ -\showunit{us}\\ -\showunit{ms}\\ -\showunit{s}\\\hline -\showunit{fmol}\\ -\showunit{pmol}\\ -\showunit{nmol}\\ -\showunit{umol}\\ -\showunit{mmol}\\ -\showunit{mol}\\ -\showunit{kmol}\\\hline -\showunit{pA}\\ -\showunit{nA}\\ -\showunit{uA}\\ -\showunit{mA}\\ -\showunit{A}\\ -\showunit{kA}\\\hline -\showunit{ul}\\ -\showunit{ml}\\ -\showunit{l}\\ -\showunit{hl}\\ -\showunit{uL}\\ -\showunit{mL}\\ -\showunit{L}\\ -\showunit{hL}\\\hline -\showunit{mHz}\\ -\showunit{Hz}\\ -\showunit{kHz}\\ -\showunit{MHz}\\ -\showunit{GHz}\\ -\showunit{THz}\\\hline -\showunit{mN}\\ -\showunit{N}\\ -\showunit{kN}\\ -\showunit{MN}\\\hline -\showunit{Pa}\\ -\showunit{kPa}\\ -\showunit{MPa}\\ -\showunit{GPa}\\\hline -\showunit{mohm}\\ -\showunit{kohm}\\ -\showunit{Mohm}\\\hline -\showunit{pV}\\ -\showunit{nV}\\ -\showunit{uV}\\ -\showunit{mV}\\ -\showunit{V}\\ -\showunit{kV}\\\hline -\showunit{W}\\ -\showunit{uW}\\ -\showunit{mW}\\ -\showunit{kW}\\ -\showunit{MW}\\ -\showunit{GW}\\\hline -\showunit{J}\\ -\showunit{kJ}\\\hline -\showunit{eV}\\ -\showunit{meV}\\ -\showunit{keV}\\ -\showunit{MeV}\\ -\showunit{GeV}\\ -\showunit{TeV}\\\hline -\showunit{kWh}\\\hline -\showunit{F}\\ -\showunit{fF}\\ -\showunit{pF}\\\hline -\showunit{K}\\\hline -\showunit{dB}\\\hline -\end{tabular} -\end{table} +\subsection{Creating new macros} -\begin{table} -\caption{Binary prefixes} -\centering -\begin{tabular}{llllllll}\hline\hline -Unit & Macro & Symbol & Power \\\hline -\showprefix{kibi} \\ -\showprefix{mebi} \\ -\showprefix{gibi} \\ -\showprefix{tebi} \\ -\showprefix{pebi} \\ -\showprefix{exbi} \\ -\showprefix{zebi} \\ -\showprefix{yobi} \\ -\end{tabular} -\end{table} +\qty{67890}{\degree} \\ +\qty[quantity-product = \,]{67890}{\degree} -%\subsection{Creating Units} -%\subsection{Loading additional units} +\unit{\kilogram\tothefourth}\\ +\unit{\quartic\metre} -\subsection{Using units} +\qty{1.234}{\gram\polymer\per\mole\catalyst\per\hour} + +\subsubsection{Other Tests} % Note that \kilogram is defined as \kilo\gram, and acts sorta like a macro -\si{\kilogram} -\si{\kilo\gram} +\unit{\kilogram} +\unit{\kilo\gram} % Not allowed. -%\si{\kilo\kilogram} -%\si{\kilo\kilo\gram} +%\unit{\kilo\kilogram} +%\unit{\kilo\kilo\gram} { % and note that regular macros ARE expanded! \def\killermeater{\kilo\meter} -\si{\killermeater} +\unit{\killermeater} } { % BUT, it prefers its OWN definitions! \def\gram{Grr} -\si{\kilo\gram} +\unit{\kilo\gram} } % However, it's happy with various indirect definitions. % Ie. units, prefixes (at least) act like regular macros within \si. -\si{\abbra}\\ -\si{\abbrb}\\ -\si{\abbrc}\\ -\si{\abbrd}\\ -\si{\abbre}\\ +\unit{\abbra}\\ +\unit{\abbrb}\\ +\unit{\abbrc}\\ +\unit{\abbrd}\\ +\unit{\abbre} -\si{\mabbra}\\ -\si{\mabbrb}\\ +\unit{\mabbra}\\ +\unit{\mabbrb} -\si{\killer\meter}\\ +\unit{\killer\meter} % Where can highlight go? -\si{\highlight{red}\kilo\gram\metre\per\second} \\ -\si{\kilo\highlight{red}\gram\metre\per\second} \\ -\si{\kilo\gram\highlight{red}\metre\per\second} \\ -\si{\kilo\gram\metre\highlight{red}\per\second} \\ -\si{\kilo\gram\metre\per\highlight{red}\second} \\ - -\si{\cancel\kilo\gram\metre\per\second} \\ -\si{\kilo\cancel\gram\metre\per\second} \\ -\si{\kilo\gram\cancel\metre\per\second} \\ -\si{\kilo\gram\metre\cancel\per\second} \\ -\si{\kilo\gram\metre\per\cancel\second} \\ - -\subsubsection{forbid-literal-units, inter-unit-product} -\si{\farad\squared\lumen\candela} \\ -\si[inter-unit-product = \ensuremath{{}\cdot{}}]{\farad\squared\lumen\candela}\\ -\si[color=blue,inter-unit-product = \ensuremath{{}\cdot{}}]{\farad\squared\lumen\candela}\\ -\subsubsection{per-mode, per-symbol, bracket-unit-denominator} -\si{\joule\per\mole\per\kelvin} \\ -\si{\metre\per\second\squared} \\ -\si[per-mode=fraction]{\joule\per\mole\per\kelvin} \\ -\si[per-mode=fraction]{\joule\raiseto{-1}\mole\per\kelvin} \\ -\si[per-mode=fraction]{\metre\per\second\squared}\\ -\si{\ampere\per\mole\second} \\ -\si[per-mode = reciprocal-positive-first]{\ampere\per\mole\second} +\unit{\highlight{red}\kilo\gram\metre\per\second} \\ +\unit{\kilo\highlight{red}\gram\metre\per\second} \\ +\unit{\kilo\gram\highlight{red}\metre\per\second} \\ +\unit{\kilo\gram\metre\highlight{red}\per\second} \\ +\unit{\kilo\gram\metre\per\highlight{red}\second} -{ -\sisetup{per-mode = symbol}% -\si{\joule\per\mole\per\kelvin} \\ -\si{\metre\per\second\squared} \\ -\si[per-symbol = \text{~div~}]{\joule\per\mole\per\kelvin} \\ -\si[bracket-unit-denominator = false]{\joule\per\mole\per\kelvin}\\ -} -\si[per-mode=repeated-symbol]{\joule\per\mole\per\kelvin}\\ -{ -\sisetup{per-mode = symbol-or-fraction}% -\( \si{\joule\per\mole\per\kelvin} \) -\[ \si{\joule\per\mole\per\kelvin} \] -\si{\joule\per\mole\per\kelvin} \\ -\( -\displaystyle -\si{\joule\per\mole\per\kelvin} -\) -\[ -\textstyle -\si{\joule\per\mole\per\kelvin} -\] -\[ -\textstyle -\si[color=blue]{\joule\per\mole\per\kelvin} -\] -} +\unit{\cancel\kilo\gram\metre\per\second} \\ +\unit{\kilo\cancel\gram\metre\per\second} \\ +\unit{\kilo\gram\cancel\metre\per\second} \\ +\unit{\kilo\gram\metre\cancel\per\second} \\ +\unit{\kilo\gram\metre\per\cancel\second} -\subsubsection{sticky-per} -\si{\pascal\per\gray\henry} \\ -\si[sticky-per]{\pascal\per\gray\henry}\\ - -\subsubsection{power-font} -\si{\metre\per\second\squared} \\ -\si[power-font = unit]{\metre\per\second\squared}\\ - -\subsubsection{literal-superscript-as-power} -\si{m.s^{2}} \\ -\si[literal-superscript-as-power = false]{m.s^{2}}\\ - -\subsubsection{qualifier-mode, qualifier-phrase} -\si{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ -\si[qualifier-mode = brackets] -{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ -\si[qualifier-mode = subscript] -{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ -\si[qualifier-mode = space] -{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ -\si[qualifier-mode = text] -{\deci\bel\isotropic}\\ - -\si[qualifier-mode = phrase] -{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ -\si[qualifier-mode = phrase, qualifier-phrase = { by }] -{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ - -\subsubsection{prefixes-as-symbols} -\si{\milli\litre\per\mole\deci\ampere} \\ -%%\SI{10}{\kilo\gram\squared\deci\second} \\ -\si[prefixes-as-symbols=false]{\milli\litre\per\mole\deci\ampere}\\ -\si[prefixes-as-symbols=false]{\kilo\gram\squared\deci\second}\\ -\si{\mega\gram\squared\deci\second}\\ -\si[prefixes-as-symbols=false]{\mega\gram\squared\deci\second}\\ -\si{\micro\gram\squared\deci\second}\\ -\si[prefixes-as-symbols=false]{\micro\gram\squared\deci\second}\\ -\si{\per\mega\gram\squared\deci\second}\\ -\si[prefixes-as-symbols=false]{\per\mega\gram\squared\deci\second}\\ -\si{\per\micro\gram\squared\deci\second}\\ -\si[prefixes-as-symbols=false]{\per\micro\gram\squared\deci\second}\\ -%%\SI[prefixes-as-symbols=false]{10}{\kilo\gram\squared\deci\second}\\ -\subsubsection{parse-units} -%%\SI{300}{\MHz} \\ -%%\SI[parse-units = false]{300}{\MHz}\\ - -\subsection{Numbers with units} -\subsubsection{allow-number-unit-breaks} -\subsubsection{number-unit-product} -\SI{2.67}{\farad} \\ -\SI[number-unit-product = \ ]{2.67}{\farad} \\ -\SI[number-unit-product = ]{2.67}{\farad}\\ -\SI[number-unit-product = \,]{2.67}{\farad}\\ -\SI[number-unit-product = \;]{2.67}{\farad}\\ -\SI[number-unit-product = $\times$]{2.67}{\farad}\\ -\SI[color=blue,number-unit-product = $\times$]{2.67}{\farad}\\ -\subsubsection{multi-part-units} -{ -\sisetup{separate-uncertainty}% -\SI{12.3(4)}{\kilo\gram} \\ -\SI[multi-part-units = brackets]{12.3(4)}{\kilo\gram} \\ -\SI[multi-part-units = repeat]{12.3(4)}{\kilo\gram}\\ -\SI[multi-part-units = single]{12.3(4)}{\kilo\gram}\\ -} - -{ -\sisetup{separate-uncertainty,bracket-numbers = false}% -\num{1.234(5)e-4} \\ -\SI{1.234(5)e-4}{\metre}\\ -} -\subsubsection{product-units} -\SI{2 x 3 x 4}{\metre} \\ -\SI[product-units = brackets]{2 x 3 x 4}{\metre}\\ -\SI[product-units = brackets-power]{2 x 3 x 4}{\metre}\\ -\SI[product-units = power]{2 x 3 x 4}{\metre}\\ -\SI[product-units = repeat]{2 x 3 x 4}{\metre}\\ -\SI[product-units = single]{2 x 3 x 4}{\metre}\\ - -\subsubsection{list-units,range-units} -\SIlist{2;4;6;8}{\tesla} \\ -\SIlist[list-units = brackets]{2;4;6;8}{\tesla} \\ -\SIlist[list-units = repeat]{2;4;6;8}{\tesla} \\ -\SIlist[list-units = single]{2;4;6;8}{\tesla} \\ -\SIrange{2}{4}{\degreeCelsius} \\ -\SIrange[range-units = brackets]{2}{4}{\degreeCelsius} \\ -\SIrange[range-units = repeat]{2}{4}{\degreeCelsius} \\ -\SIrange[range-units = single]{2}{4}{\degreeCelsius}\\ - -\subsubsection{exponent-to-prefix} -\SI{1700}{\g} \\ -\SI{1.7e3}{\g} \\ -{ -\sisetup{exponent-to-prefix}% -\SI{1700}{\g} \\ -\SI{1.7e3}{\g} \\ -} -{ -\sisetup{fixed-exponent = 3, scientific-notation = fixed}% -\SI{1700}{\g} \\ -\SI{1.7e3}{\g}\\ -} - - -\section{Tabular material} -% \begin{tabular}{S} -% 2.3456 \\ -% \end{tabular} -% \end{document} +\subsection{Tabular material} - -\begin{table}[H] +Table \ref{tab:S:standard} +\begin{table} \caption{Standard behaviour of the \texttt{S} column type.} \label{tab:S:standard} \centering @@ -870,12 +483,8 @@ \section{Tabular material} \end{tabular} \end{table} - -%\end{document} - - - -\begin{table}[H] +Table \ref{tab:S:extras} +\begin{table} \caption{Detection of surrounding material in an \texttt{S} column.} \label{tab:S:extras} \centering @@ -890,7 +499,28 @@ \section{Tabular material} \end{tabular} \end{table} -\begin{table}[H] +Table \ref{tab:S:ends} +\begin{table} +\caption{Text before and after numbers.% +\label{tab:S:ends}} +\centering +\sisetup{table-format = {now }2.4{\textsuperscript{\emph{a}}}} +\begin{tabular}{@{}S@{}} +\toprule +{Values} \\ +\midrule +2.3456 \\ +34.2345 \textsuperscript{\emph{a}}\\ +34.2345 {\textsuperscript{\emph{a}}}\\ +56.7835 \\ +%now~ 90.473 \\ % todo error +{now~} 90.473 \\ % todo incorrect +\bottomrule +\end{tabular} +\end{table} + +Table \ref{tab:tablenum} +\begin{table} \caption{Controlling complex alignment with the tablenum macro.} \label{tab:tablenum} \centering @@ -905,7 +535,7 @@ \section{Tabular material} \multicolumn{2}{c}{\tablenum[table-format = 4.4]{4563.21}} \\ \bottomrule \end{tabular} -\hfil +\qquad \begin{tabular}{lr} \toprule Heading & Heading \\ @@ -918,71 +548,1058 @@ \section{Tabular material} \end{tabular} \end{table} -\begin{table}[H] -\centering -\caption{Units in tables.} -\label{tab:s:demo} -\begin{tabular}{s} -\toprule -\multicolumn{1}{c}{Unit} \\ -\midrule -\metre\squared\per\second \\ -\pascal \\ -m.s^{-1} \\ -\bottomrule -\end{tabular} -\end{table} +\section{Package control options} -\begin{table}[H] -\centering -\caption{The \texttt{s} column processes everything.} -\label{tab:s:processing} -\sisetup{color = orange} -\begin{tabular}{ss} -\toprule -{Unit} -& \multicolumn{1}{c}{Unit}\\ -\midrule -{\si{m^3}} & \multicolumn{1}{c}{\si{m^3}} \\ -\kilogram -& \kilogram \\ -\bottomrule -\end{tabular} -\end{table} +\stepcounter{subsection} + +\subsection{Printing} +\subsubsection{mode, number-mode, unit-mode} +\subsubsection{reset-text-[family\textbar series\textbar shape]} % todo font +{ + \sisetup{mode = text} + {\itshape \num{1234}}\\ + {\bfseries \num{1234}}\\ + {\sffamily \num{1234}}\\ + \sisetup{ + reset-text-family = false , + reset-text-series = false , + reset-text-shape = false + } + {\itshape \num{1234}}\\ + {\bfseries \num{1234}}\\ + {\sffamily \num{1234}} +} + +\subsubsection{propagate-math-font, reset-math-version} +{ + {\boldmath \unit{\kilogram}}\\ % todo font + %{\sansmath $\unit{\kilogram}$}\\ % todo usepackage sansmath + {$\mathsf{\unit{\kilogram}}$}\\ + \sisetup{ + propagate-math-font = true , + reset-math-version = false + } + {\boldmath \unit{\kilogram}}\\ + %{\sansmath $\unit{\kilogram}$}\\ % todo usepackage sansmath + {$\mathsf{\unit{\kilogram}}$} +} + +\subsubsection{text-[family\textbar series]-to-math} % todo font +{ + {\sffamily \unit{\kilogram}}\\ + {\bfseries $\unit{\kilogram}$}\\ + \sisetup{ + text-family-to-math = true , + text-series-to-math = true + } + {\sffamily \unit{\kilogram}}\\ + {\bfseries $\unit{\kilogram}$} +} + +\subsubsection{text-font-command} +{ + \sisetup{number-mode = text} + \qty{123456789}{\kilo\volt\per\centi\metre} \\ + \sisetup{text-font-command = \fontfamily{pplx}\selectfont} + \qty{123456789}{\kilo\volt\per\centi\metre} % todo font +} + +\subsubsection{text-[sub\textbar super]script-command} +{ + \sisetup{unit-mode = text} + \unit{\kg\of{polymer}} \\ + \newcommand*\mysubscript[1]{\textsubscript{\textcolor{blue}{#1}}} + \newcommand\mysuperscript[1]{\textsuperscript{\textcolor{green}{#1}}} + \sisetup{text-subscript-command = \mysubscript} + \unit{\kg\of{polymer}} % todo font +} + +\subsubsection{color, number-color, unit-color} % todo font +{ + \color{red}% + Some text \\ + \qty{4}{\kilogram} \\ + More text \\ + \qty[color = blue]{4}{\kilogram} \\ + \qty[number-color = blue]{4}{\kilogram} \\ + \qty[unit-color = blue]{4}{\kilogram} \\ + Still red here! +} + +\qty[number-color=blue,color=green]{1}{\gram} \\ +\qty[color=green,number-color=blue]{1}{\gram} \\ +\qty[unit-color=blue,color=green]{1}{\gram} \\ +\qty[color=green,unit-color=blue]{1}{\gram} \\ +\ang[number-color=green,unit-color=blue]{-1;2;3} \\ +\numlist{1;2;3}\\ +\numproduct[product-mode=phrase]{1x2}\\ +\numrange{1}{2} + +\numproduct{1.234(5) x 6.78(9)} + +\subsection{Parsing numbers} + +%\subsubsection{input-digits, input-decimal-markers, input-signs, input-exponent-markers} +\subsubsection{input-digits, input-ignore} +\num[input-ignore=3a\pi]{1a234\pi5} + +\subsubsection{input-comparators} + +\num{< 10} \\ +\qty{>> 5}{\metre} \\ +\num{\le 0.12} + +\subsubsection{input-[open\textbar close]-uncertainty, input-uncertainty-signs} +\num{9.99(9)}\\ +\num{9.99 +- 0.09}\\ +\num{9.99 \pm 0.09}\\ +\num{123 +- 4.5}\\ +\num{12.3 +- 6}\\ +\num{123.4(12)} \\ +\num{123.4(1.2)}\\ +\num{123.4(12)(45)} \\ +\num{123.4 \pm 1.2 \pm 4.5} + +\subsubsection{input-uncertainty-divider} +\num{10.56(12:34)} \\ +\num{123.4(4.6:7.8)}\\ +\num{10.56(1:2)(3)}\\ +\num{6.45(2)(3:4)} + +Also:\\ +\num{5.6(1.2:3.4)} \\ +\num{78.56(12:34)} \\ +\num{123.4(12)(45)(67)} \\ +\num{123.4 \pm 1.2 \pm 4.5 \pm 6.7} + + +\subsubsection{parse-numbers} +\num[parse-numbers = false]{\sqrt{2}}\\ +\qty[parse-numbers = false]{\sqrt{3}}{\metre} + +\subsubsection*{Other tests} +\num[parse-numbers=false]{\pi}\\ +\num[parse-numbers=false]{2\pi}\\ +\num[parse-numbers=false]{\pi/3} + +% todo error +%\subsubsection{evaluate-expression, expression} +%{ +%\sisetup{evaluate-expression}% +%\qty{2 + 4 * 3}{\joule} \\ +%\qty[expression = 10 * (#1)]{2 + 4 * 3}{\joule} +%} + +\subsubsection{retain-explicit-decimal-marker, retain-explicit-plus, retain-negative-zero, retain-zero-uncertainty} +%\num[retain-explicit-decimal-marker]{10.} \\ % v2 or v3 +\num{+345} \\ +\num[retain-explicit-plus]{+345} \\ +\num{-0} \\ +\num[retain-negative-zero]{-0} \\ +\num{12.3(0)} \\ +\num[retain-zero-uncertainty]{12.3(0)} + +{ +\num{456} \\ +\num{.789} \\ +\sisetup{ + add-decimal-zero = false, + add-integer-zero = false, +}% +\num{456} \\ +\num{.789} % v2: .789; v3: 0.789. But add-integer-zero is v2 +} + +\subsection{Post-processing numbers} + +\subsubsection{exponent-mode, fixed-exponent} +{ +\num{0.001} \\ +\num{0.0100} \\ +\num{1200} \\ +\sisetup{exponent-mode = scientific}% +\num{0.001} \\ +\num{0.0100} \\ +\num{1200} \\ +\sisetup{exponent-mode = engineering}% +\num{0.001} \\ +\num{0.0100} \\ +\num{1200} \\ +\sisetup{ +exponent-mode = fixed, +fixed-exponent = 2, +}% +\num{0.001} \\ +\num{0.0100} \\ +\num{1200} \\ +} +\num{1.23e4} \\ +\num[exponent-mode = fixed, fixed-exponent = 0]{1.23e4} + +\complexnum[exponent-mode=engineering]{0.5+1000i} +% todo tex has (0.000 500+1.000i)x10^3 (see siunitx#813) + +\subsubsection{exponent-thresholds} +\stepcounter{table} +This is unique to version 3. + +\subsubsection{drop-exponent, drop-uncertainty} +\num{0.01(2)} \\ +\num[drop-uncertainty]{0.01(2)} \\ +\num{0.01e3} \\ +\num[drop-exponent]{0.01e3} % causes warning: Potentially ambiguous dropping of exponent + +\subsubsection{round-mode, round-precision, round-pad} + +{ +\num{1.23456} \\ +\num{14.23} \\ +\num{0.12345(9)} \\ +\num{0.0012345}\\ +\sisetup{ + round-mode = places, + round-precision = 3 +}% +places:\\ +\num{1.23456} \\ +\num{14.23} \\ +\num{0.12345(9)} \\ +\num{0.0012345}\\ +\sisetup{ + round-mode = figures, + round-precision = 3 +}% +figures:\\ +\num{1.23456} \\ +\num{14.23} \\ +\num{0.12345(9)} \\ +\num{9999}\\ +\num{0.0012345}\\ +\sisetup{ +round-mode = uncertainty, +round-precision = 1 +}% +uncertainty:\\ +\num{0.12345(9)} \\ +\num{0.12345(23)} \\ +\num{0.12345(234)}\\ +\num{12345(123)}\\ +\num{123.456(012)}\\ +\num{1234.5(12.3)}\\ +\num{1234.56(98)}\\ +\num{9.99(99)}\\ +\num{99.99(999)}\\ +}% +{ +\sisetup{round-mode = figures, round-precision = 4}% +figures:\\ +\num{12.3} \\ +\num{012.34} \\ +\num[round-pad = false]{12.3}\\ +} +Also\\ +\numproduct[round-mode=places]{.123 x .456 x .789} + +\subsubsection{round-direction, round-half} +{ +\sisetup{round-mode = places} +\num{0.054} \\ +\num{0.046} \\ +\sisetup{round-direction = down}% +\num{0.054} \\ +\num{0.046} \\ +\sisetup{round-direction = up}% +\num{0.054} \\ +\num{0.046} \\ +} +{ +\sisetup{ +round-mode = figures, +round-precision = 1, +round-half = up +}% +\num{0.055} \\ +\num{0.045} \\ +\sisetup{round-half = even}% +\num{0.055} \\ +\num{0.045} +} + +\subsubsection{uncertainty-round-direction} +{ +\sisetup{round-mode = uncertainty} +\num{0.123(41)} \\ +\sisetup{uncertainty-round-direction = up}% +\num{0.123(41)} \\ % lets try again +\sisetup{round-precision=1}% +\num{0.123(41)} +} + +\subsubsection{round-minimum} +{ +\sisetup{round-mode = places}% +\num{0.0055} \\ +\num{0.0045} \\ +\num{-0.0045} \\ +\sisetup{round-minimum = 0.01}% +\num{0.0055} \\ +\num{0.0045} \\ +\num{-0.0045}\\ +\sisetup{round-minimum = {0,01}}% +\num{0,0045} +} + +\subsubsection{round-zero-positive} +{ +\sisetup{round-mode = places}% +\num{-0.001} \\ +\sisetup{round-zero-positive = false}% +\num{-0.001} +} + +\subsubsection{drop-zero-decimal} +\num{2.0} \\ +\num{2.1} \\ +{ +\sisetup{drop-zero-decimal}% +\num{2.0} \\ +\num{2.1} +} + +\subsubsection{minimum-decimal-digits, minimum-integer-digits} +\num{123} \\ +\num[minimum-integer-digits = 2]{123} \\ +\num[minimum-integer-digits = 4]{123} \\ +\num{0.123} \\ +\num[minimum-decimal-digits = 2]{0.123} \\ +\num[minimum-decimal-digits = 4]{0.123} + +\subsubsection{Other Tests} +{ +\num{001} \\ +%\num{123.} \\ % v2 or v3 +\num{456} \\ +\num{.789} \\ +\sisetup{ + minimum-decimal-digits = 0, + print-zero-integer = false, +}% +%\num{123.} \\ % v2 or v3 +\num{456} \\ +\num{.789} \\ +} +Also: \\ +\num[minimum-decimal-digits=2]{1} \\ +\num[minimum-decimal-digits=1, drop-zero-decimal]{1.00} \\ +\num[minimum-decimal-digits=2, drop-zero-decimal]{1} + +% an example from https://github.com/josephwright/siunitx/issues/756 +\num[separate-uncertainty=true, round-mode=uncertainty, drop-zero-decimal=true, round-precision=1]{-52.01(43)} + + +\subsection{Printing Numbers} +\subsubsection{group-digits, group-separator} +\num{12345.67890} \\ +\num[group-digits = none]{12345.67890} \\ +\num[group-digits = decimal]{12345.67890} \\ +\num[group-digits = integer]{12345.67890}\\ +\num{12345} \\ +\num[group-separator = {,}]{12345} \\ +\num[group-separator = \text{~}]{12345}\\ +\num[group-separator = \ ]{12345} + +\subsubsection{group-minimum-digits} +\num{1234} \\ +\num{12345} \\ +\num[group-minimum-digits = 5]{1234} \\ +\num[group-minimum-digits = 5]{12345} \\ +\num{1234.5678} \\ +\num{12345.67890} \\ +\num[group-minimum-digits = 5]{1234.5678} \\ +\num[group-minimum-digits = 5]{12345.67890} + +\subsubsection*{Other tests} +\num{1234} \\ +\num[group-minimum-digits = 4]{1234} \\ +\num{1234.5678} \\ +\num[group-minimum-digits = 4]{1234.5678} + +\subsubsection{digit-group-size, digit-group-first-size, digit-group-other-size} +\num{1234567890} \\ +\num[digit-group-size = 5]{1234567890} \\ +\num[digit-group-other-size = 2]{1234567890} + +\subsubsection*{Other tests} +\num{1234567890.1234567890}\\ +\num[digit-group-size=4]{1234567890.1234567890}\\ +\num[digit-group-size = 5, digit-group-other-size = 2]{1234567890} \\ +\num[digit-group-other-size = 2, digit-group-size = 5]{1234567890} \\ +\num[digit-group-size = 5, digit-group-first-size = 2]{1234567890} \\ +\num[digit-group-first-size = 2, digit-group-size = 5]{1234567890} + +\subsubsection{output-decimal-marker} +\num{1.23} \\ +\num[output-decimal-marker = {,}]{1.23} % todo spacing: the , gets interpreted as punctuation + +\subsubsection{exponent-base, exponent-product} +\num[exponent-product = \times]{1e2} \\ +\num[exponent-product = \cdot]{1e2} \\ +\num[exponent-base = 2]{1e2} + +\subsubsection{output-exponent-marker} +\num[output-exponent-marker = e]{1e2} \\ +\num[output-exponent-marker = \text{e}]{1e2} \\ +\num[output-exponent-marker = \mathrm{E}]{1e2}\\ +\num[output-exponent-marker = \ensuremath{\mathrm{E}}]{1e2} + +\subsubsection{uncertainty-[mode\textbar separator], output-[open\textbar close]-uncertainty} +{ +\num{123.45(120)} \\ +\num{0.035(14)} \\ +\sisetup{uncertainty-mode = full} +\num{123.45(120)} \\ +\num{0.035(14)} \\ +\sisetup{uncertainty-mode = compact-marker} +\num{123.45(120)} \\ +\num{0.035(14)} \\ +%\sisetup{uncertainty-mode = separate} +\sisetup{ +output-open-uncertainty = [, +output-close-uncertainty = ], +uncertainty-separator = \, +}% +\num{1.234(5)} \\ +\num{1.234\pm 0.005} \\ +\num[uncertainty-mode = separate]{1.234(5)} \\ +\num[uncertainty-mode = separate]{1.234\pm 0.005} \\ +\num{8.2(13)} \\ +\num{8.2\pm1.3} \\ +\num[uncertainty-mode = separate]{8.2(13)}\\ +\num[uncertainty-mode = separate]{8.2\pm1.3} \\ +\num{1.2 +- 0.001}\\ +\num[uncertainty-mode = separate]{1.2 +- 0.001}\\ +} +\fbox{\parbox{4em}{% +\sisetup{uncertainty-mode = separate}% +\num{67890+-12345}\\ +\num[allow-uncertainty-breaks=false]{67890+-12345}% todo spacing +}} + +\subsubsection{uncertainty-descriptors, uncertainty-descriptor-mode, uncertainty-descriptor-separator} % todo spacing, todo font +{ +\num{1.2(3)(4)} \\ +\sisetup{uncertainty-descriptors = {sys, stat}} +\num{1.2(3)(4)} \\ % default uncertainty-descriptor-mode = bracket-separator +\num[uncertainty-descriptor-mode = subscript]{1.2(3)(4)}\\ +\num[uncertainty-descriptor-mode = bracket]{1.2(3)(4)}\\ +\num[uncertainty-descriptor-mode = separator]{1.2(3)(4)}\\ +\num[uncertainty-mode=separate]{1.2(3)}\\ +\num[uncertainty-mode=separate]{1.2(3)(4)(5)}\\ +} +\num[uncertainty-mode=separate, uncertainty-descriptors={sys}]{1.2(3)}\\ +\num[uncertainty-mode=separate, uncertainty-descriptors={sys,stat,third}]{1.2(3)(4)} + +\subsubsection{simplify-uncertainty} +\num{10.56(2:2)} \\ +\num[simplify-uncertainty]{10.56(2:2)} + +\subsubsection{bracket-ambiguous-numbers} +\num{1 e10} \\ +\complexnum{2i e10} \\ +\complexnum{1+2i e10} \\ +\complexnum[bracket-ambiguous-numbers = false]{1+2i e10} \\ +{ +\sisetup{uncertainty-mode = separate} +\num{1.2(3)e4} \\ +\num[bracket-ambiguous-numbers = false]{1.2(3)e4} \\ +} +{ +\sisetup{uncertainty-mode = separate, bracket-ambiguous-numbers = false}% +\num{1.234(5)e-4} %\\ +%\qty{1.234(5)e-4}{\metre} +% "This option only applies to pure numbers: when formatting quantities, +% the need for brackets also depends on the placement of units, so is controlled by separate-uncertainty-units." +} + +\subsubsection{negative-color} +\num{-15673} \\ +\num[negative-color = red]{-15673} + +also:\\ +\num[negative-color = red]{-0}\\ +\num[negative-color = red, retain-negative-zero]{-0}\\ +\num[color=green,negative-color=red]{-10}\\ +\num[negative-color=red,color=green]{-10} + +{\sisetup{negative-color=red} +\complexnum{1}\\ +\complexnum{-1}\\ +\complexnum{3i}\\ +\complexnum{-3i}\\ +\complexnum{1+3i}\\ +\complexnum{-1+3i}\\ +\complexnum{1-3i}\\ +\complexnum{-1-3i} +} + +\subsubsection{bracket-negative-numbers} +\num{-15673} \\ +\num[bracket-negative-numbers]{-15673} \\ +\qty{-10}{\metre} \\ +\qty[bracket-negative-numbers]{-10}{\metre} + +{\sisetup{bracket-negative-numbers} +\num{<<-5}\\ +\num{-13(1)}\\ +\num{-13+-1}\\ +\num{-e10}\\ +\num{-2e10}\\ +\complexnum{1}\\ +\complexnum{-1}\\ +\complexnum{3i}\\ +\complexnum{-3i}\\ +\complexnum{1+3i}\\ +\complexnum{-1+3i}\\ +\complexnum{1-3i}\\ +\complexnum{-1-3i} +} + +\subsubsection{tight-spacing} % todo spacing +\num{2e3} \\ +\num[tight-spacing = true]{2e3} + +\subsubsection{print-implicit-plus, print-[exponent\textbar mantissa]-implicit-plus} +a\\ +\num{345} \\ +\num[print-implicit-plus]{345} \\ +\num[print-mantissa-implicit-plus]{345} \\ +\num[print-exponent-implicit-plus]{345} \\ +b\\ +\num{1e2} \\ +\num[print-implicit-plus]{1e2} \\ +\num[print-mantissa-implicit-plus]{1e2} \\ +\num[print-exponent-implicit-plus]{1e2} \\ +c\\ +\num{1e+2} \\ +\num[print-implicit-plus]{1e+2} \\ +\num[print-mantissa-implicit-plus]{1e+2} \\ +\num[print-exponent-implicit-plus]{1e+2} \\ +d\\ +\num{-1e2} \\ +\num[print-implicit-plus]{-1e2} \\ +\num[print-mantissa-implicit-plus]{-1e2} \\ +\num[print-exponent-implicit-plus]{-1e2} \\ +e\\ +\num{1e-2} \\ +\num[print-implicit-plus]{1e-2} \\ +\num[print-mantissa-implicit-plus]{1e-2} \\ +\num[print-exponent-implicit-plus]{1e-2} + +\subsubsection{print-unity-mantissa, print-zero-[exponent\textbar integer]} +\num{1e4} \\ +\num[print-unity-mantissa = false]{1e4} \\ +\num{444e0} \\ +\num[print-zero-exponent = true]{444e0} \\ +\num{0.123} \\ +\num[print-zero-integer = false]{0.123} + +\num{e4}\\ +%\num[print-unity-mantissa]{e4}\\ +\num[print-unity-mantissa=false]{e4} + +\num[]{1e0}\\ +\num[print-unity-mantissa=false]{1e0}\\ % 1 should leak through as per documentation b/c print-zero-exponent=false +\num[print-zero-exponent=true]{1e0}\\ +\num[print-unity-mantissa=false, print-zero-exponent=true]{1e0} + +\subsubsection{zero-decimal-as-symbol, zero-symbol} +\num{123.00} \\ +{ +\sisetup{zero-decimal-as-symbol} +\num{123.00} \\ +%\num{123.} \\ % v2 or v3 +\num{123} \\ +\num[zero-symbol = \text{[{---}]}]{123.00} +} + +\subsection{Lists, products and ranges} +\subsubsection{list-[final\textbar pair]-separator, list-separator} +\numlist{0.1;0.2;0.3}\\ +\numlist[list-separator = {; }]{0.1;0.2;0.3}\\ +\numlist[list-final-separator = {, }]{0.1;0.2;0.3} \\ +\numlist[ +list-separator = { and }, +list-final-separator = { and finally } +]{0.1;0.2;0.3} \\ +\numlist{0.1;0.2} \\ +\numlist[list-pair-separator = {, and }]{0.1;0.2} \\ +\numlist[color=blue]{0.1;0.2;0.3} + +\subsubsection{product-[mode\textbar phrase\textbar symbol]} +\numproduct{5 x 100 x 2} \\ +\numproduct[product-symbol = \ensuremath{\cdot}]{5 x 100 x 2} \\ +{ +\sisetup{product-mode = phrase}% +\numproduct{5 x 100 x 2}\\ +\numproduct[product-phrase = { BY }]{5 x 100 x 2} +} + +\subsubsection{range-open-phrase, range-phrase} +\numrange{5}{100} \\ +\numrange[range-phrase = --]{5}{100}\\ +\numrange{10}{12} \\ +\numrange[range-open-phrase = {\text{from} }]{5}{100}\\ +\numrange[color=blue,range-phrase = --]{5}{100} + +\subsubsection{[list\textbar product\textbar range]-exponents} +\numlist{5e3;7e3;9e3;1e4} \\ +\numproduct{5e3 x 7e3 x 9e3 x 1e4} \\ +\numrange{5e3}{7e3} \\ +{ +\sisetup +{ +list-exponents = combine-bracket , +product-exponents = combine-bracket , +range-exponents = combine-bracket +} +\numlist{5e3;7e3;9e3;1e4} \\ +\numproduct{5e3 x 7e3 x 9e3 x 1e4} \\ +\numrange{5e3}{7e3} \\ +\numrange[range-open-phrase={\text{from }}]{5e3}{7e3} \\ +\sisetup +{ +list-exponents = combine , +product-exponents = combine , +range-exponents = combine +} +\numlist{5e3;7e3;9e3;1e4} \\ +\numproduct{5e3 x 7e3 x 9e3 x 1e4} \\ +\numrange{5e3}{7e3} +} + +\subsubsection{[list\textbar product\textbar range]-units} +\qtylist{2;4;6;8}{\tesla} \\ +\qtylist[list-units = bracket]{2;4;6;8}{\tesla} \\ +\qtylist[list-units = repeat]{2;4;6;8}{\tesla} \\ +\qtylist[list-units = single]{2;4;6;8}{\tesla} \\ +\qtyrange{2}{4}{\degreeCelsius} \\ +\qtyrange[range-units = bracket]{2}{4}{\degreeCelsius} \\ +\qtyrange[range-units = repeat]{2}{4}{\degreeCelsius} \\ +\qtyrange[range-units = single]{2}{4}{\degreeCelsius}\\ +\qtyproduct{2 x 3 x 4}{\metre} \\ +\qtyproduct[product-units = bracket]{2 x 3 x 4}{\metre}\\ +\qtyproduct[product-units = repeat]{2 x 3 x 4}{\metre}\\ +\qtyproduct[product-units = single]{2 x 3 x 4}{\metre}\\ +\qtyproduct[product-units = bracket-power]{2 x 3 x 4}{\metre}\\ +\qtyproduct[product-units = power]{2 x 3 x 4}{\metre} + +\subsubsection{[list\textbar product\textbar range]-[close\textbar open]-bracket} +{ +\sisetup{ +list-units = bracket , +list-open-bracket = [ , +list-close-bracket = ] +} +\qtylist{5e3;7e3;9e3;1e4}{\second} \\ +\sisetup{ +product-units = bracket , +product-open-bracket = \{ , +product-close-bracket = \} +} +\qtyproduct{5e3 x 7e3 x 9e3 x 1e4}{\metre} \\ +\sisetup{ +range-units = bracket , +range-open-bracket = \langle, +range-close-bracket = \rangle +} +\qtyrange{2}{4}{\degreeCelsius}\\ +\sisetup{ +list-units = bracket , +list-open-bracket = ( , +list-close-bracket = ) +} +\numlist{5e3;7e3;9e3;1e4} \\ +\sisetup{ +product-units = bracket , +product-open-bracket = ( , +product-close-bracket = ) +} +\numproduct{5e3 x 7e3 x 9e3 x 1e4} \\ +\sisetup{ +range-units = bracket , +range-open-bracket = ( , +range-close-bracket = ) +} +\qtyrange{2}{4}{\degreeCelsius} +} + +\subsubsection{[list\textbar product\textbar range]-independent-prefix} +{ +a\\ +\qtyrange{1e3}{1e9}{\watt}\\ +\qtylist{1e3;1e9}{\watt}\\ +\qtyproduct{1e3 x 1e9}{\watt}\\ +b\\ +\qtyrange[range-independent-prefix]{1e3}{1e9}{\watt}\\ +\qtylist[list-independent-prefix]{1e3;1e9}{\watt}\\ +$\qtyproduct[product-independent-prefix]{1e3 x 1e9}{\watt}$\\ +\sisetup{exponent-to-prefix}% +c\\ +\qtyrange{1000}{1e9}{\watt}\\ +\qtyrange{1e3}{1e9}{\watt}\\ +\qtylist{1000;1e9}{\watt}\\ +\qtylist{1e3;1e9}{\watt}\\ +\qtyproduct{1000 x 1e9}{\watt}\\ +\qtyproduct{1e3 x 1e9}{\watt}\\ +d\\ +\qtyrange[range-independent-prefix]{1e3}{1e9}{\watt}\\ +\qtylist[list-independent-prefix]{1e3;1e9}{\watt}\\ +$\qtyproduct[product-independent-prefix]{1e3 x 1e9}{\watt}$ +} + + +\subsubsection{prefix-mode = combine-exponent} +\qty{1700}{\g} \\ +\qty{1.7e3}{\g} \\ +{ +\sisetup{prefix-mode = combine-exponent}% +\qty{1700}{\g} \\ +\qty{1.7e3}{\g} \\ +} +{ +\sisetup{fixed-exponent = 3, exponent-mode = fixed}% +\qty{1700}{\g} \\ +\qty{1.7e3}{\g} +} + + +\subsection{Complex Numbers} +\subsubsection{complex-mode} +\complexnum{1 + i} \\ +\complexnum{1:45} \\ +\complexnum[complex-mode = cartesian]{1 + i} \\ +\complexnum[complex-mode = cartesian, round-mode = places]{1:45} \\ +\complexnum[complex-mode = polar]{1 + i} \\ +\complexnum[complex-mode = polar]{1:45} + +\subsubsection{input-complex-roots} +\complexnum{9.99 + 88.8i} \\ +\complexnum{9.99 + i88.8} + +\subsubsection{output-complex-root} % todo font +\complexnum{1+2i} \\ +\complexnum[output-complex-root = i]{1+2i} \\ +\complexnum[output-complex-root = \text{\ensuremath{i}}]{1+2i} \\ +\complexnum[output-complex-root = j]{1+2i} + +\subsubsection{complex-root-position} +\complexnum{67-0.9i} \\ +\complexnum[complex-root-position = before-number]{67-0.9i} \\ +\complexnum[complex-root-position = after-number]{67-0.9i} + +\subsubsection{complex-angle-unit, complex-symbol-angle, complex-symbol-degree} +\complexqty{1:1}{\ohm} \\ +\complexqty[complex-angle-unit = radians]{1:1}{\ohm} \\ +\complexqty[complex-symbol-degree = d]{1:1}{\ohm} +%\complexqty[complex-phase-command = \phase]{1:1}{\ohm} % needs steinmetz package + +\subsubsection{print-complex-unity} +\complexqty{1i}{\ohm} \\ +\complexqty[print-complex-unity]{1i}{\ohm}\\ +\complexqty[print-complex-unity]{i}{\ohm} + +\subsubsection{Other tests} +Real numbers as complex:\\ +\complexnum{1}\\ +\complexnum[print-complex-unity]{1}\\ +\complexnum[complex-mode=cartesian]{1:180}\\ +\complexnum[complex-mode=cartesian]{1:360}\\ +\complexnum[complex-mode=cartesian]{1:540}\\ +\complexnum[complex-mode=cartesian]{1:720}\\ +\complexnum[complex-mode=cartesian, complex-angle-unit=radians]{1:3.14159265359}\\ % Perl uses sci notation for these two +\complexnum[complex-mode=cartesian, complex-angle-unit=radians]{1:6.28318530718} % TeX doesn't + +\complexnum[complex-mode=polar, complex-angle-unit=radians]{i} + +\subsection{Angles} +\subsubsection{angle-mode} +\ang{2.67} \\ +\ang{2;3;4} \\ +\ang[angle-mode = arc]{2.67} \\ +\ang[angle-mode = arc]{2;3;4} \\ +\ang[angle-mode = decimal]{2.67} \\ +\ang[angle-mode = decimal]{2;3;4} + +\subsubsection{angle-separator} +\ang{6;7;6.5} \\ % todo spacing +\ang[angle-separator = \,]{6;7;6.5} + +\subsubsection{fill-angle-[degrees\textbar minutes\textbar seconds]} +\ang{-1;;} \\ +\ang{;-2;} \\ +\ang{;;-3} \\ +{ +\sisetup{fill-angle-degrees} +\ang{-1;;} \\ +\ang{;-2;} \\ +\ang{;;-3} \\ +} +{ +\sisetup{fill-angle-minutes} +\ang{-1;;} \\ +\ang{;-2;} \\ +\ang{;;-3} \\ +} +{ +\sisetup{fill-angle-seconds} +\ang{-1;;} \\ +\ang{;-2;} \\ +\ang{;;-3} \\ +} +\ang[fill-angle-minutes,fill-angle-seconds]{45.697}\\ +\ang[color=blue,fill-angle-minutes,fill-angle-seconds]{45.697} + +\subsubsection{angle-symbol-[degree\textbar minute\textbar second]} +{ +\ang{6;7;6.5} \\ +\sisetup{ +angle-symbol-degree = d , +angle-symbol-minute = m , +angle-symbol-second = s +} +\ang{6;7;6.5} +} + +\subsubsection{angle-symbol-over-decimal} +\ang{45.697} \\ +\ang{6;7;6.5} \\ +\ang[angle-symbol-over-decimal]{45.697} \\ +\ang[angle-symbol-over-decimal]{6;7;6.5}\\ +\ang[color=blue,angle-symbol-over-decimal]{6;7;6.5} +% \ang{10}\\ +% \ang{12.3}\\ +% \ang{4,5}\\ +% \ang{1;2;3}\\ +% \ang{;;1}\\ +% \ang{+10;;}\\ +% \ang{-0;1;}\\ + +\stepcounter{subsection} + +\subsection{Using Units} +\subsubsection{inter-unit-product} +\unit{\farad\squared\lumen\candela} \\ +\unit[inter-unit-product = \ensuremath{{}\cdot{}}]{\farad\squared\lumen\candela}\\ +\unit[color=blue,inter-unit-product = \ensuremath{{}\cdot{}}]{\farad\squared\lumen\candela} + +\subsubsection{per-mode, [display\textbar inline]-per-mode, per-symbol, fraction-command, bracket-unit-denominator} +\unit{\joule\per\mole\per\kelvin} \\ +\unit{\metre\per\second\squared} \\ +\unit[per-mode=fraction]{\joule\per\mole\per\kelvin} \\ +\unit[per-mode=fraction]{\joule\raiseto{-1}\mole\per\kelvin} \\ +\unit[per-mode=fraction]{\metre\per\second\squared}\\ +\unit{\ampere\per\mole\second} \\ +\unit[per-mode = power-positive-first]{\ampere\per\mole\second} + +{ +\sisetup{per-mode = symbol}% +\unit{\joule\per\mole\per\kelvin} \\ +\unit{\metre\per\second\squared} \\ +\unit[per-symbol = \ \text{div}\ ]{\joule\per\mole\per\kelvin} \\ +\unit[bracket-unit-denominator = false]{\joule\per\mole\per\kelvin}\\ +} +\unit[per-mode=repeated-symbol]{\joule\per\mole\per\kelvin} + +{ +\sisetup{per-mode = single-symbol} +\qty{10}{\per\metre} \\ +\qty{20}{\metre\per\second} \\ +\qty{30}{\joule\per\mole\per\kelvin} +} + +{ +\sisetup{ +display-per-mode = fraction , +inline-per-mode = symbol +}% +\( \unit{\joule\per\mole\per\kelvin} \) +\[ \unit{\joule\per\mole\per\kelvin} \] +\unit{\joule\per\mole\per\kelvin} \\ +\( +\displaystyle +\unit{\joule\per\mole\per\kelvin} +\) +\[ +\textstyle +\unit{\joule\per\mole\per\kelvin} +\] +\[ +\textstyle +\unit[color=blue]{\joule\per\mole\per\kelvin} +\] +} + +\newcommand{\myfraction}[2]{#1~\text{over }#2} +Other tests:\\ +\unit[per-mode=single-symbol]{\meter\per\second\liter}\\ +\unit[per-mode=fraction, fraction-command=\myfraction]{\joule\per\mole\per\kelvin} + +\subsubsection{per-symbol-script-correction} +{ +\sisetup{per-mode = symbol}% +\unit{\cm\cubed\per\gram} \\ +\unit[per-symbol-script-correction = ]{\cm\cubed\per\gram} % todo spacing +} + +\subsubsection{sticky-per} +\unit{\pascal\per\gray\henry} \\ +\unit[sticky-per]{\pascal\per\gray\henry} + +\subsubsection{qualifier-[mode\textbar phrase]} +\unit{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ +\unit[qualifier-mode = bracket]{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ +\unit[qualifier-mode = subscript]{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ +\unit[qualifier-mode = phrase, qualifier-phrase=\ ]{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ +\unit[qualifier-mode = combine]{\deci\bel\isotropic}\\ +\unit{\kilogram\of{pol}\squared\per\mole\of{cat}\per\hour} \\ +\unit[qualifier-mode = bracket]{\kilogram\of{pol}\squared\per\mole\of{cat}\per\hour} \\ +\unit[qualifier-mode = combine]{\deci\bel\of{i}} \\ +{ +\sisetup{qualifier-mode = phrase, qualifier-phrase = \ }% +\unit{\kilogram\of{pol}\squared\per\mole\of{cat}\per\hour} \\ +\sisetup{qualifier-phrase = \ \mbox{of}\ }% +\unit{\kilogram\of{pol}\squared\per\mole\of{cat}\per\hour} +} +%\unit[qualifier-mode = phrase]{\kilogram\polymer\squared\per\mole\catalyst\per\hour} \\ +\unit[qualifier-mode = phrase, qualifier-phrase = { by }]{\kilogram\polymer\squared\per\mole\catalyst\per\hour} + +% keep an eye on siunitx#854 +\unit[qualifier-mode = bracket]{\kilogram\polymer\squared} \\ % v2 invalid; v3 kg(pol)^2 +\unit[qualifier-mode = brackets]{\kilogram\polymer\squared} \\ % kg(pol)^2 +\unit[qualifier-mode = phrase, qualifier-phrase = {\;}]{\kilogram\polymer\squared} \\ % v2 (kg pol)^2; v3 kg pol^2 +\unit[qualifier-mode = space]{\kilogram\polymer\squared} \\ % v2 (kg pol)^2; v3 kg pol^2 +\unit[qualifier-mode = combine]{\kilogram\polymer\squared} \\ % v2 invalid; v3 kgpol^2 +\unit[qualifier-mode = text]{\kilogram\polymer\squared} % kgpol^2 + +\subsubsection{power-half-as-sqrt} +\unit{\Hz\tothe{0.5}} \\ +\unit[power-half-as-sqrt]{\Hz\tothe{0.5}} + +\subsubsection{parse-units} +\qty{300}{\MHz} \\ +\qty[parse-units = false]{300}{\MHz} \\ +\unit{\meter\per\second} \\ +\unit[parse-units=false]{\meter\per\second} +% Setting parse-units=false speeds things up by making many default assumptions. +% It's not clear which assumptions we miss. +% per-mode is the only one I know of. +% see siunitx#840 + +\subsubsection{forbid-literal-units} +\unit{m/s}\\ +%\unit[forbid-literal-units]{m/s}\\ % raise an error +\unit[forbid-literal-units]{\meter\per\second} + +\subsubsection{unit-font-command} % todo font +\unit{\lumen} \\ +\unit[unit-font-command = \mathit]{\lumen} + +\subsection{Quantities} +\subsubsection{allow-quantity-breaks} +\begin{minipage}{3cm} +% Gives an underfull hbox +X\hspace{2.4cm}\qty{10}{\metre} \\ +X\hspace{2.1cm}\qty{10}{\metre} \\ +\sisetup{allow-quantity-breaks} +X\hspace{2.4cm}\qty{10}{\metre} \\ % disagrees with texdoc? % todo spacing +X\hspace{2.1cm}\qty{10}{\metre} % todo spacing +\end{minipage} + +\subsubsection{quantity-product} % todo spacing +\qty{2.67}{\farad} \\ +\qty[quantity-product = \ ]{2.67}{\farad} \\ +\qty[quantity-product = ]{2.67}{\farad}\\ +\qty[quantity-product = \,]{2.67}{\farad}\\ +\qty[quantity-product = \;]{2.67}{\farad}\\ +\qty[quantity-product = $\times$]{2.67}{\farad}\\ +\qty[color=blue,quantity-product = $\times$]{2.67}{\farad}\\ +also\\ +\qty[quantity-product = $\times$, separate-uncertainty]{3.7+-4.5}{\farad} + + +\subsubsection{prefix-mode, extract-mass-in-kilograms} +\qty{1e3}{\metre\second} \\ +\qty[prefix-mode = combine-exponent]{1e3}{\metre\second} \\ +\qty{10}{\kilo\gram\squared\deci\second} \\ +\qty[prefix-mode = extract-exponent]{10}{\kilo\gram\squared\deci\second}\\ +\qty[prefix-mode = extract-exponent]{7.5}{\gram} \\ +{ +\sisetup{extract-mass-in-kilograms = false} +\qty{10}{\kilo\gram\squared\deci\second} \\ +\qty[prefix-mode = extract-exponent]{10}{\kilo\gram\squared\deci\second} \\ +\qty[prefix-mode = extract-exponent]{7.5}{\gram} +} -\subsubsection{table-parse-only} -\begin{table}[H] +\unit{\milli\litre\per\mole\deci\ampere} \\ +%%\qty{10}{\kilo\gram\squared\deci\second} \\ +\unit[prefix-mode = extract-exponent]{\milli\litre\per\mole\deci\ampere}\\ +\unit[prefix-mode = extract-exponent]{\kilo\gram\squared\deci\second}\\ +\unit{\mega\gram\squared\deci\second}\\ +\unit[prefix-mode = extract-exponent]{\mega\gram\squared\deci\second}\\ +\unit{\micro\gram\squared\deci\second}\\ +\unit[prefix-mode = extract-exponent]{\micro\gram\squared\deci\second}\\ +\unit{\per\mega\gram\squared\deci\second}\\ +\unit[prefix-mode = extract-exponent]{\per\mega\gram\squared\deci\second}\\ +\unit{\per\micro\gram\squared\deci\second}\\ +\unit[prefix-mode = extract-exponent]{\per\micro\gram\squared\deci\second} +%%\qty[prefix-mode = extract-exponent]{10}{\kilo\gram\squared\deci\second}\\ + +\subsubsection{separate-uncertainty-units} +{ +\sisetup{uncertainty-mode = separate}% +\qty{12.3(4)}{\kilo\gram} \\ +\qty[separate-uncertainty-units = bracket]{12.3(4)}{\kilo\gram} \\ +\qty[separate-uncertainty-units = repeat]{12.3(4)}{\kilo\gram}\\ +\qty[separate-uncertainty-units = single]{12.3(4)}{\kilo\gram} +} + +\subsection{Tabular Material} + +\subsubsection{table-alignment-mode} +Table \ref{tab:S:parse} +\begin{table} \centering -\caption{Parsing without aligning in an \texttt{S} column.} -\label{tab:S:parse} -\begin{tabular}{SS[table-parse-only]} +\caption{Parsing without aligning in an \texttt{S} column.% +\label{tab:S:parse}} +\begin{tabular} +{@{}S +S[table-alignment-mode = none] +@{}} \toprule -{Decimal-centred} & -{Simple centring} \\ +{Decimal-centered} & +{Simple centering} \\ \midrule 12.345 & 12.345 \\ -6,78 & 6,78 \\ +6,78 & 6,78 \\ -88.8(9) & -88.8(9) \\ -4.5e3 & 4.5e3 \\ +4.5e3 & 4.5e3 \\ \bottomrule \end{tabular} \end{table} \subsubsection{table-number-alignment} -\begin{table}[H] +Table \ref{tab:S:align} +\begin{table} \caption{Aligning the \texttt{S} column.} \label{tab:S:align} \centering -\sisetup{ -table-figures-integer = 2, -table-figures-decimal = 4 -} -\begin{tabular}{ -S +\sisetup{table-format = 2.4, table-alignment-mode = format} +\begin{tabular}{@{} +S[table-alignment-mode = marker] S[table-number-alignment = center] S[table-number-alignment = left] S[table-number-alignment = right] -} +@{}} \toprule {Some Values} & {Some Values} & {Some Values} & {Some Values} \\ \midrule @@ -994,128 +1611,48 @@ \subsubsection{table-number-alignment} \end{tabular} \end{table} -\subsubsection{table-figures-decimal, table-figures-exponent,table-figures-integer,table-figures- -uncertainty} - -\begin{table}[H] -\caption{Reserving space in \texttt{S} columns.} -\label{tab:S:space} -\sisetup{ -table-number-alignment = center, -table-figures-integer = 2 -} -\centering -\begin{tabular}{ -S -S[table-number-alignment = right] -S[table-figures-uncertainty = 1] -S[separate-uncertainty, table-figures-uncertainty = 1] -S[table-sign-mantissa] -S[table-figures-exponent = 1] -} -\toprule -{Values} -& {Values} -& {Values} -& {Values} -& {Values} -& {Values} \\ -\midrule -2.3 & 2.3 & 2.3(5) & 2.3(5) & 2.3 & 2.3e8\\ -34.23 & 34.23 & 34.23(4) & 34.23(4) & 34.23 & 34.23\\ -56.78 & 56.78 & 56.78(3) & 56.78(3) & -56.78 & 56.78e3\\ -3,76 & 3,76 & 3,76(2) & 3.76(2) & +-3.76 & e6\\ -\bottomrule -\end{tabular} -\end{table} - -\subsubsection{table-comparator} -\begin{table}[H] -\caption{Reserving space for comparators in \texttt{S} columns.} -\label{tab:S:comparators} +\subsubsection{table-format} +Table \ref{tab:S:format} +\begin{table} +\caption{Reserving space in \texttt{S} columns.% +\label{tab:S:format}} \sisetup{ +table-alignment-mode = format, table-number-alignment = center, -table-figures-integer = 2, -table-figures-decimal = 2, -table-figures-exponent = 2, } -\centering -\begin{tabular}{ -S -S[table-comparator = true]} -\toprule -{Values} -& {Values} \\ -\midrule -2 .3 & < 2.3e8\\ -34.23 & = 34.23 \\ -56.78 & >= 56.78e3\\ -3,76 & \gg e6 \\ -\bottomrule -\end{tabular} -\end{table} - -\subsubsection{table-format} -\begin{table}[H] -\caption{Using the \texttt{table-format} option.} -\label{tab:S:format} -\centering -\begin{tabular}{ -S +\begin{tabular}{@{} S[table-format = 2.2] +S[table-format = 2.2, table-number-alignment = right] S[table-format = 2.2(1)] +S[table-format = 2.2(1), uncertainty-mode = separate] S[table-format = +2.2] S[table-format = 2.2e1] -} +@{}} \toprule {Values} & {Values} & {Values} & {Values} +& {Values} & {Values} \\ \midrule -2.3 & 2.3 & 2.3(5) & 2.3 & 2.3e8 \\ -34.23 & 34.23 & 34.23(4) & 34.23 & 34.23 \\ -56.78 & 56.78 & 56.78(3) & -56.78 & 56.78e3 \\ -3,76 & 3,76 & 3.76(2) & +-3.76 & e6 \\ +2.3 & 2.3 & 2.3(5) & 2.3(5) & 2.3 & 2.3e8 \\ +34.23 & 34.23 & 34.23(4) & 34.23(4) & 34.23 & 34.23 \\ +56.78 & 56.78 & 56.78(3) & 56.78(3) & -56.78 & 56.78e3 \\ +3,76 & 3,76 & 3,76(2) & 3.76(2) & +-3.76 & e6 \\ \bottomrule \end{tabular} \end{table} +\subsubsection{table-model-setup} -\subsubsection{table-space-text-pre, table-space-text-post} -\begin{table}[H] -\caption{Text before and after numbers.} -\label{tab:S:ends} -\centering -\sisetup{ -table-number-alignment = center, -table-figures-integer = 2, -table-figures-decimal = 4, -table-space-text-pre -= now~, -table-space-text-post = -\textsuperscript{\emph{a}} -} -\begin{tabular}{S} -\toprule -{Values} \\ -\midrule -2.3456 \\ -34.2345 \textsuperscript{\emph{a}}\\ -56.7835 \\ -now~ 90.473 \\ -\bottomrule -\end{tabular} -\end{table} - -\subsubsection{table-align-comparator, table-align-exponent, table-align-uncertainty} -\begin{table}[H] +\subsubsection{table-align-[comparator\textbar exponent\textbar uncertainty]} +Table \ref{tab:align:exp} +\begin{table} \centering -\caption{The \texttt{table-align-exponent} option} -\label{tab:align:exp} -\sisetup{table-format = 1.3e2, table-number-alignment = center} -\begin{tabular}{SS[table-align-exponent = false]} +\caption{The \texttt{table-align-exponent} option% +\label{tab:align:exp}}\sisetup{table-format = 1.3e2} +\begin{tabular}{@{}SS[table-align-exponent = false]@{}} \toprule {Header} & {Header} \\ \midrule @@ -1125,15 +1662,16 @@ \subsubsection{table-align-comparator, table-align-exponent, table-align-uncerta \end{tabular} \end{table} -\begin{table}[H] +Table \ref{tab:align:uncert} +\begin{table} \centering -\caption{The \texttt{table-align-uncertainty} option} -\label{tab:align:uncert} +\caption{The \texttt{table-align-uncertainty} option.% +\label{tab:align:uncert}} \sisetup{ -separate-uncertainty, +uncertainty-mode = separate, table-format = 1.3(1), } -\begin{tabular}{SS[table-align-uncertainty = false]} +\begin{tabular}{@{}SS[table-align-uncertainty = false]@{}} \toprule {Header} & {Header} \\ \midrule @@ -1143,12 +1681,13 @@ \subsubsection{table-align-comparator, table-align-exponent, table-align-uncerta \end{tabular} \end{table} -\begin{table}[H] +Table \ref{tab:align:comp} +\begin{table} \centering -\caption{The \texttt{table-align-comparator} option} -\label{tab:align:comp} +\caption{The \texttt{table-align-comparator} option.% +\label{tab:align:comp}} \sisetup{table-format = >2.2} -\begin{tabular}{SS[table-align-comparator = false]} +\begin{tabular}{@{}SS[table-align-comparator = false]@{}} \toprule {Header} & {Header} \\ \midrule @@ -1158,101 +1697,80 @@ \subsubsection{table-align-comparator, table-align-exponent, table-align-uncerta \end{tabular} \end{table} -\subsubsection{table-omit-exponent} -\begin{table}[H] +Table \ref{tab:S:comparators} +\begin{table} +\caption{Reserving space for comparators in \texttt{S} columns.} +\label{tab:S:comparators} +\sisetup{ +table-number-alignment = center, +table-format=<<2.2e2, +} \centering -\caption{The \texttt{table-omit-exponent} option} -\label{tab:exp:omit} \begin{tabular}{ -S[table-format = 1.1e1] -S[fixed-exponent = 3, table-format = 2.1, table-omit-exponent] -} +S +S%[table-comparator = true] +S[table-align-comparator=false]} \toprule -{Header} & {Header / \num{e3}} \\ +{Values} & {Values} & {Values} \\ \midrule -1.2e3 & 1.2e3 \\ -3e2 & 3e2 \\ -1.0e4 & 1.0e4 \\ +2 .3 & < 2.3e8 & < 2.3e8\\ +34.23 & = 34.23 & = 34.23 \\ +56.78 & >= 56.78e3 & >= 56.78e3\\ +3,76 & \gg e6 & \gg e6 \\ \bottomrule \end{tabular} \end{table} -\subsubsection{table-align-text-pre,table-align-text-post} -% \begin{table}[H] -% \caption{Closing notes up to text.} -% \label{tab:S:notes} -% \newrobustcmd\NoteMark[1]{% -% \textsuperscript{\emph{#1}}% -% } -% \centering -% \sisetup{ -% table-number-alignment = center, -% table-figures-integer = 2, -% table-figures-decimal = 4, -% table-space-text-pre -% = \NoteMark{a} -% } -% \begin{tabular}{ -% S -% S[table-align-text-pre = false] -% } -% \toprule -% {Values} -% & {Values} \\ -% \midrule -% 2.3456 & -% 2.3456 \\ -% \NoteMark{a} 4.234 & \NoteMark{a} 4.234 \\ -% \NoteMark{b} -% .78 -% & \NoteMark{b} -% .78 \\ -% \NoteMark{d} 88 -% & \NoteMark{d} 88 -% \\ -% \bottomrule -% \end{tabular} -% \hfil -% \sisetup{table-space-text-post = \NoteMark{a}} -% \begin{tabular}{ -% S -% S[table-align-text-post = false] -% } -% \toprule -% {Values} -% & {Values} \\ -% \midrule -% 2.3456 -% & 2.3456 \\ -% 34.234 \NoteMark{a} & 34.234 \NoteMark{a} \\ -% 56.78 -% \NoteMark{b} & 56.78 \NoteMark{b} \\ -% 90.4 -% \NoteMark{c} & 90.4 -% \NoteMark{c} \\ -% 88 -% \NoteMark{d} & 88 -% \NoteMark{d} \\ -% \bottomrule -% \end{tabular} -% \end{table} +\subsubsection{table-align-text-[before\textbar after]} +Table \ref{tab:S:notes} +\begin{table} +\centering +\caption{Closing notes up to text.% +\label{tab:S:notes}} +\newrobustcmd\NoteMark[1]{% +\textsuperscript{\emph{#1}}% +} +\sisetup{table-format = {\NoteMark{a}}2.4} +\begin{tabular}{@{} +S +S[table-align-text-before = false] +@{}} +\toprule +{Values} & {Values} \\ +\midrule +2.3456 & 2.3456 \\ +\NoteMark{a} 4.234 & \NoteMark{a} 4.234 \\ +\NoteMark{b} .78 & \NoteMark{b} .78 \\ +\NoteMark{d} 88 & \NoteMark{d} 88 \\ +\bottomrule +\end{tabular} +\qquad +\sisetup{table-format = 2.4{\NoteMark{a}}} +%\sisetup{table-format = 2.4\NoteMark{a}} % todo error +\begin{tabular}{@{} +S +S[table-align-text-after = false] +@{}} +\toprule +{Values} & {Values} \\ +\midrule +2.3456 & 2.3456 \\ +34.234 \NoteMark{a} & 34.234 \NoteMark{a} \\ +56.78 \NoteMark{b} & 56.78 \NoteMark{b} \\ +90.4 \NoteMark{c} & 90.4 \NoteMark{c} \\ +88 \NoteMark{d} & 88 \NoteMark{d} \\ +\bottomrule +\end{tabular} +\end{table} \subsubsection{table-auto-round} -\begin{table}[H] +Table \ref{tab:S:auto} +\begin{table} \centering \caption{The \texttt{table-auto-round} option.} \label{tab:S:auto} -\sisetup{ -table-number-alignment = center, -table-figures-integer = 1, -table-figures-decimal = 3 -} -% Notice the overfull hbox which results with -% the first column -\begin{tabular}{ -S -S[table-auto-round] -} +\sisetup{table-format = 1.3} +\begin{tabular}{@{}SS[table-auto-round]@{}} \toprule {Header} & {Header} \\ \midrule @@ -1263,319 +1781,275 @@ \subsubsection{table-auto-round} \end{table} \subsubsection{parse-numbers} -\begin{table}[H] +Table \ref{tab:S:nonparsed} +\begin{table} \caption{Aligning without parsing.} \label{tab:S:nonparsed} \sisetup{ parse-numbers = false, -table-figures-integer = 2, -table-figures-decimal = 3 +table-format = 3.3 } \centering -\begin{tabular}{ +\begin{tabular}{@{} S S[table-number-alignment = center] S[table-number-alignment = right] S[table-number-alignment = left] -} +@{}} \toprule {Some values} & {Some values} & {Some values} & {Some values} \\ \midrule -2.35 & -2.35 & -2.35 & -2.35 \\ -34.234 & -34.234 & -34.234 & 34.234 \\ -56.783 & -56.783 & -56.783 & 56.783 \\ -3,762 & -3,762 & -3,762 & -3.762 \\ +2.35 & 2.35 & 2.35 & 2.35 \\ +34.234 & 34.234 & 34.234 & 34.234 \\ +56.783 & 56.783 & 56.783 & 56.783 \\ +3,762 & 3,762 & 3,762 & 3.762 \\ \sqrt{2} & \sqrt{2} & \sqrt{2} & \sqrt{2} \\ \bottomrule \end{tabular} \end{table} -\subsubsection{table-text-alignment} -\begin{table}[H] -\caption{Aligning text in \texttt{S} columns.} -\label{tab:S:text} -\sisetup{ -table-number-alignment = center, -table-figures-integer = 4, -table-figures-decimal = 4 -} +\subsubsection{drop-exponent} +Table \ref{tab:exp:omit} +\begin{table} +\caption{The \texttt{drop-exponent} option.% +\label{tab:exp:omit}} \centering -\begin{tabular}{ -S -S[table-text-alignment = left] -S[table-text-alignment = right] -} +\begin{tabular}{@{} +S[table-format = 1.1e1] +S[ +drop-exponent = true, +exponent-mode = fixed, +fixed-exponent = 3, +table-format = 2.1, +] +@{}} \toprule -{Values} -& {Values} -& {Values} \\ +{Header} & \multicolumn{1}{c@{}}{Header / \num[print-unity-mantissa = false]{e3}} \\ \midrule -992.435 & 992.435 & 992.435 \\ -7734.2344 & 7734.2344 & 7734.2344 \\ -56.7834 & -56.7834 & -56.7834 \\ -3,7462 & -3,7462 & -3,7462 \\ +1.2e3 & 1.2e3 \\ +3e2 & 3e2 \\ +1.0e4 & 1.0e4 \\ \bottomrule \end{tabular} \end{table} -\subsubsection{table-unit-alignment} -\begin{table}[H] +\subsubsection{table-column-width, table-fixed-width} +Table \ref{tab:width:fixed} +\begin{table} +\caption{Fixed-width columns.% +\label{tab:width:fixed}} \centering -\caption{Alignment options in \texttt{s} columns.} -\label{tab:s:align} \begin{tabular} -{ -s[table-unit-alignment = right] -s -s[table-unit-alignment = left] -} +{@{} +S +S[table-column-width = 2cm] +@{}} \toprule -{Right-aligned} & -{Centred text} & -{Left-aligned} \\ +{Flexible} & +{Fixed} \\ \midrule -\metre\per\second & \metre\per\second & \metre\per\second \\ -\kilogram -& \kilogram -& \kilogram -\\ +1.23 & 1.23 \\ +45.6 & 45.6 \\ \bottomrule \end{tabular} \end{table} -\subsubsection{table-alignment} +Table \ref{tab:width:special} +\begin{table} +\newlength\mylength +\centering +\caption{Right-aligning under a heading.% +\label{tab:width:special}} +\settowidth{\mylength}{Long header} +\sisetup{ +table-alignment-mode = none , +table-column-width = \mylength , +table-number-alignment = right +} +\begin{tabular}{@{}S@{}} +\toprule +{Long header} \\ +\midrule +12.33 \\ +2 \\ +1234 \\ +\bottomrule +\end{tabular} +\end{table} -\subsubsection{table-column-width} -\begin{table}[H] +\subsubsection{table-text-alignment, table-alignment} +Table \ref{tab:S:text} +\begin{table} +\caption{Aligning text in \texttt{S} columns.} +\label{tab:S:text} +\sisetup{table-format = 4.4} \centering -\caption{Fixed-width columns.} -\label{tab:width:fixed} -\begin{tabular} -{ -s -s[table-column-width = 2 cm] +\begin{tabular}{ S -S[table-column-width = 2 cm] +S[table-text-alignment = left] +S[table-text-alignment = right] } \toprule -{Flexible} & -{Fixed} -& -{Flexible} & -{Fixed} -\\ +{Values} +& {Values} +& {Values} \\ \midrule -\metre\per\second & \metre\per\second & 1.23 & 1.23 \\ -\kilogram\candela & \kilogram\candela & 45.6 & 45.6 \\ +992.435 & 992.435 & 992.435 \\ +7734.2344 & 7734.2344 & 7734.2344 \\ +56.7834 & 56.7834 & 56.7834 \\ +3,7462 & 3,7462 & 3,7462 \\ \bottomrule \end{tabular} \end{table} -% \begin{table}[H] -% \centering -% \caption{Right-aligning under a heading.} -% \label{tab:width:special} -% \settowidth\mylength{Long header} -% \sisetup{ -% table-format -% = 4 -% , -% table-number-alignment = center -% , -% table-column-width -% = \mylength , -% input-decimal-markers = -% , -% input-symbols -% = . -% , -% } -% \begin{tabular}{S} -% \toprule -% {Long header} \\ -% \midrule -% 12.33 \\ -% 2 -% \\ -% 1234 -% \\ -% \bottomrule -% \end{tabular} -% \end{table} - -\end{document} - - - - - - - - - - - - - -\si{kg.m.s^{-1}}\\ -\si{\kilogram\metre\per\second} \\ -\si[per-mode=symbol]{\kilogram\metre\per\second} \\ -\si[per-mode=symbol]{\kilogram\metre\per\ampere\per\second} - -\numlist{10;20;30}\\ -\SIlist{0.13;0.67;0.80}{\milli\metre} \\ -\numrange{10}{20}\\ -\SIrange{0.13}{0.67}{\milli\metre}\\ - - -\numlist{10;30;50;70} - -\numrange{10}{30} - - -\si{kg.m/s^2} \\ -\si{g_{polymer}~mol_{cat}.s^{-1}} - -\si{\kilo\gram\metre\per\square\second} -\si{\gram\per\cubic\centi\metre} -\si{\square\volt\cubic\lumen\per\farad} -\si{\metre\squared\per\gray\cubic\lux} -\si{\henry\second} - -\SI[mode=text]{1.23}{J.mol^{-1}.K^{-1}}\\ -\SI{.23e7}{\candela}\\ -\SI[per-mode=symbol]{1.99}[\$]{\per\kilogram}\\ -\SI[per-mode=fraction]{1,345}{\coulomb\per\mole}\\ +\subsubsection{table-alignment} -\SIlist{10;30;45}{\metre} +\subsection{Locale Options} +\qty{1.234}{\metre}\\ +\qty[locale = DE]{6.789}{\metre} % todo spacing -\si{\square\becquerel} \\ -\si{\joule\squared\per\lumen} \\ -\si{\cubic\lux\volt\tesla\cubed} +\subsection{Preamble-only options} +These are in a different file. We check that trying to change the options has no effect here: -\si{\henry\tothe{5}} \\ -\si{\raiseto{4.5}\radian} +{ +\sisetup{ + list-input-separator=:, + product-input-separator=*, + table-column-type=T +} +\numlist{1;2;3} \\ +\numproduct{1x2x3} \\ +Table check:\\ +\begin{tabular} +{@{}S +S[table-alignment-mode = none] +@{}} +\toprule +{Decimal-centered} & +{Simple centering} \\ +\midrule +12.345 & 12.345 \\ +6,78 & 6,78 \\ +-88.8(9) & -88.8(9) \\ +4.5e3 & 4.5e3 \\ +\bottomrule +\end{tabular} +} -\si{\joule\per\mole\per\kelvin} \\ -\si{\joule\per\mole\kelvin} \\ -\si{\per\henry\tothe{5}} \\ -\si{\per\square\becquerel} +% these are v2 +%\subsubsection{input-product, input-quotient} +%\numproduct{1 x 2 x 3} \\ +%\numproduct[input-product=*]{4 * 5 * 6} \\ -\si{\kilogram\of{metal}} \\ -\SI[qualifier-mode = brackets] -{0.1}{\milli\mole\of{cat}\per\kilogram\of{prod}} +%\section{Localisation} +%This is in a different file. -\si[per-mode = fraction] -{\cancel\kilogram\metre\per\cancel\kilogram\per\second} \\ -\si{\highlight{red}\kilogram\metre\per\second} \\ -\si[unit-color = purple] -{\highlight{red}\kilogram\metre\per\second} +\setcounter{section}{9} +\section{Hints for using siunitx} -\si{\kilo} \\ -\si{\micro} \\ -\si[prefixes-as-symbols = false]{\kilo} +\setcounter{subsection}{1} +\subsection{Adjusting \textbackslash litre and \textbackslash liter} +{ +\DeclareSIUnit\litre{SUCCESS} +\unit{\liter} +} -\si{\kilo\gram\micro} \\ -\SI{10}{\micro} +\setcounter{subsection}{4} +\subsection{Expanding content in tables} -\begin{table} -\caption{Standard behaviour of the \texttt{S} column type.} -\label{tab:S:standard} -\centering -\begin{tabular}{S} +Table \ref{tab:xmpl:macro} +\begin{table}\centering +\caption{Values as macros in \texttt{S} columns.% +\label{tab:xmpl:macro}} +\newcommand*\myvaluea{1234} +\newcommand\myvalueb{1234} +\DeclareRobustCommand*\myvaluec{1234} +\protected\def\myvalued{1234} +\begin{tabular}{@{}S@{}} \toprule {Some Values} \\ \midrule -2.3456 \\ -34.2345 \\ --6.7835 \\ -90.473 \\ -5642.5 -\\ -1.2e3 \\ -e4 \\ +\myvaluea 8.8 \myvaluea \\ % Both expanded +\myvalueb 8.8 \myvalueb \\ % First expanded by TeX +% to numbers +%\myvaluec 8.8 \myvaluec \\ % First expanded by TeX % todo error caused on next line +% but not to numbers! +\myvalued 8.8 \myvalued \\ % Neither expanded % todo output overlaps +{\myvaluea\ 8.8 \myvaluea} \\ % Neither expanded \bottomrule \end{tabular} \end{table} -\begin{table} -\caption{Detection of surrounding material in an \texttt{S} -column.} -\label{tab:S:extras} -\centering -\begin{tabular}{S[color=orange]} -\toprule -{Some Values} \\ -\midrule -12.34 \\ -\color{purple} 975,31 \\ -44.268 \textsuperscript{\emph{a}} \\ -\bottomrule -\end{tabular} -\end{table} +% \usepackage{xfp} +%Table \ref{tab:xmpl:calc} +%\begin{table} +%\caption{Calculated values.% +%\label{tab:xmpl:calc}} +%\newcommand{\valuea}{66.7012} +%\newcommand{\valueb}{66.0212} +%\newcommand{\valuec}{64.9026} +%\begin{tabular}{ +%@{} +%S[table-format = 2.4] +%S[table-format = 3.4] +%@{} +%} +%\toprule +%{Value} & {Doubled} \\ +%\midrule +%\valuea & \fpeval{\valuea * 2} \\ +%\valueb & \fpeval{\valueb * 2} \\ +%\valuec & \fpeval{\valuec * 2} \\ +%\bottomrule +%\end{tabular} +%\end{table} + +\setcounter{subsection}{10} + +\subsection{Special considerations for the \texorpdfstring{\Backslash}{\textbackslash}\unit{\kWh} unit} + +\unit{\kWh} \\ +\unit{\kWh\per\metre}\\ +{ +\DeclareSIUnit\kWh{kWh} +\DeclareSIUnit\KWH{kWh} +\unit{\KWH\per\metre}\\ +\unit{kWh.m^{-1}}\\ +} +\unit{\candela\per\kWh}\\ +\unit{\candela\per\kilo\watt\per\hour} \\ +\unit[sticky-per]{\candela\per\kWh} -\begin{table} -\caption{Controlling complex alignment with the tablenum macro.} -\label{tab:tablenum} -\centering -\begin{tabular}{lr} -\toprule -Heading & Heading \\ -\midrule -Info & More info \\ -Info & More info \\ -\multicolumn{2}{c}{\tablenum[table-format = 4.4]{12,34}} -\\ -\multicolumn{2}{c}{\tablenum[table-format = 4.4]{333.5567}} \\ -\multicolumn{2}{c}{\tablenum[table-format = 4.4]{4563.21}} -\bottomrule -\end{tabular} -\hfil -\begin{tabular}{lr} -\toprule -Heading & Heading \\ -\midrule -\multirow{2}*{\tablenum{88,999}} & aaa \\ -& bbb \\ -\multirow{2}*{\tablenum{33,435}} & ccc \\ -& ddd \\ -\bottomrule -\end{tabular} -\end{table} +\subsection{Prefixes and small angles} -\begin{table} -\centering -\caption{Units in tables.} -\label{tab:s:demo} -\begin{tabular}{s} -\toprule -\multicolumn{1}{c}{Unit} \\ -\midrule -\metre\squared\per\second \\ -\pascal \\ -m.s^{-1} \\ -\bottomrule -\end{tabular} -\end{table} +{ +\DeclareSIUnit\arcsecond{as} +\qty{1e-3}{\arcsecond} \\ +\qty[prefix-mode = combine-exponent]{1e-3}{\arcsecond} +} +%\setcounter{subsection}{15} +% +%\subsubsection{Symbolic `digits'} +% +%{ +%\sisetup{input-digits = 0123456789\pi}% +%\num{4\pi e-7}\\ % fails +%\robustify\dots % fails +%\sisetup{input-digits = 0123456789\dots}% +%\qty{0,4066\dots}{\metre\squared} +%} + +\setcounter{subsection}{16} + +\subsection{Demonstrating prefixes} +\unit{\yotta\noop} \\ +\qty[prefix-mode = extract-exponent, print-unity-mantissa = false]{1}{\yotta\noop} \\ +a\unit{\noop}b \end{document} diff --git a/t/complex/si.xml b/t/complex/si.xml index 673f0db1f4..54e7ed0e9b 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -1,305 +1,476 @@ + - - + - + + - -

    - - - + + Contents + +
    + + 1 + section 1 + 1 + §1 + + 1Introduction + +

    This tries to follow the package documentation released 2025-07-09, with additional tests. Items remaining (generally ordered from hardest to easiest) are

    + + + + + item  + 1st item + + +

    error: evaluate-expression, expression

    +
    +
    + + + + item  + 2nd item + + +

    sansmath: package needed to evaluate two more tests

    +
    +
    + + + + item  + 3rd item + + +

    The spacing in tables is not quite right. See the comment on &six_table_space

    +
    +
    + + + + item  + 4th item + + +

    font and spacing: several instances where we should make a font change or adjust the spacing, but don’t.

    +
    +
    + + + + item  + 5th item + + +

    detect if loaded with [=v2] or [=2021-04-09] or earlier

    +
    +
    +
    +
    + +
    @@ -13016,17 +12925,7 @@ Also: 4.12.1table-alignment-mode -

    Table

    - - - - Table 12 - Table 12 - 12 - Table 12 - - 12Parsing without aligning in an S column. - +

    Parsing without aligning in an S column

    @@ -13036,42 +12935,42 @@ Also: + 12.345 - + 12.345 - -
    Table 12Parsing without aligning in an S column.
    + 6.78 - + 6.78
    + - - 88.8 - - + 88.8 + + ( - 9 + 9 ) @@ -13079,18 +12978,18 @@ Also: - + - - 88.8 - - + 88.8 + + ( - 9 + 9 ) @@ -13100,16 +12999,16 @@ Also: + - × - + × + 4.5 - + 10 3 @@ -13117,12 +13016,12 @@ Also: + - × - 4.5 - + × + 4.5 + 10 3 @@ -13133,7 +13032,7 @@ Also: @@ -13144,17 +13043,7 @@ Also: 4.12.2table-number-alignment -

    Table

    - - - - Table 13 - Table 13 - 13 - Table 13 - - 13Aligning the S column. - +

    Aligning the S column

    @@ -13166,88 +13055,88 @@ Also: + 2.3456 - + 2.3456 - + 2.3456 - + 2.3456 - - -
    Table 13Aligning the S column.
    + 34.2345 - + 34.2345 - + 34.2345 - + 34.2345
    + 56.7835 - + 56.7835 - + 56.7835 - + 56.7835
    + 90.473 - + 90.473 - + 90.473 - + 90.473 @@ -13255,7 +13144,7 @@ Also: @@ -13266,18 +13155,8 @@ Also: 4.12.3table-format -

    Table

    - - - - Table 14 - Table 14 - 14 - Table 14 - - 14Reserving space in S columns. - - +

    Reserving space in S columns

    +
    @@ -13290,60 +13169,60 @@ Also: + 2.3 - + 2.3 - + - 2.3 - - + 2.3 + + ( - 5 + 5 ) - + ± - + 2.3 - 0.5 + 0.5 - + 2.3 - + - × - + × + 2.3 - + 10 8 @@ -13353,89 +13232,89 @@ Also: + 34.23 - + 34.23 - + - 34.23 - - + 34.23 + + ( - 4 + 4 ) - + ± - 34.23 - 0.04 + 34.23 + 0.04 - + 34.23 - + 34.23 -
    Table 14Reserving space in S columns.
    Values
    + 56.78 - + 56.78 - + - 56.78 - - + 56.78 + + ( - 3 + 3 ) - + ± - 56.78 - 0.03 + 56.78 + 0.03 - + - @@ -13443,16 +13322,16 @@ Also: + - × - + × + 56.78 - + 10 3 @@ -13462,42 +13341,42 @@ Also: + 3.76 - + 3.76 - + - 3.76 - - + 3.76 + + ( - 2 + 2 ) - + ± - 3.76 - 0.02 + 3.76 + 0.02 - + ± @@ -13505,7 +13384,7 @@ Also: + @@ -13517,7 +13396,7 @@ Also: @@ -13537,17 +13416,7 @@ Also: 4.12.5table-align-[comparator|exponent|uncertainty] -

    Table

    - - - - Table 15 - Table 15 - 15 - Table 15 - - 15The table-align-exponent option - +

    The table-align-exponent option

    @@ -13557,16 +13426,16 @@ Also: + - × - + × + 1.2 - + 10 3 @@ -13574,12 +13443,12 @@ Also: - + - × - 1.2 - + × + 1.2 + 10 3 @@ -13589,16 +13458,16 @@ Also: -
    Table 15The table-align-exponent option
    + - × - + × + 1.234 - + 10 56 @@ -13606,12 +13475,12 @@ Also: + - × - 1.234 - + × + 1.234 + 10 56 @@ -13622,19 +13491,9 @@ Also: -

    Table

    - - - Table 16 - Table 16 - 16 - Table 16 - - 16The table-align-uncertainty option. - + +

    The table-align-uncertainty option

    @@ -13644,64 +13503,54 @@ Also: + ± - + 1.2 - 0.1 + 0.1 - + ± - 1.2 - 0.3 + 1.2 + 0.3 - -
    Table 16The table-align-uncertainty option.
    + ± - 1.234 - 0.005 + 1.234 + 0.005 - + ± - 1.234 - 0.005 + 1.234 + 0.005
    - -

    Table

    - - - Table 17 - Table 17 - 17 - Table 17 - - 17The table-align-comparator option. - + +

    The table-align-comparator option

    @@ -13711,7 +13560,7 @@ Also: + > @@ -13724,7 +13573,7 @@ Also: - + > @@ -13735,7 +13584,7 @@ Also: -
    Table 17The table-align-comparator option.
    + < @@ -13748,7 +13597,7 @@ Also: + < @@ -13760,19 +13609,9 @@ Also: -

    Table

    - - - Table 18 - Table 18 - 18 - Table 18 - - 18Reserving space for comparators in S columns. - + +

    Reserving space for comparators in S columns

    @@ -13783,12 +13622,12 @@ Also: + 2.3 - + < @@ -13797,13 +13636,13 @@ Also: - × - + × + 2.3 - + 10 8 @@ -13813,19 +13652,19 @@ Also: - + < - × - + × + 2.3 - + 10 8 @@ -13836,12 +13675,12 @@ Also: - - -
    Table 18Reserving space for comparators in S columns.
    + 34.23 - + = @@ -13854,7 +13693,7 @@ Also: - + = @@ -13865,12 +13704,12 @@ Also:
    + 56.78 - + @@ -13879,13 +13718,13 @@ Also: - × - + × + 56.78 - + 10 3 @@ -13895,19 +13734,19 @@ Also: - + - × - + × + 56.78 - + 10 3 @@ -13918,12 +13757,12 @@ Also:
    + 3.76 - + @@ -13940,7 +13779,7 @@ Also: - + @@ -13956,7 +13795,7 @@ Also: @@ -13967,18 +13806,8 @@ Also: 4.12.6table-align-text-[before|after] -

    Table

    - - - - Table 19 - Table 19 - 19 - Table 19 - - 19Closing notes up to text. - - +

    Closing notes up to text

    +
    @@ -13987,48 +13816,48 @@ Also: + 2.3456 - + 2.3456 - - -
    Table 19Closing notes up to text.
    Values
    a + a 4.234 - a + a 4.234
    b + b 0.78 - b + b 0.78
    d + d 88 - d + d 88 @@ -14036,19 +13865,19 @@ Also: +
    Values Values
    - + 2.3456 - + 2.3456 @@ -14057,48 +13886,48 @@ Also: + 34.234 a - + 34.234 a
    - + 56.78 b - + 56.78 b
    - + 90.4 c - + 90.4 c
    - + 88 d - + 88 @@ -14106,7 +13935,7 @@ Also: @@ -14117,17 +13946,7 @@ Also: 4.12.7table-auto-round -

    Table

    - - - - Table 20 - Table 20 - 20 - Table 20 - - 20The table-auto-round option. - +

    The table-auto-round option

    @@ -14137,24 +13956,24 @@ Also: + 1.2 - + 1.200 -
    Table 20The table-auto-round option.
    + 1.2345 - + 1.235 @@ -14162,7 +13981,7 @@ Also: @@ -14173,17 +13992,7 @@ Also: 4.12.8parse-numbers -

    Table

    - - - - Table 21 - Table 21 - 21 - Table 21 - - 21Aligning without parsing. - +

    Aligning without parsing

    @@ -14195,128 +14004,128 @@ Also: + 2.35 - + 2.35 - + 2.35 - + 2.35 - - - -
    Table 21Aligning without parsing.
    + 34.234 - + 34.234 - + 34.234 - + 34.234
    + 56.783 - + 56.783 - + 56.783 - + 56.783
    + - - + + - 3 + 3 , - 762 + 762 - + - - + + - 3 + 3 , - 762 + 762 - + - - + + - 3 + 3 , - 762 + 762 - + 3.762
    + @@ -14324,7 +14133,7 @@ Also: + @@ -14332,7 +14141,7 @@ Also: + @@ -14340,7 +14149,7 @@ Also: + @@ -14351,7 +14160,7 @@ Also: @@ -14362,22 +14171,12 @@ Also: 4.12.9drop-exponent -

    Table

    - - - - Table 22 - Table 22 - 22 - Table 22 - - 22The drop-exponent option. - +

    The drop-exponent option

    - - -
    Table 22The drop-exponent option.
    HeaderHeader / + Header / @@ -14390,16 +14189,16 @@ Also: + - × - + × + 1.2 - + 10 3 @@ -14407,23 +14206,23 @@ Also: + 1.2
    + - × - + × + 3 - + 10 2 @@ -14431,23 +14230,23 @@ Also: + 0.3
    + - × - + × + 1.0 - + 10 4 @@ -14455,7 +14254,7 @@ Also: + 10 @@ -14463,7 +14262,7 @@ Also: @@ -14474,17 +14273,7 @@ Also: 4.12.10table-column-width, table-fixed-width -

    Table

    - - - - Table 23 - Table 23 - 23 - Table 23 - - 23Fixed-width columns. - +

    Fixed-width columns

    @@ -14494,24 +14283,24 @@ Also: + 1.23 - + 1.23 -
    Table 23Fixed-width columns.
    + 45.6 - + 45.6 @@ -14519,19 +14308,9 @@ Also: -

    Table

    - - - Table 24 - Table 24 - 24 - Table 24 - - 24Right-aligning under a heading. - + +

    Right-aligning under a heading

    @@ -14540,21 +14319,21 @@ Also: + 12.33 - -
    Table 24Right-aligning under a heading.
    + 2
    + 1234 @@ -14562,7 +14341,7 @@ Also: @@ -14573,17 +14352,7 @@ Also: 4.12.11table-text-alignment, table-alignment -

    Table

    - - - - Table 25 - Table 25 - 25 - Table 25 - - 25Aligning text in S columns. - +

    Aligning text in S columns

    @@ -14594,68 +14363,68 @@ Also: + 992.435 - + 992.435 - + 992.435 - - -
    Table 25Aligning text in S columns.
    + 7734.2344 - + 7734.2344 - + 7734.2344
    + 56.7834 - + 56.7834 - + 56.7834
    + 3.7462 - + 3.7462 - + 3.7462 @@ -14663,7 +14432,7 @@ Also: @@ -14894,38 +14663,28 @@ Also: 10.5Expanding content in tables -

    Table

    - - - - Table 26 - Table 26 - 26 - Table 26 - - 26Values as macros in S columns. - +

    Values as macros in S columns

    - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Binary prefixes:

    @@ -3917,7 +4153,7 @@ - - - -
    Table 26Values as macros in S columns.
    Some Values
    + 12 348.812 34
    + 12 348.812 34
    1234 + 1234 8.8 @@ -14936,7 +14695,7 @@ Also: From 384cc8f9e0e197207bbc4caa4c83163c2a704fd7 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 10:55:22 -0500 Subject: [PATCH 30/35] remove longtable --- t/complex/si.pdf | Bin 262692 -> 263515 bytes t/complex/si.tex | 128 ++- t/complex/si.xml | 2484 +++++++++++++++++++++++++--------------------- 3 files changed, 1477 insertions(+), 1135 deletions(-) diff --git a/t/complex/si.pdf b/t/complex/si.pdf index ba498c35a3468d8ec3bf240884f7ade72604b5b3..1f0445b971caeeba8f99ad55c9ed5a806212932e 100644 GIT binary patch delta 43578 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 pfrWiv`~UuABKhwcZ%)pJj?V6mre+ANoXo7;> <tag close=" ">3.6</tag>Unit abbreviations -

    Table 5

    +

    Abbreviated units

    - - - Table 1 - Table 1 - 1 - Table 1 - - - 1Abbreviated units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 1Abbreviated units
    UnitAbbreviationSymbol
    femtogram\fg - - fg - -
    picogram\pg - - pg - -
    nanogram\ng - - ng - -
    microgram\ug - - - - µ - g - - -
    milligram\mg - - mg - -
    gram\g - - g - -
    kilogram\kg - - kg - -
    picometre\pm - - pm - -
    nanometre\nm - - nm - -
    micrometre\um - - - - µ - m - - -
    millimetre\mm - - mm - -
    centimetre\cm - - cm - -
    decimetre\dm - - dm - -
    metre\m - - m - -
    kilometre\km - - km - -
    picometer\pm - - pm - -
    nanometer\nm - - nm - -
    micrometer\um - - - - µ - m - - -
    millimeter\mm - - mm - -
    centimeter\cm - - cm - -
    decimeter\dm - - dm - -
    meter\m - - m - -
    kilometer\km - - km - -
    attosecond\as - - as - -
    femtosecond\fs - - fs - -
    picosecond\ps - - ps - -
    nanosecond\ns - - ns - -
    microsecond\us - - - - µ - s - - -
    millisecond\ms - - ms - -
    second\s - - s - -
    femtomole\fmol - - fmol - -
    picomole\pmol - - pmol - -
    nanomole\nmol - - nmol - -
    micromole\umol - - - - µ - mol - - -
    millimole\mmol - - mmol - -
    mole\mol - - mol - -
    kilomole\kmol - - kmol - -
    picoampere\pA - - pA - -
    nanoampere\nA - - nA - -
    microampere\uA - - - - µ - A - - -
    milliampere\mA - - mA - -
    ampere\A - - A - -
    kiloampere\kA - - kA - -
    microlitre\ul - - - - µ - l - - -
    millilitre\ml - - ml - -
    litre\l - - l - -
    hectolitre\hl - - hl - -
    microliter\uL - - - - µ - L - - -
    milliliter\mL - - mL - -
    liter\L - - L - -
    hectoliter\hL - - hL - -
    millihertz\mHz - - mHz - -
    hertz\Hz - - Hz - -
    kilohertz\kHz - - kHz - -
    megahertz\MHz - - MHz - -
    gigahertz\GHz - - GHz - -
    terahertz\THz - - THz - -
    millinewton\mN - - mN - -
    newton\N - - N - -
    kilonewton\kN - - kN - -
    meganewton\MN - - MN - -
    pascal\Pa - - Pa - -
    kilopascal\kPa - - kPa - -
    megapascal\MPa - - MPa - -
    gigapascal\GPa - - GPa - -
    milliohm\mohm - - - - m - - - -
    kiloohm\kohm - - - - k - - - -
    megaohm\Mohm - - - - M - - - -
    picovolt\pV - - pV - -
    nanovolt\nV - - nV - -
    microvolt\uV - - - - µ - V - - -
    millivolt\mV - - mV - -
    volt\V - - V - -
    kilovolt\kV - - kV - -
    nanowatt\nW - - nW - -
    microwatt\uW - - - - µ - W - - -
    milliwatt\mW - - mW - -
    watt\W - - W - -
    kilowatt\kW - - kW - -
    megawatt\MW - - MW - -
    gigawatt\GW - - GW - -
    microjoule\uJ - - - - µ - J - - -
    millijoule\mJ - - mJ - -
    joule\J - - J - -
    kilojoule\kJ - - kJ - -
    millielectronvolt\meV - - meV - -
    electronvolt\eV - - eV - -
    kiloelectronvolt\keV - - keV - -
    megaelectronvolt\MeV - - MeV - -
    gigaelectronvolt\GeV - - GeV - -
    teraelectronvolt\TeV - - TeV - -
    kilowatt hour\kWh - - - - kW - h - - -
    femtofarad\fF - - fF - -
    picofarad\pF - - pF - -
    nanofarad\nF - - nF - -
    microfarad\uF - - - - µ - F - - -
    millifarad\mF - - mF - -
    farad\F - - F - -
    femtohenry\fH - - fH - -
    picohenry\pH - - pH - -
    nanohenry\nH - - nH - -
    microhenry\uH - - - - µ - H - - -
    millihenry\mH - - mH - -
    henry\H - - H - -
    nanocoulomb\nC - - nC - -
    microcoulomb\uC - - - - µ - C - - -
    millicoulomb\mC - - mC - -
    coulomb\C - - C - -
    microtesla\uT - - - - µ - T - - -
    millitesla\mT - - mT - -
    tesla\T - - T - -
    kelvin\K - - K - -
    decibel\dB - - dB - -
    - + + + +
    UnitAbbreviationSymbol
    femtogram\fg + + fg + +
    picogram\pg + + pg + +
    nanogram\ng + + ng + +
    microgram\ug + + + + µ + g + + +
    milligram\mg + + mg + +
    gram\g + + g + +
    kilogram\kg + + kg + +
    UnitAbbreviationSymbol
    picometre\pm + + pm + +
    nanometre\nm + + nm + +
    micrometre\um + + + + µ + m + + +
    millimetre\mm + + mm + +
    centimetre\cm + + cm + +
    decimetre\dm + + dm + +
    metre\m + + m + +
    kilometre\km + + km + +
    UnitAbbreviationSymbol
    picometer\pm + + pm + +
    nanometer\nm + + nm + +
    micrometer\um + + + + µ + m + + +
    millimeter\mm + + mm + +
    centimeter\cm + + cm + +
    decimeter\dm + + dm + +
    meter\m + + m + +
    kilometer\km + + km + +
    UnitAbbreviationSymbol
    attosecond\as + + as + +
    femtosecond\fs + + fs + +
    picosecond\ps + + ps + +
    nanosecond\ns + + ns + +
    microsecond\us + + + + µ + s + + +
    millisecond\ms + + ms + +
    second\s + + s + +
    UnitAbbreviationSymbol
    femtomole\fmol + + fmol + +
    picomole\pmol + + pmol + +
    nanomole\nmol + + nmol + +
    micromole\umol + + + + µ + mol + + +
    millimole\mmol + + mmol + +
    mole\mol + + mol + +
    kilomole\kmol + + kmol + +
    UnitAbbreviationSymbol
    picoampere\pA + + pA + +
    nanoampere\nA + + nA + +
    microampere\uA + + + + µ + A + + +
    milliampere\mA + + mA + +
    ampere\A + + A + +
    kiloampere\kA + + kA + +
    UnitAbbreviationSymbol
    microlitre\ul + + + + µ + l + + +
    millilitre\ml + + ml + +
    litre\l + + l + +
    hectolitre\hl + + hl + +
    UnitAbbreviationSymbol
    microliter\uL + + + + µ + L + + +
    milliliter\mL + + mL + +
    liter\L + + L + +
    hectoliter\hL + + hL + +
    UnitAbbreviationSymbol
    millihertz\mHz + + mHz + +
    hertz\Hz + + Hz + +
    kilohertz\kHz + + kHz + +
    megahertz\MHz + + MHz + +
    gigahertz\GHz + + GHz + +
    terahertz\THz + + THz + +
    UnitAbbreviationSymbol
    millinewton\mN + + mN + +
    newton\N + + N + +
    kilonewton\kN + + kN + +
    meganewton\MN + + MN + +
    UnitAbbreviationSymbol
    pascal\Pa + + Pa + +
    kilopascal\kPa + + kPa + +
    megapascal\MPa + + MPa + +
    gigapascal\GPa + + GPa + +
    UnitAbbreviationSymbol
    milliohm\mohm + + + + m + + + +
    kiloohm\kohm + + + + k + + + +
    megaohm\Mohm + + + + M + + + +
    UnitAbbreviationSymbol
    picovolt\pV + + pV + +
    nanovolt\nV + + nV + +
    microvolt\uV + + + + µ + V + + +
    millivolt\mV + + mV + +
    volt\V + + V + +
    kilovolt\kV + + kV + +
    UnitAbbreviationSymbol
    nanowatt\nW + + nW + +
    microwatt\uW + + + + µ + W + + +
    milliwatt\mW + + mW + +
    watt\W + + W + +
    kilowatt\kW + + kW + +
    megawatt\MW + + MW + +
    gigawatt\GW + + GW + +
    UnitAbbreviationSymbol
    microjoule\uJ + + + + µ + J + + +
    millijoule\mJ + + mJ + +
    joule\J + + J + +
    kilojoule\kJ + + kJ + +
    UnitAbbreviationSymbol
    millielectronvolt\meV + + meV + +
    electronvolt\eV + + eV + +
    kiloelectronvolt\keV + + keV + +
    megaelectronvolt\MeV + + MeV + +
    gigaelectronvolt\GeV + + GeV + +
    teraelectronvolt\TeV + + TeV + +
    UnitAbbreviationSymbol
    kilowatt hour\kWh + + + + kW + h + + +
    UnitAbbreviationSymbol
    femtofarad\fF + + fF + +
    picofarad\pF + + pF + +
    nanofarad\nF + + nF + +
    microfarad\uF + + + + µ + F + + +
    millifarad\mF + + mF + +
    farad\F + + F + +
    UnitAbbreviationSymbol
    femtohenry\fH + + fH + +
    picohenry\pH + + pH + +
    nanohenry\nH + + nH + +
    microhenry\uH + + + + µ + H + + +
    millihenry\mH + + mH + +
    henry\H + + H + +
    UnitAbbreviationSymbol
    nanocoulomb\nC + + nC + +
    microcoulomb\uC + + + + µ + C + + +
    millicoulomb\mC + + mC + +
    coulomb\C + + C + +
    UnitAbbreviationSymbol
    microtesla\uT + + + + µ + T + + +
    millitesla\mT + + mT + +
    tesla\T + + T + +
    UnitAbbreviationSymbol
    kelvin\K + + K + +
    UnitAbbreviationSymbol
    decibel\dB + + dB + +
    kibi \kibi + Ki @@ -3927,7 +4163,7 @@
    mebi \mebi - + Mi @@ -3937,7 +4173,7 @@
    gibi \gibi - + Gi @@ -3947,7 +4183,7 @@
    tebi \tebi - + Ti @@ -3957,7 +4193,7 @@
    pebi \pebi - + Pi @@ -3967,7 +4203,7 @@
    exbi \exbi - + Ei @@ -3977,7 +4213,7 @@
    zebi \zebi - + Zi @@ -3987,7 +4223,7 @@
    yobi \yobi - + Yi From 5e202facd8bc711df06814c9f4ad93246f034427 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 10:55:34 -0500 Subject: [PATCH 31/35] disable siV3 test --- t/80_complex.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/80_complex.t b/t/80_complex.t index 7a5d4afd17..e9b1f71dd2 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -19,7 +19,7 @@ latexml_tests("t/complex", packages => 'siunitx.sty', texlive_min => 2015 }, siV2 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 }, + packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2030 }, siV3 => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2022 } }); From 542e0468456cec52776ed6f849b4fbb3c37e39fb Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 11:10:09 -0500 Subject: [PATCH 32/35] disabled wrong siV3 --- t/80_complex.t | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t/80_complex.t b/t/80_complex.t index e9b1f71dd2..5ae3878402 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -19,7 +19,7 @@ latexml_tests("t/complex", packages => 'siunitx.sty', texlive_min => 2015 }, siV2 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2030 }, + packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 }, siV3 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2022 } }); + packages => 'siunitx.sty', texlive_min => 2032 } }); From 868b8680f0f7758a81cfb2b7119567d92739ee58 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 12:10:37 -0500 Subject: [PATCH 33/35] move newcommands into group --- t/complex/si.pdf | Bin 263515 -> 263679 bytes t/complex/si.tex | 11 ++-- t/complex/si.xml | 139 +++++++++++++++++++++++------------------------ 3 files changed, 73 insertions(+), 77 deletions(-) diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 1f0445b971caeeba8f99ad55c9ed5a806212932e..802b480685d293a74a33a24625657c2c0a02f6e8 100644 GIT binary patch delta 41504 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 L$;2e1CX4wWKUM3S delta 41337 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 - @@ -2800,9 +2799,9 @@
    femtogram\fg + femtogram + \fg + fg @@ -2878,9 +2877,9 @@
    - picometre - \pm - + picometre + \pm + pm @@ -2965,9 +2964,9 @@
    - picometer - \pm - + picometer + \pm + pm @@ -3052,9 +3051,9 @@
    - attosecond - \as - + attosecond + \as + as @@ -3130,9 +3129,9 @@
    - femtomole - \fmol - + femtomole + \fmol + fmol @@ -3208,9 +3207,9 @@
    - picoampere - \pA - + picoampere + \pA + pA @@ -3277,9 +3276,9 @@
    - microlitre - \ul - + microlitre + \ul + @@ -3328,9 +3327,9 @@
    - microliter - \uL - + microliter + \uL + @@ -3379,9 +3378,9 @@
    - millihertz - \mHz - + millihertz + \mHz + mHz @@ -3444,9 +3443,9 @@
    - millinewton - \mN - + millinewton + \mN + mN @@ -3491,9 +3490,9 @@
    - pascal - \Pa - + pascal + \Pa + Pa @@ -3538,9 +3537,9 @@
    - milliohm - \mohm - + milliohm + \mohm + @@ -3588,9 +3587,9 @@
    - picovolt - \pV - + picovolt + \pV + pV @@ -3657,9 +3656,9 @@
    - nanowatt - \nW - + nanowatt + \nW + nW @@ -3735,9 +3734,9 @@
    - microjoule - \uJ - + microjoule + \uJ + @@ -3786,9 +3785,9 @@
    - millielectronvolt - \meV - + millielectronvolt + \meV + meV @@ -3851,9 +3850,9 @@
    - kilowatt hour - \kWh - + kilowatt hour + \kWh + @@ -3875,9 +3874,9 @@
    - femtofarad - \fF - + femtofarad + \fF + fF @@ -3944,9 +3943,9 @@
    - femtohenry - \fH - + femtohenry + \fH + fH @@ -4013,9 +4012,9 @@
    - nanocoulomb - \nC - + nanocoulomb + \nC + nC @@ -4064,9 +4063,9 @@
    - microtesla - \uT - + microtesla + \uT + @@ -4106,9 +4105,9 @@
    - kelvin - \K - + kelvin + \K + K @@ -4126,9 +4125,9 @@
    - decibel - \dB - + decibel + \dB + dB From e644914035ab85c27b6399ae3cbf7a318977783a Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 16:37:40 -0500 Subject: [PATCH 34/35] fixed siV3 --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 -- t/80_complex.t | 8 +++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 78e71f3961..58d676c3e9 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -17,8 +17,6 @@ use LaTeXML::Package; use LaTeXML::Core::Box; use Math::Trig qw(:radial :pi deg2rad rad2deg); -use Data::Dumper; - # siunitx version 3 was released in May 2021. I'm not sure which is in GitHub's TeXLive 2021 my $FMT_YEAR = Expand(T_CS('\fmtversion'))->toString; $FMT_YEAR =~ s/\D.*//; diff --git a/t/80_complex.t b/t/80_complex.t index 5ae3878402..42763ba093 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -20,6 +20,12 @@ latexml_tests("t/complex", siV2 => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 }, + # siV3 is triggered if \fmtversion >= 2021, + # lib/LaTeXML/Engine/latex_base.pool.ltxml sets \fmtversion to 2018/12/01 + # if `make formats` is called, blib/lib/LaTeXML/Engine/latex_dump.pool.ltxml + # overrides it to the actual value + # GitHub actions call `make formats` only for 2023 onward + # this also means `make test CI=true` will fail without `make formats` siV3 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2032 } }); + packages => 'siunitx.sty', texlive_min => 2023 } }); From cb2f810abdeaa833cf75751847c03fdc105f8f99 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 16:39:31 -0500 Subject: [PATCH 35/35] removed failing si test --- t/80_complex.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/80_complex.t b/t/80_complex.t index 42763ba093..a2f84e5a6a 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -13,7 +13,7 @@ latexml_tests("t/complex", texlive_min => 2021}, si => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015 }, + packages => 'siunitx.sty', texlive_min => 2022 }, # should be 2015 si_preamble => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015 },
    + + 2 + section 2 + 2 + §2 + + <tag close=" ">2</tag>siunitx for the impatient + +

    + + 12 345.678 90 + + + + + × + 0.3 + + + 10 + 45 + + + + + - - - - 1.2 - ° + ± + 1 + + + 2 + i - - - 3 - + + + + + + × + + × + 1.654 + 2.34 + 3.430 + + +

    +
    + +

    + + + + kg + m - - 4 - + + s + + - + 1 + - - - - - -Some text + + - - 4 - - - m - - - Sv - - - - 1 - + + kg + m + + + s + + - + 1 - More text + - - - 4 - - - m - - - Sv - - - - 1 - - + + / + + + kg + m + + s + + + + + + / + + + kg + m + + + + + + + + ( + + + A + s + + ) + + - Still red here! - +

    +
    + +

    - + - - - - + + + - 1 - , - 2 - , - 3 - and - 4 + 10 + , + 20 + and + 30 - Still red here!

    -
    - -

    Unsemantic: - - - - - - - m - 2 - - s - - - - - - - μ - - - m - 2 - - - -

    -
    - -

    Semantic again: - - - - - 0.094 - - - π - mm - mrad - - - -

    -
    - -

    - - - - 0.094 - - - - - 1 - 3 + + + + + + + + - mm - mrad - - - -

    -
    - -

    - - - - 0.094 - - + + + + 0.13 + mm + + , + + + 0.67 + mm + + and + + + 0.80 + mm + + + + + + + - / - π - mm + + + + + 10 + to + 20 + + + + + + - - mrad - 3 + + + - - - -

    -
    -
    - - 1 - 1 - §1 - - <tag close=" ">1</tag>Numbers - - - 1.1 - 1.1 - §1.1 - - <tag close=" ">1.1</tag>General - -

    + + + + 0.13 + mm + + to + + + 0.67 + mm + + + + +

    +
    + + Other tests + +

    - 12 345.678 90 + + + + + + + + + 10 + , + 20 + and + 30 + + - + - - ± - 1 - - - 2 - i + + + + + + + 1.2 + ° + + + + 3 + + + + + 4 + + - + - +

    +
    + +

    Unsemantic: + - - × - 0.3 - - - 10 - 45 + + + + + m + 2 + s - + - × - - × - 1.654 - 2.34 + + μ + + + m + 2 - 3.430 - +

    +
    + +

    Semantic again: + - π + + + 0.094 + + + π + mm + mrad + + - + - - - + + + 0.094 + - 2 - π + + + 1 + 3 + + mm + mrad - + - + - / - π - 3 + + 0.094 + + + + / + π + mm + + + + mrad + 3 + + -

    +

    - -

    + +

    +
    + + 3 + section 3 + 3 + §3 + + <tag close=" ">3</tag>Using the siunitx package + + + 3.1 + subsection 3.1 + 3.1 + §3.1 + + <tag close=" ">3.1</tag>Numbers + +

    123 - + 1234 - + 12 345 - + 0.123 - + 0.1234 - + 0.123 45 - + - × - 3.45 - + × + 3.45 + 10 @@ -309,7 +480,7 @@ Some text + - @@ -320,8868 +491,14659 @@ Some text -

    - - - × - 123 - - - 10 - 4 - - - - + +

    - - × - - - 123 - - - - ( - 3 - ) - - - - - - 10 - 4 + + + + + + + - + + 10 + , + 30 + , + 50 + and + 70 + + -

    +

    - -

    + +

    - - 123 - - - - ( - 2 - ) - - + × + 10 + 30 - +

    +
    + +

    - - ± - 123 - - - 2 - i + + + + + - + + 10 + to + 30 + + - - - - + - 123 - - - 234 - i +

    +
    + + + 3.1.1 + subsubsection 3.1.1 + 3.1.1 + §3.1.1 + + <tag close=" ">3.1.1</tag>Other Tests + +

    + + + × + 123 + + + 10 + 4 + - - - - - - × - - - - - + + + + + × + + + 123 + + + + ( + 3 + ) + + + + + + 10 + 4 - - ( - - + - 123 - - - 234 - i - - - ) - - - - - 10 - 3 - - - - - - × - - - - - + +

    +
    + +

    + + + + 123 + + + + ( + 2 + ) + + + + + + + + ± + 123 + + + 2 + i - - ( - - + - - - 123 - - - - ( - 1 - ) - - - - - - + + + + + + + + 123 + + + 234 + i + + + + + + + × + + + + + + + + ( + + + + - 234 - - + 123 + + ( - 1 + 1 ) - i + + + + + 234 + + + + ( + 1 + ) + + + + i + - - ) - - - - - 10 - 3 - - - - - - - - - - 3 - i + ) + + + + + 10 + 3 + - - - - - - + + + - × - - + × + + ( - - - 3 - i + + + + + 234 + + + + ( + 1 + ) + + + + i ) - + 10 - 4 + 3 - - -

    -
    - -

    Pretty nonsensical stuff? - - - - × - - + +

    +
    + +

    Pretty nonsensical stuff? + + + + + + + + - 1 + 1 . - π + + + + + + π + e + + 3 + - - - 10 - 3 - - - - - - 1234.1234 - - - - - + + + + 1234.1234 + + + 3 ξ - - - - - - + + + 3 ξ - - - - - - + + + 3 ξ - - - - - - + + + 3 ξ - - - - - - + + + 3 ξ - - -

    -
    - -

    - - - - 1.23 - - - - ( - 1 - ) - - - - - - - - - 1.23 - - - - ( - 1 - ) - - - - - - - - - 1.23 - - - - ( - π - ) - - - - -

    -
    -
    - - - 1.2 - 1.2 - §1.2 - - <tag close=" ">1.2</tag>Parsing numbers - - - 1.2.1 - 1.2.1 - §1.2.1 - - <tag close=" ">1.2.1</tag>input-digits, input-decimal-markers, input-signs, input-exponent-markers - - - - 1.2.2 - 1.2.2 - §1.2.2 - - <tag close=" ">1.2.2</tag>input-symbols, input-ignore - - - - 1.2.3 - 1.2.3 - §1.2.3 - - <tag close=" ">1.2.3</tag>input-comparators - -

    - - - < - - 10 - - - - - - - 0.12 - - -

    +

    -
    - - - 1.2.4 - 1.2.4 - §1.2.4 - - <tag close=" ">1.2.4</tag>input-open-uncertainty, input-close-uncertainty, input-uncertainty-signs - -

    + +

    - 9.99 - - + 1.23 + + ( - 9 + 1 ) - + - 9.99 - - + 1.23 + + ( - 9 + 1 ) - + - - 9.99 - - + + 1.23 + + ( - 9 + π ) - +

    +
    + +

    - - 123.0 - - + + 1.234 + + ( - 45 + 5 ) + x + π - + - - 12.3 - - + + 1.234 + + ( - 60 + 5 ) + x + π -

    +

    - + - 1.2.5 - 1.2.5 - §1.2.5 + 3.1.2 + subsubsection 3.1.2 + 3.1.2 + §3.1.2 - <tag close=" ">1.2.5</tag>input-complex-roots - -

    + 3.1.2Lists and ranges of numbers + +

    - - + - 9.99 - - - 88.8 - i + + + + + + - + + + + 10 + m + + , + + + 30 + m + + and + + + 45 + m + + + - + - + - 9.99 - - - 88.8 - i + × + + + 10 + m + + + + 30 + m + + + + 45 + m -

    -
    -
    - - - 1.2.6 - 1.2.6 - §1.2.6 - - <tag close=" ">1.2.6</tag>input-protect-tokens - - - - 1.2.7 - 1.2.7 - §1.2.7 - - <tag close=" ">1.2.7</tag>parse-numbers - -

    + - - - 2 - + + + + + + + + + + 10 + m + + to + + + 30 + m + + + -

    +

    - + - 1.3 - 1.3 - §1.3 + 3.2 + subsection 3.2 + 3.2 + §3.2 - <tag close=" ">1.3</tag>Post-processing numbers - - - 1.3.1 - 1.3.1 - §1.3.1 - - <tag close=" ">1.3.1</tag>round-mode, round-precision - -

    - - 1.234 56 - - - - 14.23 - - - - - - 0.123 45 - - - - ( - 9 - ) - - + 3.2Angles + +

    + + + + + + 10 + ° + + + + + + + + + + 12.3 + ° + + + + + + + + + + 4.5 + ° + + + + + + + + + + + + 1 + ° + + + + 2 + + + + + 3 + + + + + + + + + + + + 1 + + + + + + + + + + + 10 + ° + + + + + + + + + - + + + 1 + + + + + +

    +
    +
    + + + 3.3 + subsection 3.3 + 3.3 + §3.3 + + <tag close=" ">3.3</tag>Units + + + 3.3.1 + subsubsection 3.3.1 + 3.3.1 + §3.3.1 + + <tag close=" ">3.3.1</tag>unit + +

    + + + / + + + kg + m + + + + s + 2 + - + - 1.235 + + + + + g + + + p + o + l + y + m + e + r + + + + + mol + + + c + a + t + + + + + s + + - + 1 + + + - + - 14.230 + + + kg + m + + + s + + - + 2 + + + - + - - 0.123 45 - - - - ( - 9 - ) - - + + g + + + cm + + - + 3 + + - + - 1.23 + + + + + V + 2 + + + + lm + 3 + + + + F + + - + 1 + + + - + - 14.2 + + + + + m + 2 + + + + Gy + + - + 1 + + + + + lx + 3 + + - + - - 0.123 45 - - - - ( - 9 - ) - - + + H + s -

    +

    - + - 1.3.2 - 1.3.2 - §1.3.2 + 3.3.2 + subsubsection 3.3.2 + 3.3.2 + §3.3.2 - <tag close=" ">1.3.2</tag>round-integer-to-decimal - -

    + 3.3.2qty + +

    - 1.0 + + + 1.23 + + + J + + + mol + + - + 1 + + + + + K + + - + 1 + + + + - + - 1.00 + + + + × + 0.23 + + + 10 + 7 + + + cd + - - + - 1.0 + + + 1.99 + + / + + kg + + - + - 1.00 + + + 1.345 + + + C + mol + + -

    +

    - + - 1.3.3 - 1.3.3 - §1.3.3 + 3.3.3 + subsubsection 3.3.3 + 3.3.3 + §3.3.3 - <tag close=" ">1.3.3</tag>round-minimum - -

    + 3.3.3qtylist + +

    - 0.01 - - - - 0.00 - - - - 0.01 - - - - - < - - 0.01 - + + + + + + + + + + + 10 + m + + , + + + 30 + m + + and + + + 45 + m + + + -

    +

    - + - 1.3.4 - 1.3.4 - §1.3.4 + 3.3.4 + subsubsection 3.3.4 + 3.3.4 + §3.3.4 - <tag close=" ">1.3.4</tag>round-half - -

    - - 0.06 - - - - 0.05 - - - - 0.06 - - + 3.3.4qtyproduct + +

    - 0.04 + + × + + + 10 + m + + + + 30 + m + + + + 45 + m + +

    - + - 1.3.5 - 1.3.5 - §1.3.5 + 3.3.5 + subsubsection 3.3.5 + 3.3.5 + §3.3.5 - <tag close=" ">1.3.5</tag>add-decimal-zero, add-integer-zero - -

    - - 123.0 - - - - 456 - - - - 0.789 - - + 3.3.5qtyrange + +

    - + + + + + - 123 - . + + + 10 + m + + to + + + 30 + m + - - - 456 - - - - .789 - -

    -
    -
    - - - 1.3.6 - 1.3.6 - §1.3.6 - - <tag close=" ">1.3.6</tag>minimum-integer-digits - -

    - - 123 - - - - 123 - - - - 123 - - - - 123 - - - - 0123 - -

    -
    -
    - - - 1.3.7 - 1.3.7 - §1.3.7 - - <tag close=" ">1.3.7</tag>explicit-sign, retain-explicit-plus - -

    - - - - 345 - - - - - - + - 345 - - - - - - - - 345 - - - - - - - 345 - - -

    +

    - - - 1.3.8 - 1.3.8 - §1.3.8 - - <tag close=" ">1.3.8</tag>retain-unity-mantissa, retain-zero-exponent - -

    - - - × - 1 - - - 10 - 4 + + + + 3.4 + subsection 3.4 + 3.4 + §3.4 + + 3.4Complex numbers and quantities + +

    + + + × + + + + + - - - - - + + ( + + + + 123 + + + 234 + i + + + ) + + + 10 - 4 + 3 - - - - 444 - - - - - × - 444 - - - 10 - 0 + + + + + + × + + + + + + + ( + + + + + + 123 + + + + ( + 1 + ) + + + + + + + + 234 + + + + ( + 1 + ) + + + + i + + + ) + + + + + 10 + 3 - -

    -
    -
    - - - 1.3.9 - 1.3.9 - §1.3.9 - - <tag close=" ">1.3.9</tag>scientific-notation, fixed-exponent - -

    - - 0.001 - - - - 0.0100 - - - - 1200 - - - - 0.001 - - - - 0.0100 - - - - 1200 - - - - 0.001 - - - - 0.0100 - - - - 1200 - - - - 0.001 - - - - 0.0100 - - - - 1200 - -

    -
    -
    - - - 1.3.10 - 1.3.10 - §1.3.10 - - <tag close=" ">1.3.10</tag>omit-uncertainty - -

    - + + + + + + - - 0.01 - - + + 3 + i + + + + + + + + + × + + ( - 2 + + + 3 + i + ) + + + 10 + 4 + - - - - 0.01 - -

    -
    -
    + + +

    +
    - + - 1.4 - 1.4 - §1.4 + 3.5 + subsection 3.5 + 3.5 + §3.5 - <tag close=" ">1.4</tag>Printing numbers - + <tag close=" ">3.5</tag>The unit macros + +

    Table

    +
    + - 1.4.1 - 1.4.1 - §1.4.1 + Table 1 + Table 1 + 1 + Table 1 - <tag close=" ">1.4.1</tag>group-digits, group-four-digits,group-seperator - -

    - - 12 345.678 90 - - - - 12345.67890 - - - - 12345.678 90 - - - - 12 345.67890 - -

    -
    - -

    - - 12345.67890 - - - - 12345.678 90 - - - - 12 345.67890 - -

    -
    - -

    - - 1 234 567 890.123 456 789 0 - - - - 12 3456 7890.1234 5678 90 - -

    -
    - -

    - - 12 345 - - - - - - - 12 - , - 345 - - - - - - - - - - 12 -   - 345 - - - -

    + 1SI base units +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1SI base units
    UnitMacroSymbol
    ampere\ampere + + A + +
    candela\candela + + cd + +
    kelvin\kelvin + + K + +
    kilogram\kilogram + + kg + +
    metre\metre + + m + +
    mole\mole + + mol + +
    second\second + + s + +
    + +

    Table

    +
    + + + Table 2 + Table 2 + 2 + Table 2 + + 2Coherent derived units + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2Coherent derived units
    UnitMacroSymbUnitMacroSymb
    becquerel\becquerel + + Bq + + newton\newton + + N + +
    degreeCelsius\degreeCelsius + + °C + + ohm\ohm + + + +
    coulomb\coulomb + + C + + pascal\pascal + + Pa + +
    farad\farad + + F + + radian\radian + + rad + +
    gray\gray + + Gy + + siemens\siemens + + S + +
    hertz\hertz + + Hz + + sievert\sievert + + Sv + +
    henry\henry + + H + + steradian\steradian + + sr + +
    joule\joule + + J + + tesla\tesla + + T + +
    katal\katal + + kat + + volt\volt + + V + +
    lumen\lumen + + lm + + watt\watt + + W + +
    lux\lux + + lx + + weber\weber + + Wb + +
    + +

    Table

    +
    + + + Table 3 + Table 3 + 3 + Table 3 + + 3Non-SI units + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3Non-SI units
    UnitMacroSymbol
    astronomicalunit\astronomicalunit + + au + +
    bel\bel + + B + +
    dalton\dalton + + Da + +
    day\day + + d + +
    decibel\decibel + + dB + +
    degree\degree + + ° + +
    electronvolt\electronvolt + + eV + +
    hectare\hectare + + ha + +
    hour\hour + + h + +
    litre\litre + + l + +
    liter\liter + + L + +
    arcminute\arcminute + + + +
    minute\minute + + min + +
    arcsecond\arcsecond + + + +
    neper\neper + + Np + +
    tonne\tonne + + t + +
    + +

    Table

    +
    + + + Table 4 + Table 4 + 4 + Table 4 + + 4SI prefixes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4SI prefixes
    PrefixCmdSymbPowerPrefixCmdSymbPower
    quecto\quecto + + q + + + + + + + + 10 + + - + 30 + + + + + + deca\deca + + da + + + + + + + + 10 + 1 + + + + +
    ronto\ronto + + r + + + + + + + + 10 + + - + 27 + + + + + + hecto\hecto + + h + + + + + + + + 10 + 2 + + + + +
    yocto\yocto + + y + + + + + + + + 10 + + - + 24 + + + + + + kilo\kilo + + k + + + + + + + + 10 + 3 + + + + +
    zepto\zepto + + z + + + + + + + + 10 + + - + 21 + + + + + + mega\mega + + M + + + + + + + + 10 + 6 + + + + +
    atto\atto + + a + + + + + + + + 10 + + - + 18 + + + + + + giga\giga + + G + + + + + + + + 10 + 9 + + + + +
    femto\femto + + f + + + + + + + + 10 + + - + 15 + + + + + + tera\tera + + T + + + + + + + + 10 + 12 + + + + +
    pico\pico + + p + + + + + + + + 10 + + - + 12 + + + + + + peta\peta + + P + + + + + + + + 10 + 15 + + + + +
    nano\nano + + n + + + + + + + + 10 + + - + 9 + + + + + + exa\exa + + E + + + + + + + + 10 + 18 + + + + +
    micro\micro + + µ + + + + + + + + 10 + + - + 6 + + + + + + zetta\zetta + + Z + + + + + + + + 10 + 21 + + + + +
    milli\milli + + m + + + + + + + + 10 + + - + 3 + + + + + + yotta\yotta + + Y + + + + + + + + 10 + 24 + + + + +
    centi\centi + + c + + + + + + + + 10 + + - + 2 + + + + + + ronna\ronna + + R + + + + + + + + 10 + 27 + + + + +
    deci\deci + + d + + + + + + + + 10 + + - + 1 + + + + + + quetta\quetta + + Q + + + + + + + + 10 + 30 + + + + +
    + +

    + + + + Bq + 2 + + + + + + + + + J + 2 + + + + lm + + - + 1 + + + + + + + + + + + lx + 3 + + V + + + T + 3 + + + + + + + + H + 5 + + + + + + + rad + 4.5 + + + + + + + J + + + mol + + - + 1 + + + + + K + + - + 1 + + + + + + + + + J + + + mol + + - + 1 + + + K + + + + + + + H + + - + 5 + + + + + + + + Bq + + - + 2 + + + + + + + + kg + metal + + + + + + + 0.1 + + + + + mmol + + + + ( + cat + ) + + + + + + + + kg + + + + ( + prod + ) + + + + + - + 1 + + + + + + + + + + + + + + kg + + m + + + + + + kg + + s + + + + + + + + kg + m + + + s + + - + 1 + + + + + + + + + kg + m + + + s + + - + 1 + + + + +

    +
    +
    + + + 3.6 + subsection 3.6 + 3.6 + §3.6 + + <tag close=" ">3.6</tag>Unit abbreviations + +

    Table 5

    +
    + + + Table 5 + Table 5 + 5 + Table 5 + + + 5Abbreviated units + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 5Abbreviated units
    UnitAbbreviationSymbol
    femtogram\fg + + fg + +
    picogram\pg + + pg + +
    nanogram\ng + + ng + +
    microgram\ug + + + + µ + g + + +
    milligram\mg + + mg + +
    gram\g + + g + +
    kilogram\kg + + kg + +
    picometre\pm + + pm + +
    nanometre\nm + + nm + +
    micrometre\um + + + + µ + m + + +
    millimetre\mm + + mm + +
    centimetre\cm + + cm + +
    decimetre\dm + + dm + +
    metre\m + + m + +
    kilometre\km + + km + +
    picometer\pm + + pm + +
    nanometer\nm + + nm + +
    micrometer\um + + + + µ + m + + +
    millimeter\mm + + mm + +
    centimeter\cm + + cm + +
    decimeter\dm + + dm + +
    meter\m + + m + +
    kilometer\km + + km + +
    attosecond\as + + as + +
    femtosecond\fs + + fs + +
    picosecond\ps + + ps + +
    nanosecond\ns + + ns + +
    microsecond\us + + + + µ + s + + +
    millisecond\ms + + ms + +
    second\s + + s + +
    femtomole\fmol + + fmol + +
    picomole\pmol + + pmol + +
    nanomole\nmol + + nmol + +
    micromole\umol + + + + µ + mol + + +
    millimole\mmol + + mmol + +
    mole\mol + + mol + +
    kilomole\kmol + + kmol + +
    picoampere\pA + + pA + +
    nanoampere\nA + + nA + +
    microampere\uA + + + + µ + A + + +
    milliampere\mA + + mA + +
    ampere\A + + A + +
    kiloampere\kA + + kA + +
    microlitre\ul + + + + µ + l + + +
    millilitre\ml + + ml + +
    litre\l + + l + +
    hectolitre\hl + + hl + +
    microliter\uL + + + + µ + L + + +
    milliliter\mL + + mL + +
    liter\L + + L + +
    hectoliter\hL + + hL + +
    millihertz\mHz + + mHz + +
    hertz\Hz + + Hz + +
    kilohertz\kHz + + kHz + +
    megahertz\MHz + + MHz + +
    gigahertz\GHz + + GHz + +
    terahertz\THz + + THz + +
    millinewton\mN + + mN + +
    newton\N + + N + +
    kilonewton\kN + + kN + +
    meganewton\MN + + MN + +
    pascal\Pa + + Pa + +
    kilopascal\kPa + + kPa + +
    megapascal\MPa + + MPa + +
    gigapascal\GPa + + GPa + +
    milliohm\mohm + + + + m + + + +
    kiloohm\kohm + + + + k + + + +
    megaohm\Mohm + + + + M + + + +
    picovolt\pV + + pV + +
    nanovolt\nV + + nV + +
    microvolt\uV + + + + µ + V + + +
    millivolt\mV + + mV + +
    volt\V + + V + +
    kilovolt\kV + + kV + +
    nanowatt\nW + + nW + +
    microwatt\uW + + + + µ + W + + +
    milliwatt\mW + + mW + +
    watt\W + + W + +
    kilowatt\kW + + kW + +
    megawatt\MW + + MW + +
    gigawatt\GW + + GW + +
    microjoule\uJ + + + + µ + J + + +
    millijoule\mJ + + mJ + +
    joule\J + + J + +
    kilojoule\kJ + + kJ + +
    millielectronvolt\meV + + meV + +
    electronvolt\eV + + eV + +
    kiloelectronvolt\keV + + keV + +
    megaelectronvolt\MeV + + MeV + +
    gigaelectronvolt\GeV + + GeV + +
    teraelectronvolt\TeV + + TeV + +
    kilowatt hour\kWh + + + + kW + h + + +
    femtofarad\fF + + fF + +
    picofarad\pF + + pF + +
    nanofarad\nF + + nF + +
    microfarad\uF + + + + µ + F + + +
    millifarad\mF + + mF + +
    farad\F + + F + +
    femtohenry\fH + + fH + +
    picohenry\pH + + pH + +
    nanohenry\nH + + nH + +
    microhenry\uH + + + + µ + H + + +
    millihenry\mH + + mH + +
    henry\H + + H + +
    nanocoulomb\nC + + nC + +
    microcoulomb\uC + + + + µ + C + + +
    millicoulomb\mC + + mC + +
    coulomb\C + + C + +
    microtesla\uT + + + + µ + T + + +
    millitesla\mT + + mT + +
    tesla\T + + T + +
    kelvin\K + + K + +
    decibel\dB + + dB + +
    + +

    Table

    +
    + + + Table 6 + Table 6 + 6 + Table 6 + + 6Binary prefixes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 6Binary prefixes
    PrefixCommandSymbolPower
    kibi\kibi + + Ki + + 10
    mebi\mebi + + Mi + + 20
    gibi\gibi + + Gi + + 30
    tebi\tebi + + Ti + + 40
    pebi\pebi + + Pi + + 50
    exbi\exbi + + Ei + + 60
    zebi\zebi + + Zi + + 70
    yobi\yobi + + Yi + + 80
    + +
    + + + 3.7 + subsection 3.7 + 3.7 + §3.7 + + <tag close=" ">3.7</tag>Creating new macros + +

    + + + + 67 890 + ° + + + + + + + 67 890 + ° + + +

    +
    + +

    + + + + kg + 4 + + + + + + + m + 4 + + +

    +
    + +

    + + + + 1.234 + + + + + g + pol + + + + + + mol + cat + + + - + 1 + + + + + h + + - + 1 + + + + + +

    +
    + + + 3.7.1 + subsubsection 3.7.1 + 3.7.1 + §3.7.1 + + <tag close=" ">3.7.1</tag>Other Tests + +

    + + kg + + + + + kg + + + + + + + km + + + + + + + + kg + +

    +
    + +

    + + a + + + + a + + + + a + + + + e + + + + e + +

    +
    + +

    + + a + + + + a + +

    +
    + +

    + + km + +

    +
    + +

    + + + + kg + m + + + s + + - + 1 + + + + + + + + + kg + m + + + s + + - + 1 + + + + + + + + + kg + m + + + s + + - + 1 + + + + + + + + + kg + m + + + s + + - + 1 + + + + + + + + + kg + m + + + s + + - + 1 + + + + +

    +
    + +

    + + + + + + kg + + m + + + s + + - + 1 + + + + + + + + + kg + + + m + + + + s + + - + 1 + + + + + + + + + kg + + + m + + + + s + + - + 1 + + + + + + + + + kg + m + + + + + s + + - + 1 + + + + + + + + + + kg + m + + + + + s + + - + 1 + + + + + +

    +
    +
    +
    + + + 3.8 + subsection 3.8 + 3.8 + §3.8 + + <tag close=" ">3.8</tag>Tabular material + +

    Table

    +
    + + + Table 7 + Table 7 + 7 + Table 7 + + 7Standard behaviour of the S column type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 7Standard behaviour of the S column type.
    Some Values
    + + 2.3456 + +
    + + 34.2345 + +
    + + + - + 6.7835 + + +
    + + 90.473 + +
    + + 5642.5 + +
    + + + × + + + 1.2 + + + + + 10 + 3 + + + +
    + + + + 10 + 4 + + +
    + +

    Table

    +
    + + + Table 8 + Table 8 + 8 + Table 8 + + 8Detection of surrounding material in an S column. + + + + + + + + + + + + + + + + + + + +
    Table 8Detection of surrounding material in an S column.
    Some Values
    + + 12.34 + +
    + + 975.31 + +
    + + 44.268 + + a
    + +

    Table

    +
    + + + Table 9 + Table 9 + 9 + Table 9 + + 9Text before and after numbers. + + + + + + + + + + + + + + + + + + + + + + + +
    Table 9Text before and after numbers.
    Values
    + + 2.3456 + +
    + + 34.2345 + + a
    + + 34.2345 + + a
    + + 56.7835 + +
    now  + + 90.473 + +
    + +

    Table

    +
    + + + Table 10 + Table 10 + 10 + Table 10 + + 10Controlling complex alignment with the tablenum macro. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 10Controlling complex alignment with the tablenum macro.
    HeadingHeading
    InfoMore info
    InfoMore info
    + + 12.34 + +
    + + 333.5567 + +
    + + 4563.21 + +
    HeadingHeading
    + + 88.999 + + aaa
    bbb
    + + 33.435 + + ccc
    ddd
    +
    +
    +
    + + 4 + section 4 + 4 + §4 + + <tag close=" ">4</tag>Package control options + + + 4.2 + subsection 4.2 + 4.2 + §4.2 + + <tag close=" ">4.2</tag>Printing + + + 4.2.1 + subsubsection 4.2.1 + 4.2.1 + §4.2.1 + + <tag close=" ">4.2.1</tag>mode, number-mode, unit-mode + + + + 4.2.2 + subsubsection 4.2.2 + 4.2.2 + §4.2.2 + + <tag close=" ">4.2.2</tag>reset-text-[family|series|shape] + +

    + + 1234 + + + + 1234 + + + + 1234 + + + + + 1234 + + + + 1234 + + + + 1234 + +

    +
    +
    + + + 4.2.3 + subsubsection 4.2.3 + 4.2.3 + §4.2.3 + + <tag close=" ">4.2.3</tag>propagate-math-font, reset-math-version + +

    + + kg + + + + kg + + + + + kg + + + + kg + +

    +
    +
    + + + 4.2.4 + subsubsection 4.2.4 + 4.2.4 + §4.2.4 + + <tag close=" ">4.2.4</tag>text-[family|series]-to-math + +

    + + kg + + + + kg + + + + + kg + + + + kg + +

    +
    +
    + + + 4.2.5 + subsubsection 4.2.5 + 4.2.5 + §4.2.5 + + <tag close=" ">4.2.5</tag>text-font-command + +

    + + + + 123 456 789 + + + kV + + + cm + + - + 1 + + + + + + + + + + + 123 456 789 + + + kV + + + cm + + - + 1 + + + + + +

    +
    +
    + + + 4.2.6 + subsubsection 4.2.6 + 4.2.6 + §4.2.6 + + <tag close=" ">4.2.6</tag>text-[sub|super]script-command + +

    + + + + kg + polymer + + + + + + + + + + kg + polymer + + +

    +
    +
    + + + 4.2.7 + subsubsection 4.2.7 + 4.2.7 + §4.2.7 + + <tag close=" ">4.2.7</tag>color, number-color, unit-color + +

    Some text + + + + 4 + kg + + + More text + + + + 4 + kg + + + + + + + 4 + kg + + + + + + + 4 + kg + + + Still red here!

    +
    + +

    + + + + 1 + g + + + + + + + 1 + g + + + + + + + 1 + g + + + + + + + 1 + g + + + + + + + + - + + + + + 1 + ° + + + + 2 + + + + + 3 + + + + + + + + + + + + + + + + + 1 + , + 2 + and + 3 + + + + + + + by + 1 + 2 + + + + + + + + + + + + 1 + to + 2 + + + +

    +
    + +

    + + + × + + + 1.234 + + + + ( + 5 + ) + + + + + + 6.78 + + + + ( + 9 + ) + + + + + +

    +
    +
    +
    + + + 4.3 + subsection 4.3 + 4.3 + §4.3 + + <tag close=" ">4.3</tag>Parsing numbers + + + 4.3.1 + subsubsection 4.3.1 + 4.3.1 + §4.3.1 + + <tag close=" ">4.3.1</tag>input-digits, input-ignore + +

    + + 1245 + +

    +
    +
    + + + 4.3.2 + subsubsection 4.3.2 + 4.3.2 + §4.3.2 + + <tag close=" ">4.3.2</tag>input-comparators + +

    + + + < + + 10 + + + + + + + + + + 5 + + m + + + + + + + + 0.12 + + +

    +
    +
    + + + 4.3.3 + subsubsection 4.3.3 + 4.3.3 + §4.3.3 + + <tag close=" ">4.3.3</tag>input-[open|close]-uncertainty, input-uncertainty-signs + +

    + + + + 9.99 + + + + ( + 9 + ) + + + + + + + + + 9.99 + + + + ( + 9 + ) + + + + + + + + + 9.99 + + + + ( + 9 + ) + + + + + + + + + 123.0 + + + + ( + 45 + ) + + + + + + + + + 12.3 + + + + ( + 60 + ) + + + + + + + + + 123.4 + + + + ( + 12 + ) + + + + + + + + + 123.4 + + + + ( + 12 + ) + + + + + + + + ± + 123.4 + 1.2 + 4.5 + + + + + + ± + 123.4 + 1.2 + 4.5 + + +

    +
    +
    + + + 4.3.4 + subsubsection 4.3.4 + 4.3.4 + §4.3.4 + + <tag close=" ">4.3.4</tag>input-uncertainty-divider + +

    + + + + + + + + + + + + + 10.56 + + + + 0.12 + + + + - + 0.34 + + + + + + + + + + + + + + + + + + 123.4 + + + + 4.6 + + + + - + 7.8 + + + + + + + + + + + + + + + + + + + + + 10.56 + + + + 0.01 + + + + - + 0.02 + + + + ± + 0.03 + + + + + + + + + + + + + + + + + 6.45 + + + + + + ± + 0.02 + + + + + 0.03 + + + + - + 0.04 + + + + + +

    +
    + +

    Also: + + + + + + + + + + + + + 5.6 + + + + 1.2 + + + + - + 3.4 + + + + + + + + + + + + + + + + + + 78.56 + + + + 0.12 + + + + - + 0.34 + + + + + + + + ± + 123.4 + 1.2 + 4.5 + 6.7 + + + + + + ± + 123.4 + 1.2 + 4.5 + 6.7 + + +

    +
    +
    + + + 4.3.5 + subsubsection 4.3.5 + 4.3.5 + §4.3.5 + + <tag close=" ">4.3.5</tag>parse-numbers + +

    + + + + 2 + + + + + + + + + 3 + + m + + +

    +
    +
    + + Other tests + +

    + + π + + + + + + 2 + π + + + + + + / + π + 3 + + +

    +
    +
    + + + 4.3.6 + subsubsection 4.3.6 + 4.3.6 + §4.3.6 + + <tag close=" ">4.3.6</tag>retain-explicit-decimal-marker, retain-explicit-plus, retain-negative-zero, retain-zero-uncertainty + +

    + + + + 345 + + + + + + + + 345 + + + + + 0 + + + + + - + 0 + + + + + 12.3 + + + + + + 12.3 + + + + ( + 0 + ) + + + + +

    +
    + +

    + + 456 + + + + 0.789 + + + + 456 + + + + .789 + +

    +
    +
    +
    + + + 4.4 + subsection 4.4 + 4.4 + §4.4 + + <tag close=" ">4.4</tag>Post-processing numbers + + + 4.4.1 + subsubsection 4.4.1 + 4.4.1 + §4.4.1 + + <tag close=" ">4.4.1</tag>exponent-mode, fixed-exponent + +

    + + 0.001 + + + + 0.0100 + + + + 1200 + + + + + × + 1 + + + 10 + + - + 3 + + + + + + + + × + 1.00 + + + 10 + + - + 2 + + + + + + + + × + 1.200 + + + 10 + 3 + + + + + + + × + 1 + + + 10 + + - + 3 + + + + + + + + × + 10.0 + + + 10 + + - + 3 + + + + + + + + × + 1.200 + + + 10 + 3 + + + + + + + × + 0.000 01 + + + 10 + 2 + + + + + + + × + 0.000 100 + + + 10 + 2 + + + + + + + × + 12.00 + + + 10 + 2 + + + + + + + + × + 1.23 + + + 10 + 4 + + + + + + 12 300 + +

    +
    + +

    + + + + + + + + + ( + + + + 0.5 + + + 1000 + i + + + ) + + + +

    +
    +
    + + + 4.4.2 + subsubsection 4.4.2 + 4.4.2 + §4.4.2 + + <tag close=" ">4.4.2</tag>exponent-thresholds + +

    This is unique to version 3.

    +
    +
    + + + 4.4.3 + subsubsection 4.4.3 + 4.4.3 + §4.4.3 + + <tag close=" ">4.4.3</tag>drop-exponent, drop-uncertainty + +

    + + + + 0.01 + + + + ( + 2 + ) + + + + + + + 0.01 + + + + + × + 0.01 + + + 10 + 3 + + + + + + 0.01 + +

    +
    +
    + + + 4.4.4 + subsubsection 4.4.4 + 4.4.4 + §4.4.4 + + <tag close=" ">4.4.4</tag>round-mode, round-precision, round-pad + +

    + + 1.234 56 + + + + 14.23 + + + + + + 0.123 45 + + + + ( + 9 + ) + + + + + + + 0.001 234 5 + + places: + + 1.235 + + + + 14.230 + + + + + + 0.123 45 + + + + ( + 9 + ) + + + + + + + 0.001 + + figures: + + 1.23 + + + + 14.2 + + + + + + 0.123 45 + + + + ( + 9 + ) + + + + + + + 10 000 + + + + 0.001 23 + + uncertainty: + + + + 0.123 45 + + + + ( + 9 + ) + + + + + + + + + 0.1235 + + + + ( + 2 + ) + + + + + + + + + 0.123 + + + + ( + 2 + ) + + + + + + + + + 12 300 + + + + ( + 100 + ) + + + + + + + + + 123.46 + + + + ( + 1 + ) + + + + + + + + + 1230 + + + + ( + 10 + ) + + + + + + + + + 1235 + + + + ( + 1 + ) + + + + + + + + + 10 + + + + ( + 1 + ) + + + + + + + + + 100 + + + + ( + 10 + ) + + + + + +figures: + + 12.30 + + + + 12.34 + + + + 12.3 + + +Also + + + × + + × + 0.12 + 0.46 + + 0.79 + + +

    +
    +
    + + + 4.4.5 + subsubsection 4.4.5 + 4.4.5 + §4.4.5 + + <tag close=" ">4.4.5</tag>round-direction, round-half + +

    + + 0.05 + + + + 0.05 + + + + 0.05 + + + + 0.04 + + + + 0.06 + + + + 0.05 + + + + + + 0.06 + + + + 0.05 + + + + 0.06 + + + + 0.04 + +

    +
    +
    + + + 4.4.6 + subsubsection 4.4.6 + 4.4.6 + §4.4.6 + + <tag close=" ">4.4.6</tag>uncertainty-round-direction + +

    + + + + 0.123 + + + + ( + 41 + ) + + + + + + + + + 0.123 + + + + ( + 41 + ) + + + + + + + + + 0.12 + + + + ( + 5 + ) + + + + +

    +
    +
    + + + 4.4.7 + subsubsection 4.4.7 + 4.4.7 + §4.4.7 + + <tag close=" ">4.4.7</tag>round-minimum + +

    + + 0.01 + + + + 0.00 + + + + 0.00 + + + + 0.01 + + + + + < + + 0.01 + + + + + + > + + + - + 0.01 + + + + + + + < + + 0.01 + + +

    +
    +
    + + + 4.4.8 + subsubsection 4.4.8 + 4.4.8 + §4.4.8 + + <tag close=" ">4.4.8</tag>round-zero-positive + +

    + + 0.00 + + + + + - + 0.00 + + +

    +
    +
    + + + 4.4.9 + subsubsection 4.4.9 + 4.4.9 + §4.4.9 + + <tag close=" ">4.4.9</tag>drop-zero-decimal + +

    + + 2.0 + + + + 2.1 + + + + + 2 + + + + 2.1 + +

    +
    +
    + + + 4.4.10 + subsubsection 4.4.10 + 4.4.10 + §4.4.10 + + <tag close=" ">4.4.10</tag>minimum-decimal-digits, minimum-integer-digits + +

    + + 123 + + + + 123 + + + + 0123 + + + + 0.123 + + + + 0.123 + + + + 0.1230 + +

    +
    +
    + + + 4.4.11 + subsubsection 4.4.11 + 4.4.11 + §4.4.11 + + <tag close=" ">4.4.11</tag>Other Tests + +

    + + 1 + + + + 456 + + + + 0.789 + + + + 456 + + + + .789 + + +Also: + + 1.00 + + + + 1.0 + + + + 1.00 + +

    +
    + +

    + + + - + + ± + 52.0 + 0.4 + + + +

    +
    +
    +
    + + + 4.5 + subsection 4.5 + 4.5 + §4.5 + + <tag close=" ">4.5</tag>Printing Numbers + + + 4.5.1 + subsubsection 4.5.1 + 4.5.1 + §4.5.1 + + <tag close=" ">4.5.1</tag>group-digits, group-separator + +

    + + 12 345.678 90 + + + + 12345.67890 + + + + 12345.678 90 + + + + 12 345.67890 + + + + 12 345 + + + + + + + 12 + , + 345 + + + + + + + + + + 12 +   + 345 + + + + + + 12 345 + +

    +
    +
    + + + 4.5.2 + subsubsection 4.5.2 + 4.5.2 + §4.5.2 + + <tag close=" ">4.5.2</tag>group-minimum-digits + +

    + + 1234 + + + + 12 345 + + + + 1234 + + + + 12 345 + + + + 1234.5678 + + + + 12 345.678 90 + + + + 1234.5678 + + + + 12 345.678 90 + +

    +
    +
    + + Other tests + +

    + + 1234 + + + + 1 234 + + + + 1234.5678 + + + + 1 234.567 8 + +

    +
    +
    + + + 4.5.3 + subsubsection 4.5.3 + 4.5.3 + §4.5.3 + + <tag close=" ">4.5.3</tag>digit-group-size, digit-group-first-size, digit-group-other-size + +

    + + 1 234 567 890 + + + + 12345 67890 + + + + 1 23 45 67 890 + +

    +
    +
    + + Other tests + +

    + + 1 234 567 890.123 456 789 0 + + + + 12 3456 7890.1234 5678 90 + + + + 1 23 45 67890 + + + + 12345 67890 + + + + 123 45678 90 + + + + 12345 67890 + +

    +
    +
    + + + 4.5.4 + subsubsection 4.5.4 + 4.5.4 + §4.5.4 + + <tag close=" ">4.5.4</tag>output-decimal-marker + +

    + + 1.23 + + + + + + + 1 + , + 23 + + + +

    +
    +
    + + + 4.5.5 + subsubsection 4.5.5 + 4.5.5 + §4.5.5 + + <tag close=" ">4.5.5</tag>exponent-base, exponent-product + +

    + + + × + 1 + + + 10 + 2 + + + + + + + + 1 + + + 10 + 2 + + + + + + + × + 1 + + + 2 + 2 + + + +

    +
    +
    + + + 4.5.6 + subsubsection 4.5.6 + 4.5.6 + §4.5.6 + + <tag close=" ">4.5.6</tag>output-exponent-marker + +

    + + + + 1 + + + e + 2 + + + + + + + + 1 + + + e + 2 + + + + + + + + 1 + + + E + 2 + + + + + + + + 1 + + + E + 2 + + + +

    +
    +
    + + + 4.5.7 + subsubsection 4.5.7 + 4.5.7 + §4.5.7 + + <tag close=" ">4.5.7</tag>uncertainty-[mode|separator], output-[open|close]-uncertainty + +

    + + + + 123.45 + + + + ( + 120 + ) + + + + + + + + + 0.035 + + + + ( + 14 + ) + + + + + + + + + + 123.45 + + + + ( + 1.20 + ) + + + + + + + + + 0.035 + + + + ( + 0.014 + ) + + + + + + + + + + 123.45 + + + + ( + 1.20 + ) + + + + + + + + + 0.035 + + + + ( + 14 + ) + + + + + + + + + 1.234 + + + + + + + [ + 5 + ] + + + + + + + + + 1.234 + + + + + + + [ + 5 + ] + + + + + + + + ± + 1.234 + 0.005 + + + + + + ± + 1.234 + 0.005 + + + + + + + 8.2 + + + + + + + [ + 1.3 + ] + + + + + + + + + 8.2 + + + + + + + [ + 1.3 + ] + + + + + + + + ± + 8.2 + 1.3 + + + + + + ± + 8.2 + 1.3 + + + + + + + 1.200 + + + + + + + [ + 1 + ] + + + + + + + + ± + 1.2 + 0.001 + + + + +

    + + + ± + 67 890 + 12 345 + + +

    +

    + + + ± + 67 890 + 12 345 + + +

    +

    - + - 1.4.2 - 1.4.2 - §1.4.2 + 4.5.8 + subsubsection 4.5.8 + 4.5.8 + §4.5.8 - <tag close=" ">1.4.2</tag>group-minimum-digits - -

    + 4.5.8uncertainty-descriptors, uncertainty-descriptor-mode, uncertainty-descriptor-separator + +

    - 1234 + + ± + 1.2 + 0.3 + 0.4 + - + + - 1 234 + + + + + + + + + ± + 1.2 + + + 0.3 + + ( + + + s + y + s + + ) + + + + + 0.4 + + ( + + + s + t + a + t + + ) + + + + + + + + + + + + + + + + ± + 1.2 + + + 0.3 + + + s + y + s + + + + + 0.4 + + + s + t + a + t + + + + + + + + + + + + + + + + ± + 1.2 + + + 0.3 + + ( + + + s + y + s + + ) + + + + + 0.4 + + ( + + + s + t + a + t + + ) + + + + + + + + + + + + + + + + ± + 1.2 + + + 0.3 + s + y + s + + + + 0.4 + s + t + a + t + + + + + + + + ± + 1.2 + 0.3 + + + + + + + + + + + + + + ± + 1.2 + + + 0.3 + + ( + + + s + y + s + + ) + + + + + 0.4 + + ( + + + s + t + a + t + + ) + + + 0.5 + + + + + + + + ± + 1.2 + 0.3 + + + + + + + + + + + + + ± + 1.2 + + + 0.3 + + ( + + + s + y + s + + ) + + + + + 0.4 + + ( + + + s + t + a + t + + ) + + + + + +

    +
    +
    + + + 4.5.9 + subsubsection 4.5.9 + 4.5.9 + §4.5.9 + + <tag close=" ">4.5.9</tag>simplify-uncertainty + +

    + + + + + + + + + + + + + 10.56 + + + + 0.02 + + + + - + 0.02 + + + + + + + + + 10.56 + + ± + 0.02 + + + +

    +
    +
    + + + 4.5.10 + subsubsection 4.5.10 + 4.5.10 + §4.5.10 + + <tag close=" ">4.5.10</tag>bracket-ambiguous-numbers + +

    + + + × + 1 + + + 10 + 10 + + + + + + + × + + + + ( + + + 2 + i + + ) + + + + + 10 + 10 + + + + + + + × + + + + + + + + ( + + + + 1 + + + 2 + i + + + ) + + + + + 10 + 10 + + + + + + + × + + + + 1 + + + 2 + i + + + + + 10 + 10 + + + + + + + + + × + + + + + + + + ( + + ± + 1.2 + 0.3 + + ) + + + + + 10 + 4 + + - + - 1234.5678 + + × + + ± + 1.2 + 0.3 + + + + 10 + 4 + + - + + + - 1 234.567 8 + + × + + ± + 1.234 + 0.005 + + + + 10 + + - + 4 + + + -

    +

    - + - 1.4.3 - 1.4.3 - §1.4.3 + 4.5.11 + subsubsection 4.5.11 + 4.5.11 + §4.5.11 - <tag close=" ">1.4.3</tag>output-complex-root,output-decimal-marker,copy-complex-root,copy-decimal-marker - -

    + 4.5.11negative-color + +

    - 1.23 + + - + 15 673 + - + - - - - 1 - , - 23 - - + + - + 15 673 + - +

    +
    + +

    also: - - + - 1 - - - 2 - i - - + 0 - + - - + - 1 - - - 2 - i - + + - + 0 - + - - + - 1 - - - 2 - j - + + - + 10 - + - - + - 1 - - - 2 - j - + + - + 10 - +

    +
    + +

    - - - - 555 - , - 555 - - + 1 -

    -
    -
    - - - 1.4.4 - 1.4.4 - §1.4.4 - - <tag close=" ">1.4.4</tag>complex-root-position - -

    + + + + - + 1 + + + - - - 67 - - - 0.9 - i - + + 3 + i - + - - - 67 - - - i - 0.9 + - + + + 3 + i - + - - - 67 - - - 0.9 - i + + + 1 + + + 3 + i -

    -
    -
    - - - 1.4.5 - 1.4.5 - §1.4.5 - - <tag close=" ">1.4.5</tag>exponent-base, exponent-product - -

    + - - × - 1 - - - 10 - 2 + + - + + + + 1 + + + 3 + i + - + - - - 1 - - - 10 - 2 + + - + 1 + + + 3 + i - + - × - 1 - - - 2 - 2 + - + + - + 1 + + + 3 + i + -

    +

    - + - 1.4.6 - 1.4.6 - §1.4.6 + 4.5.12 + subsubsection 4.5.12 + 4.5.12 + §4.5.12 - <tag close=" ">1.4.6</tag>output-exponent-marker - -

    + 4.5.12bracket-negative-numbers + +

    - - - 1 - - - e - 2 - + + - + 15 673 - + - - - 1 - - - E - 2 + + + + ( + 15 673 + ) + + + + + + + + + - + 10 + m -

    -
    -
    - - - 1.4.7 - 1.4.7 - §1.4.7 - - <tag close=" ">1.4.7</tag>separate-uncertainty,uncertainty-separator,output-open-uncertainty,output-close-uncertainty - -

    + - - 1.234 - - + + + ( - 5 + 10 ) + m - +

    +
    + +

    - - 1.234 - - + + + + ( - 5 + 5 ) - + - - ± - 1.234 - 0.005 - + + + + ( + + + 13 + + + + ( + 1 + ) + + + + ) + + - + - - ± - 1.234 - 0.005 - + + + + ( + + + 13 + + + + ( + 1 + ) + + + + ) + + - - + - - - 1.234 - - - - + + + + ( + + + 10 + 10 - - [ - 5 - ] - - - + ) + + - - + - - - 8.2 - - - - ( - 13 - ) - - - + + + + ( + + × + 2 + + + 10 + 10 + + + ) + + - + - - - 8.2 - - - - ( - 13 - ) - - - + 1 - + + + + + + ( + 1 + ) + + + + - ± - 8.2 - 1.3 + + 3 + i - + - ± - 8.2 - 1.3 + - + + + 3 + i + -

    -
    - -

    + - × - - - 1.234 - - - - ( - 5 - ) - - + + + 1 + + + 3 + i - π - + - × - - - - - + - + + + + 1 + + + 3 + i - - ( - - ± - 1.234 - 0.005 - - ) - - - π + -

    -
    - -

    + - - 1.200 - - - - ( - 1 - ) - - + - + 1 + + + 3 + i + - + - ± - 1.2 - 0.001 + - + + - + 1 + + + 3 + i + + -

    +

    - + - 1.4.8 - 1.4.8 - §1.4.8 + 4.5.13 + subsubsection 4.5.13 + 4.5.13 + §4.5.13 - <tag close=" ">1.4.8</tag>bracket-numbers, open-bracket, close-bracket - -

    - - - × - 1 - + 4.5.13tight-spacing + +

    + + + × + 2 + 10 - 10 + 3 - + - - × - - - - ( - - - 2 - i - - ) - - - + + × + 2 + 10 - 10 + 3 - +

    +
    +
    + + + 4.5.14 + subsubsection 4.5.14 + 4.5.14 + §4.5.14 + + <tag close=" ">4.5.14</tag>print-implicit-plus, print-[exponent|mantissa]-implicit-plus + +

    a + + 345 + + - × - - - - - - - - ( - - + - 1 - - - 2 - i - - - ) - - - - - 10 - 10 - + + + 345 - + - × - - + - 1 - - - 2 - i - - - + + + 345 + + + + + 345 + + b + + + × + 1 + 10 - 10 + 2 - - + - × - - - - - - - - { - - + - 1 - - - 2 - i - + + + + × + 1 + + + 10 + + + + 2 - } - - - - - 10 - 10 + -

    -
    -
    - - - 1.4.9 - 1.4.9 - §1.4.9 - - <tag close=" ">1.4.9</tag>negative-color - -

    + - - - 15 673 + + + + × + 1 + + + 10 + 2 + + - + - - - - 15 673 + + × + 1 + + + 10 + + + + 2 + + -

    -
    -
    - - - 1.4.10 - 1.4.10 - §1.4.10 - - <tag close=" ">1.4.10</tag>bracket-negative-numbers - -

    + c - - - - 15 673 + + × + 1 + + + 10 + 2 + - + - - - - ( - 15 673 - ) - - + + + + + × + 1 + + + 10 + + + + 2 + + + + -

    -
    -
    -
    - - - 1.5 - 1.5 - §1.5 - - <tag close=" ">1.5</tag>Multi-part Numbers - - - 1.5.1 - 1.5.1 - §1.5.1 - - <tag close=" ">1.5.1</tag>input-product,input-quotient - -

    + - × - - × - 1 - 2 + + + + × + 1 + + + 10 + 2 + - 3 - + - - / - - × - - × - - × - 1 - - - 10 - 4 - - - - - 2 - - - - ( - 3 - ) - - - + + × + 1 + + + 10 + + + + 2 - 3 - 4 - + d - × - - × - 4 - 5 + - + + × + 1 + + + 10 + 2 + - 6 - + - / - 1 - - - - - - - - ( - - × - 2 - - - 10 - 4 - + - + + × + 1 + + + 10 + + + + 2 - ) - - + + - + - / - - × - 1 - + - + + × + 1 + 10 2 - - - - - - - - ( - - × - 3 - - - 10 - 4 - - - ) - - -

    -
    -
    - - - 1.5.2 - 1.5.2 - §1.5.2 - - <tag close=" ">1.5.2</tag>output-product, output-quotient - -

    + - - - - 4.87 - 5.321 + - + + × + 1 + + + 10 + + + + 2 + + - 6.905 45 - + e - - div - 1 - 2 + + × + 1 + + + 10 + + - + 2 + + -

    -
    -
    - - - 1.5.3 - 1.5.3 - §1.5.3 - - <tag close=" ">1.5.3</tag>quotient-mode - -

    + - / - 1 - - - - - - - - ( - - × - 2 - - - 10 - 4 - + + + + × + 1 + + + 10 + + - + 2 - ) - - + + - + - - 1 - - × - 2 - - - 10 - 4 + + + + × + 1 + + + 10 + + - + 2 + + + + + + + + + × + 1 + + + 10 + + - + 2 -

    +

    - + - 1.5.4 - 1.5.4 - §1.5.4 + 4.5.15 + subsubsection 4.5.15 + 4.5.15 + §4.5.15 - <tag close=" ">1.5.4</tag>fraction-function - -

    - - - - 1 - 1 - - - + 4.5.15print-unity-mantissa, print-zero-[exponent|integer] + +

    - - - 1 - 2 + + × + 1 + + + 10 + 4 + - + - - - 1 + + + 10 4 -

    -
    -
    -
    - - - 1.6 - 1.6 - §1.6 - - <tag close=" ">1.6</tag>Lists and ranges of numbers - - - 1.6.1 - 1.6.1 - §1.6.1 - - <tag close=" ">1.6.1</tag>list-final-separator,list-pair-separator,list-separator - -

    - - - - - - - - - - 0.1 - , - 0.2 - and - 0.3 - - - - + - - - - - - - - - 0.1 - , - 0.2 - and - 0.3 - - + 444 - + - - - - - - + + × + 444 + + + 10 + 0 - - 0.1 - ; - 0.2 - and - 0.3 - - + - + - - - - - - - - - 0.1 - , - 0.2 - , - 0.3 - - + 0.123 - + - - - - - - - - - 0.1 - and - 0.2 - and finally - 0.3 - - + .123 - +

    +
    + +

    - - - - - - - - 0.1 - and - 0.2 - - + + + 10 + 4 + - + - - - - - - - - 0.1 - , and - 0.2 - - + + + 10 + 4 + -

    +

    -
    -
    - - - 1.7 - 1.7 - §1.7 - - <tag close=" ">1.7</tag>range-phrase - -

    - - - - - - - - - 5 - to - 100 - - - - - - - - - - - - - 5 - - 100 - - - - - - - - - - - - - 5 - - 100 - - - -

    -
    -
    - - - 1.8 - 1.8 - §1.8 - - <tag close=" ">1.8</tag>Angles - - - 1.8.1 - 1.8.1 - §1.8.1 - - <tag close=" ">1.8.1</tag>number-angle-product - -

    + +

    - - - - - 2.67 - ° - - + 1 - + - - - - - 2.67 - ° - - + 1 -

    -
    -
    - - - 1.8.2 - 1.8.2 - §1.8.2 - - <tag close=" ">1.8.2</tag>arc-separator - -

    + - - - - - - - 6 - ° - - - - 7 - - - - - 6.5 - - + + × + 1 + + + 10 + 0 - + - + - - - - - - - 6 - ° - - - - 7 - - - - - 6.5 - - - - + + + 10 + 0 +

    - + - 1.8.3 - 1.8.3 - §1.8.3 + 4.5.16 + subsubsection 4.5.16 + 4.5.16 + §4.5.16 - <tag close=" ">1.8.3</tag>add-arc-degree-zero,add-arc-minute-zero,add-arc-second-zero - -

    - - - - - - - - - 1 - ° - - - - - + 4.5.16zero-decimal-as-symbol, zero-symbol + +

    - - - - - - - - 2 - - - - + 123.00 - + + + - - - - - - - 3 - - - + + + 123 + . + + - - - + - + - - - - - 1 - ° - + + 123 + - + - - - - - - - - - 0 - ° - - - - 2 - - - - + + + 123 + . + [—] + - +

    +
    +
    +
    + + + 4.6 + subsection 4.6 + 4.6 + §4.6 + + <tag close=" ">4.6</tag>Lists, products and ranges + + + 4.6.1 + subsubsection 4.6.1 + 4.6.1 + §4.6.1 + + <tag close=" ">4.6.1</tag>list-[final|pair]-separator, list-separator + +

    - - - - - - - - 0 - ° - - - - 3 - - - + + + + + + 0.1 + , + 0.2 + and + 0.3 + - - - - + - - - - - - - - 1 - ° - - - - 0 - - - + + + + + + 0.1 + ; + 0.2 + and + 0.3 + - + - - - - - - 2 - - + + + + + + 0.1 + , + 0.2 + , + 0.3 + - + - - - - - - - - 0 - - - - - 3 - - - + + + + + + 0.1 + and + 0.2 + and finally + 0.3 + - - - - + - - - - - - - - 1 - ° - - - - 0 - - - + + + + + 0.1 + and + 0.2 + - + - - - - - - - - 2 - - - - - 0 - - - + + + + + 0.1 + , and + 0.2 + - + - - - - - - - 3 - - + + + + + + + 0.1 + , + 0.2 + and + 0.3 + - - +

    +
    +
    + + + 4.6.2 + subsubsection 4.6.2 + 4.6.2 + §4.6.2 + + <tag close=" ">4.6.2</tag>product-[mode|phrase|symbol] + +

    - - - - - 45.697 - ° + + × + + × + 5 + 100 - + 2 + - + - - - - - 45.697 - ° + + + + + 5 + 100 - + 2 + + + + + + + by + + by + 5 + 100 + + 2 + + + + + + BY + + BY + 5 + 100 + + 2 + -

    +

    - + - 1.8.4 - 1.8.4 - §1.8.4 + 4.6.3 + subsubsection 4.6.3 + 4.6.3 + §4.6.3 - <tag close=" ">1.8.4</tag>angle-symbol-over-decimal - -

    + 4.6.3range-open-phrase, range-phrase + +

    - - - 45.697 - ° + + + + + 5 + to + 100 + - + - - - - - 6 - ° - - - - 7 - - - - - 6.5 - - + + + + + 5 + + 100 + - + - - - 45 - . - ° - 697 + + + + + + 10 + to + 12 + + + + + + + + + + + + from + 5 + to + 100 + - + - - - - - - 6 - ° - - - - 7 - - - - - 6 - . - - 5 - + + + + + + 5 + + 100 + - +

    +
    +
    + + + 4.6.4 + subsubsection 4.6.4 + 4.6.4 + §4.6.4 + + <tag close=" ">4.6.4</tag>[list|product|range]-exponents + +

    - - - - - - 6 - ° + + + + + + + + + + × + 5 + + + 10 + 3 + - - - 7 - + , + + × + 7 + + + 10 + 3 + - - - 6 - . - - 5 + , + + × + 9 + + + 10 + 3 + - + and + + × + 1 + + + 10 + 4 + + + -

    -
    -
    -
    -
    -
    - - 2 - 2 - §2 - - <tag close=" ">2</tag>Units - - - Table 1 - 1 - Table 1 - - 1SI base units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 1SI base units
    UnitMacroSymbol
    ampere\ampere - - A - -
    candela\candela - - cd - -
    kelvin\kelvin - - K - -
    kilogram\kilogram - - kg - -
    metre\metre - - m - -
    mole\mole - - mol - -
    second\second - - s - -
    - - - Table 2 - 2 - Table 2 - - 2Coherent derived units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 2Coherent derived units
    UnitMacroSymbolUnitMacroSymbol
    becquerel\becquerel - - Bq - - newton\newton - - N - -
    degreeCelsius\degreeCelsius - - °C - - ohm\ohm - - - -
    coulomb\coulomb - - C - - pascal\pascal - - Pa - -
    farad\farad - - F - - radian\radian - - rad - -
    gray\gray - - Gy - - siemens\siemens - - S - -
    hertz\hertz - - Hz - - sievert\sievert - - Sv - -
    henry\henry - - H - - steradian\steradian - - sr - -
    joule\joule - - J - - tesla\tesla - - T - -
    katal\katal - - kat - - volt\volt - - V - -
    lumen\lumen - - lm - - watt\watt - - W - -
    lux\lux - - lx - - weber\weber - - Wb - -
    - - - Table 3 - 3 - Table 3 - - 3Non-SI units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 3Non-SI units
    UnitMacroSymbol
    day\day - - d - -
    degree\degree - - ° - -
    hectare\hectare - - ha - -
    hour\hour - - h - -
    litre\litre - - l - -
    liter\liter - - L - -
    arcminute\arcminute - - - -
    minute\minute - - min - -
    arcsecond\arcsecond - - - -
    tonne\tonne - - t - -
    - - - Table 4 - 4 - Table 4 - - 4Expermental Non-SI units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 4Expermental Non-SI units
    UnitMacroSymbol
    astronomicalunit\astronomicalunit - - au - -
    atomicmassunit\atomicmassunit - - u - -
    bohr\bohr - - - - - - a - 0 - - - - -
    clight\clight - - - - - - c - 0 - - - - -
    dalton\dalton - - Da - -
    electronmass\electronmass - - - - - - m - e - - - - -
    electronvolt\electronvolt - - eV - -
    elementarycharge\elementarycharge - - - - e - - - -
    hartree\hartree - - - - - - E - h + + + + × + + × + + × + + × + 5 + + + 10 + 3 - - - -
    planckbar\planckbar - - - - - - - -
    - - - Table 5 - 5 - Table 5 - - 5Other non-SI units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 5Other non-SI units
    UnitMacroSymbol
    angstrom\angstrom - - Å - -
    bar\bar - - bar - -
    barn\barn - - b - -
    bel\bel - - B - -
    decibel\decibel - - dB - -
    knot\knot - - kn - -
    mmHg\mmHg - - mmHg - -
    nauticalmile\nauticalmile - - M - -
    neper\neper - - Np - -
    - - - Table 6 - 6 - Table 6 - - 6Other non-SI units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 6Other non-SI units
    UnitMacroSymbolPowerUnitMacroSymbolPower
    yocto\yocto - - y - - - - - - - - 10 - - - - - - 24 + + + × + 7 + + + 10 + 3 - + + + + × + 9 + + + 10 + 3 + - - - deca\deca - - da - - - - - - + + × + 1 + 10 - 1 + 4 - - -
    zepto\zepto - - z - - - + + + + + - - - - 10 - - - - - - 21 - - - - + + + - - hecto\hecto - - h - - - - - - - - 10 - 2 + + + × + 5 + + + 10 + 3 + + + to + + × + 7 + + + 10 + 3 + + + + + + + + + + + × + + + + + + + - + + ( + 5 + , + 7 + , + 9 + and + 10 + ) + + + + + 10 + 3 - -
    atto\atto - - a - - - - - - - - 10 - - - - - - 18 + + + + + + × + + + + ( + + × + + × + + × + 5 + 7 + + 9 - - - + 10 + + ) + + + + + 10 + 3 - - kilo\kilo - - k - - - - - - - - 10 - 3 + + + + + + × + + + + + - + + ( + 5 + to + 7 + ) + + + + + 10 + 3 - -
    femto\femto - - f - - - - - - - - 10 - - - - - - 15 - - + + + + + + × + + + + + - + + from + + ( + 5 + to + 7 + ) + + + + + + 10 + 3 - - mega\mega - - M - - - - - - - - 10 - 6 + + + + + + + × + + + + + + + - + + 5 + , + 7 + , + 9 + and + 10 + + + + + 10 + 3 - -
    pico\pico - - p - - - - - - - - 10 - - - - - - 12 - - + + + + + + × + + × + + × + + × + 5 + 7 + + 9 - + 10 - - giga\giga - - G - - - - - - - - 10 - 9 + + + 10 + 3 + + + + + + + × + + + + + - + + 5 + to + 7 + + + + + 10 + 3 - -
    nano\nano - - n - - - + + +

    + + + + + 4.6.5 + subsubsection 4.6.5 + 4.6.5 + §4.6.5 + + <tag close=" ">4.6.5</tag>[list|product|range]-units + +

    + + - - - - 10 - - - - - - 9 - - - - + + + + + - -

    tera\tera - - T - - - + + + + 2 + T + + , + + + 4 + T + + , + + + 6 + T + + and + + + 8 + T + + + + + + + + + + + + + + + + + + ( + 2 + , + 4 + , + 6 + and + 8 + ) + + + T + + + + + - - - - 10 - 12 - - + + + + + - -
    micro\micro - - µ - - - - - - - - 10 - - - - - - 6 - - + + + + 2 + T - - - - peta\peta - - P - - - - - - - - 10 - 15 + , + + + 4 + T - - - -
    milli\milli - - m - - - - - - - - 10 - - - - - - 3 - - + , + + + 6 + T - - - - exa\exa - - E - - - - - - - - 10 - 18 + and + + + 8 + T - - - -
    centi\centi - - c - - - - - - - - 10 - - - - - - 2 - - + + + + + + + + + + + + + + - - - - zetta\zetta - - Z - - - + + 2 + , + 4 + , + 6 + and + 8 + + + T + + + + + - - - - 10 - 21 - - + + + - -
    deci\deci - - d - - - - - - - - 10 - - - - - - 1 - - + + + + 2 + °C - - - - yotta\yotta - - Y - - - - - - - - 10 - 24 + to + + + 4 + °C - - - -
    - - - Table 7 - 7 - Table 7 - - 7Abbreviated units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 7Abbreviated units
    UnitMacroSymbol
    fg\fg - - fg - -
    pg\pg - - pg - -
    ng\ng - - ng - -
    ug\ug - - - - µ - g - - -
    mg\mg - - mg - -
    g\g - - g - -
    kg\kg - - kg - -
    amu\amu - - u - -
    pm\pm - - pm - -
    nm\nm - - nm - -
    um\um - - - - µ - m + + + + + + + + + + + + + + + ( + 2 + to + 4 + ) + + + °C + + + + + + + + + - -
    mm\mm - - mm - -
    cm\cm - - cm - -
    dm\dm - - dm - -
    m\m - - m - -
    km\km - - km - -
    as\as - - as - -
    fs\fs - - fs - -
    ps\ps - - ps - -
    ns\ns - - ns - -
    us\us - - - - µ - s + + + + 2 + °C + + to + + + 4 + °C + + + + + + + + + + + + + + + + 2 + to + 4 + + + °C + + + + + + × + + + 2 + m - -
    ms\ms - - ms - -
    s\s - - s - -
    fmol\fmol - - fmol - -
    pmol\pmol - - pmol - -
    nmol\nmol - - nmol - -
    umol\umol - - - - µ - mol + + + 3 + m - -
    mmol\mmol - - mmol - -
    mol\mol - - mol - -
    kmol\kmol - - kmol - -
    pA\pA - - pA - -
    nA\nA - - nA - -
    uA\uA - - - - µ - A + + + 4 + m - -
    mA\mA - - mA - -
    A\A - - A - -
    kA\kA - - kA - -
    ul\ul - - - - µ - l + + + + + + + + + + ( + + × + 2 + 3 + 4 + + ) + + + m + + + + + + × + + + 2 + m - -
    ml\ml - - ml - -
    l\l - - l - -
    hl\hl - - hl - -
    uL\uL - - - - µ - L + + + 3 + m - -
    mL\mL - - mL - -
    L\L - - L - -
    hL\hL - - hL - -
    mHz\mHz - - mHz - -
    Hz\Hz - - Hz - -
    kHz\kHz - - kHz - -
    MHz\MHz - - MHz - -
    GHz\GHz - - GHz - -
    THz\THz - - THz - -
    mN\mN - - mN - -
    N\N - - N - -
    kN\kN - - kN - -
    MN\MN - - MN - -
    Pa\Pa - - Pa - -
    kPa\kPa - - kPa - -
    MPa\MPa - - MPa - -
    GPa\GPa - - GPa - -
    mohm\mohm - - - - m - + + + 4 + m - -
    kohm\kohm - - - - k - + + + + + + + + × + 2 + 3 + 4 - -
    Mohm\Mohm - - - - M - + m + + + + + + + + + + ( + + × + 2 + 3 + 4 + + ) + + + + + m + 3 - -
    pV\pV - - pV - -
    nV\nV - - nV - -
    uV\uV - - - - µ - V + + + + + + + + × + 2 + 3 + 4 - -
    mV\mV - - mV - -
    V\V - - V - -
    kV\kV - - kV - -
    W\W - - W - -
    uW\uW - - - - µ - W + + + m + 3 - -
    mW\mW - - mW - -
    kW\kW - - kW - -
    MW\MW - - MW - -
    GW\GW - - GW - -
    J\J - - J - -
    kJ\kJ - - kJ - -
    eV\eV - - eV - -
    meV\meV - - meV - -
    keV\keV - - keV - -
    MeV\MeV - - MeV - -
    GeV\GeV - - GeV - -
    TeV\TeV - - TeV - -
    kWh\kWh - + + +

    + + + + + 4.6.6 + subsubsection 4.6.6 + 4.6.6 + §4.6.6 + + <tag close=" ">4.6.6</tag>[list|product|range]-[close|open]-bracket + +

    + + + + + + + + + + + + + [ + + × + 5 + + + 10 + 3 + + + , + + × + 7 + + + 10 + 3 + + + , + + × + 9 + + + 10 + 3 + + + and + + × + 1 + + + 10 + 4 + + + ] + + + s + + + + + + + + + + + + + + { + + × + + × + 5 + + + 10 + 3 + + + + × + 7 + + + 10 + 3 + + + + × + 9 + + + 10 + 3 + + + + × + 1 + + + 10 + 4 + + + + } + + + m + + + + + + + + + + + + + + + + 2 + to + 4 + + + + °C + + + + + + - - kW - h + + + + + + + + + × + 5 + + + 10 + 3 + + + , + + × + 7 + + + 10 + 3 + + + , + + × + 9 + + + 10 + 3 + + + and + + × + 1 + + + 10 + 4 + + + + + + + + + + × + + × + + × + + × + 5 + + + 10 + 3 + + + + × + 7 + + + 10 + 3 + + + + + × + 9 + + + 10 + 3 + + - -

    F\F - - F - -
    fF\fF - - fF - -
    pF\pF - - pF - -
    K\K - - K - -
    dB\dB - - dB - -
    - - - Table 8 - 8 - Table 8 - - 8Binary prefixes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 8Binary prefixes
    UnitMacroSymbolPower
    kibi\kibi - - Ki - - - - - - + + × + 1 + - 2 - 10 + 10 + 4 - - -
    mebi\mebi - - Mi - - - - - - - - 2 - 20 + + + + + + + + + + + + - + + ( + 2 + to + 4 + ) + + + °C + + +

    + + + + + 4.6.7 + subsubsection 4.6.7 + 4.6.7 + §4.6.7 + + <tag close=" ">4.6.7</tag>[list|product|range]-independent-prefix + +

    a + + + + + + - -

    gibi\gibi - - Gi - - - + + + + + × + 1 + + + 10 + 3 + + + W + + to + + + + × + 1 + + + 10 + 9 + + + W + + + + + + + - - - - 2 - 30 + + + + + + + + + × + 1 + + + 10 + 3 + + + W + + and + + + + × + 1 + + + 10 + 9 + + + W + + + + + + + + × + + + + × + 1 + + + 10 + 3 + - + W - -
    tebi\tebi - - Ti - - - - - - - - 2 - 40 + + + + × + 1 + + + 10 + 9 + - + W - -
    pebi\pebi - - Pi - - - + + + b + + - - - - 2 - 50 - - + + + - -
    exbi\exbi - - Ei - - - + + + + + × + 1 + + + 10 + 3 + + + W + + to + + + + × + 1 + + + 10 + 9 + + + W + + + + + + + - - - - 2 - 60 + + + + + + + + + × + 1 + + + 10 + 3 + + + W + + and + + + + × + 1 + + + 10 + 9 + + + W + + + + + + + + × + + + + × + 1 + + + 10 + 3 + - + W - -
    zebi\zebi - - Zi - - - - - - - - 2 - 70 + + + + × + 1 + + + 10 + 9 + - + W - -
    yobi\yobi - - Yi - - - + + + c + + - - - - 2 - 80 + + + + + + + + 1000 + W + + to + + + 1 000 000 000 + W - + + + + + + + + + + - -
    - - - 2.1 - 2.1 - §2.1 - - <tag close=" ">2.1</tag>Using units - -

    - - kg - - - - - kg - - - - - - - km - - - - - - - - kg - -

    -
    - -

    - - a - - - - a - - - - a - - - - e - - - - e - -

    -
    - -

    - - a - - - - a - -

    -
    - -

    - - km - -

    -
    - -

    - - - - kg - m - - - s + + + + 1 + kW + + to + + + 1 000 000 + kW + + + + + + + - - - 1 + + + - - - - - - - - kg - m - - - s + + + + 1000 + W + + and + + + 1 000 000 000 + W + + + + + + + - - - 1 + + + - - - - - - - - kg - m - - - s - - - - 1 + + + + 1 + kW + + and + + + 1 000 000 + kW + + + + + + + + × + + + 1000 + W + + + + 1 000 000 000 + W - - - - - - - kg - m - - - s - - - - 1 + + + + + × + + + 1 + kW + + + + 1 000 000 + kW - - - - - - - kg - m - - - s + + d + + - - - 1 + + + - - - -

    -
    - -

    - - - - - - kg - - m - - - s + + + + 1 + kW + + to + + + 1 + GW + + + + + + + - - - 1 + + + + + + + + 1 + kW + + and + + + 1 + GW + + + + + + + + × + + + 1 + kW + + + + 1 + GW - - - - - - - kg - - - m + +

    +
    + + + + 4.6.8 + subsubsection 4.6.8 + 4.6.8 + §4.6.8 + + <tag close=" ">4.6.8</tag>prefix-mode = combine-exponent + +

    + + + + 1700 + g - - - s - - - - 1 + + + + + + + × + 1.7 + + + 10 + 3 + + g - - - - - - - kg - - - m + + + + + + + 1700 + g - - - s - - - - 1 - + + + + + + 1.7 + kg - - - - - - - kg - m - - - - - s - - - - 1 + + + + + + + + + × + 1.700 + + + 10 + 3 + g - - - - - - - kg - m - - - - - s - - - - 1 + + + + + + + × + 1.7 + + + 10 + 3 + g - - -

    -
    - + +

    + +
    +
    + + + 4.7 + subsection 4.7 + 4.7 + §4.7 + + <tag close=" ">4.7</tag>Complex Numbers + - 2.1.1 - 2.1.1 - §2.1.1 + 4.7.1 + subsubsection 4.7.1 + 4.7.1 + §4.7.1 - <tag close=" ">2.1.1</tag>forbid-literal-units, inter-unit-product - -

    + 4.7.1complex-mode + +

    - - - - F - 2 + + + 1 + + + + i - lm - cd - + + + + + + + + + + + 1 + + + + 45 + ° + + + + + - - - - F - 2 + + + 1 + + + + i - lm - cd - + - - - - - F - 2 + + + + 0.71 + + + 0.71 + i - lm - cd -

    + + + + + + + + + + + 1.414 213 562 373 1 + + + + 45 + ° + + + + + + + + + + + + + + + 1 + + + + 45 + ° + + + + +

    - + - 2.1.2 - 2.1.2 - §2.1.2 + 4.7.2 + subsubsection 4.7.2 + 4.7.2 + §4.7.2 - <tag close=" ">2.1.2</tag>per-mode, per-symbol, bracket-unit-denominator - -

    + 4.7.2input-complex-roots + +

    - - J - - - mol - - - - 1 - + + + 9.99 + + + 88.8 + i - - - K - - - - 1 - + + + + + + + + 9.99 + + + 88.8 + i + + + +

    +
    +
    + + + 4.7.3 + subsubsection 4.7.3 + 4.7.3 + §4.7.3 + + <tag close=" ">4.7.3</tag>output-complex-root + +

    + + + + + 1 + + + 2 + i - + - - m - - - s - - - - 2 - + + + 1 + + + 2 + i - + - - J - - - mol - K + + + 1 + + + 2 + i - + - - - - J - - - mol - - - - 1 - - + + + 1 + + + 2 + j - K - +

    +
    +
    + + + 4.7.4 + subsubsection 4.7.4 + 4.7.4 + §4.7.4 + + <tag close=" ">4.7.4</tag>complex-root-position + +

    - - m - - - s - 2 + - + 67 + + + 0.9 + i - + - - A - - - mol - - - - 1 - + - + 67 + + + i + 0.9 - s - + - - A - s - - - mol - - - - 1 - + - + 67 + + + 0.9 + i

    - -

    + + + + 4.7.5 + subsubsection 4.7.5 + 4.7.5 + §4.7.5 + + 4.7.5complex-angle-unit, complex-symbol-angle, complex-symbol-degree + +

    - / - J - + + - - - + + + - - ( - - - mol - K + + + 1 + + + + 1 + ° - ) - + + - + - / - m - - - s - 2 - + + + + + + + + + + 1 + + 1 + + + - + -  div  - J - + + - - - + + + - - ( - - - mol - K + + + 1 + + + + 1 + d - ) - + + - +

    +
    +
    + + + 4.7.6 + subsubsection 4.7.6 + 4.7.6 + §4.7.6 + + <tag close=" ">4.7.6</tag>print-complex-unity + +

    - / - J - - - mol - K + + + + + i + - - + - / - - / - J - mol + + + + 1 + i - K + - - + - / - J - - - - - - - - ( - - - mol - K - - ) - - + + + + 1 + i + +

    - - +
    +
    + + + 4.7.7 + subsubsection 4.7.7 + 4.7.7 + §4.7.7 + + <tag close=" ">4.7.7</tag>Other tests + +

    Real numbers as complex: + + 1 + + + + 1 + + - - J - - - mol - K - + - + 1 - - -

    + + + 1 + + - / - J - - - - - - - - ( - - - mol - K - - ) - - + - + 1 - + + + 1 + + - - J - - - mol - K + - + + - + 1 + + + + + × + 2.068 231 071 102 14 + + + 10 + + - + 13 + + + + i -

    - - + - / - J - - - - - - - - ( - - - mol - K + + + 1 + + + + × + 4.136 462 142 204 29 + + + 10 + + - + 13 + - ) - - + + i + - - - - +

    +
    + +

    - - / - J - - - - - - - - ( - - - mol - K - - ) - - - + + + + + + + + + 1 + + 1.570 796 326 794 9 + + - - +

    - +
    + + + 4.8 + subsection 4.8 + 4.8 + §4.8 + + <tag close=" ">4.8</tag>Angles + - 2.1.3 - 2.1.3 - §2.1.3 + 4.8.1 + subsubsection 4.8.1 + 4.8.1 + §4.8.1 - <tag close=" ">2.1.3</tag>sticky-per - -

    + 4.8.1angle-mode + +

    - - - Pa - - - Gy - - - - 1 - + + + + + 2.67 + ° - H - + - + - - - Pa - - - Gy + + + + - - - 1 + + 2 + ° - - - - H - - - 1 + + 3 + + + + + 4 + - + -

    -
    -
    - - - 2.1.4 - 2.1.4 - §2.1.4 - - <tag close=" ">2.1.4</tag>power-font - -

    + - - - m - - - s + + + + - - - 2 + + 2 + ° + + + + 40 + + + + + 12 + - + - + - - - m - - - s + + + + - - - 2 + + 2 + ° + + + + 3 + + + + + 4 + - + -

    -
    -
    - - - 2.1.5 - 2.1.5 - §2.1.5 - - <tag close=" ">2.1.5</tag>literal-superscript-as-power - -

    + - - - m + + - - s - 2 + + 2.67 + ° - + - + - - - m + + - - s - 2 + + 2.051 111 111 111 111 1 + ° - + -

    +

    - + - 2.1.6 - 2.1.6 - §2.1.6 + 4.8.2 + subsubsection 4.8.2 + 4.8.2 + §4.8.2 - <tag close=" ">2.1.6</tag>qualifier-mode, qualifier-phrase - -

    + 4.8.2angle-separator + +

    - - - - - - - kg - pol - - 2 - - - - - - mol - cat + + + + + + + 6 + ° - - - 1 + + 7 + - - - - h - - - 1 + + 6.5 + - + - + - - - - - + + + + + - kg - - - - ( - pol - ) - - + 6 + ° - 2 - - - - + - mol - - - - ( - cat - ) - - + 7 + - - - 1 + + 6.5 + - - - h + + +

    +
    +
    + + + 4.8.3 + subsubsection 4.8.3 + 4.8.3 + §4.8.3 + + <tag close=" ">4.8.3</tag>fill-angle-[degrees|minutes|seconds] + +

    + + + + + - - - - 1 + + 1 + ° - + - + - - - - - - - kg - pol + + + + - + + + 2 + - 2 - - - - - mol - cat - + + + + + + + + - - - - 1 + + 3 + - - - h + + + + + + + + + + - - - - 1 + + 1 + ° - + - + - - - - - - - - ( - - - kg - pol - - ) - - - 2 + + + + - + + + + + 0 + ° + + + + 2 + + + - - - - - - ( - - - mol - cat - - ) - - + + + + + + + + - - - - 1 + + + + 0 + ° + + + + 3 + + - - - h + + + + + + + + + + + - - - - 1 + + + + 1 + ° + + + + 0 + + - + - + - dBi + + + + - + + + 2 + + + + -

    -
    - -

    + - - - - - - - - ( - kgofpol - ) - - - 2 - - - - - - - ( - molofcat - ) - - + + + + - - - - 1 + + + + 0 + + + + + 3 + + - - - h + + + + + + + + + + + - - - - 1 + + + + 1 + ° + + + + 0 + + - + - + - - - - - - - - ( - kgbypol - ) - - - 2 - - - - - - - ( - molbycat - ) - - + + + + - - - - 1 + + + + 2 + + + + + 0 + + - - - h + + + + + + + + - - - - 1 + + 3 + - + + + + + + + + + + 45.697 + ° + + + + + + + + + + 45.697 + ° + + -

    +

    - + - 2.1.7 - 2.1.7 - §2.1.7 + 4.8.4 + subsubsection 4.8.4 + 4.8.4 + §4.8.4 - <tag close=" ">2.1.7</tag>prefixes-as-symbols - -

    + 4.8.4angle-symbol-[degree|minute|second] + +

    - - - ml - - - mol + + + + - - - 1 + + 6 + ° - - dA - - - - - - - - - 10 - - - - - - 4 - - - - - - l - - - mol - - - - 1 - + + + 7 + + + + + 6.5 + - A - + - + + - - - - - 10 - - - - - - 1 - - - - - - - - kg - 2 + + + + + + + 6 + d + + + + 7 + m + + + + 6.5 + s - s - + - +

    +
    +
    + + + 4.8.5 + subsubsection 4.8.5 + 4.8.5 + §4.8.5 + + <tag close=" ">4.8.5</tag>angle-symbol-over-decimal + +

    - - - - - Mg - 2 + + + + + 45.697 + ° - ds - + - + - - - - - 10 - 5 - - - - - - kg - 2 + + + + + + + 6 + ° + + + + 7 + - s - - - - - - - - - - + - µ - g + 6.5 + - 2 - ds - + - + - - - - - 10 - - - - - - 19 - - - - - - - - kg - 2 - - s + + + + + 45 + . + ° + 697 - + - + - - - - - Mg + + + + - - - 2 + + 6 + ° - - ds - - - - - - - - - 10 - - - - - - 7 - - - - - - - - kg - - - - 2 - + + + 7 + + + + + 6 + . + + 5 - s - + - + - - - - - + + + + + - µ - g + 6 + ° - - - 2 + + 7 + - - ds - - - - - - - - - 10 - 17 - - - - - - kg - - - - 2 - + + + 6 + . + + 5 - s - + -

    +

    - - - 2.1.8 - 2.1.8 - §2.1.8 - - <tag close=" ">2.1.8</tag>parse-units -
    - + - 2.2 - 2.2 - §2.2 + 4.10 + subsection 4.10 + 4.10 + §4.10 - <tag close=" ">2.2</tag>Numbers with units - + <tag close=" ">4.10</tag>Using Units + - 2.2.1 - 2.2.1 - §2.2.1 + 4.10.1 + subsubsection 4.10.1 + 4.10.1 + §4.10.1 - <tag close=" ">2.2.1</tag>allow-number-unit-breaks - - - - 2.2.2 - 2.2.2 - §2.2.2 - - <tag close=" ">2.2.2</tag>number-unit-product - -

    - - - - 2.67 - F - - - - - - - 2.67 - F - - - - - - - 2.67 - F - - - - - - - 2.67 - F - - - + 4.10.1inter-unit-product + +

    - - 2.67 - F + + + + F + 2 + + lm + cd - + - × - 2.67 - F + + + + F + 2 + + lm + cd - + - × - 2.67 - F + + + + F + 2 + + lm + cd -

    +

    - + - 2.2.3 - 2.2.3 - §2.2.3 + 4.10.2 + subsubsection 4.10.2 + 4.10.2 + §4.10.2 - <tag close=" ">2.2.3</tag>multi-part-units - -

    + 4.10.2per-mode, [display|inline]-per-mode, per-symbol, fraction-command, bracket-unit-denominator + +

    - - - - - ( - - ± - 12.3 - 0.4 - - ) - - - kg - - - - - - - - ± - 12.3 - 0.4 - - kg - - - - - - ± - - - 12.3 - kg - - - - 4 - kg - - - - - - - - - ± - 12.3 - 0.4 - - kg - - -

    -
    - -

    - - - × - - ± - 1.234 - 0.005 + + J + + + mol + + - + 1 + - + - 10 + K - - 4 + 1 - + - - - × - - ± - 1.234 - 0.005 - - - - 10 - - - - 4 - + + m + + + s + + - + 2 - m -

    -
    -
    - - - 2.2.4 - 2.2.4 - §2.2.4 - - <tag close=" ">2.2.4</tag>product-units - -

    + - × - - - 2 - m - - - - 3 - m - - - - 4 - m + + J + + + mol + K - - - - - - - - ( - - × - 2 - 3 - 4 - - ) - - - m - - - + - - - - - ( - - × - 2 - 3 - 4 + + + + J + + + mol + + - + 1 - ) - - - - - m - 3 + + K - + - - - × - 2 - 3 - 4 - - - - m - 3 + + m + + + s + 2 - + - × - - - 2 - m - - - - 3 - m - - - - 4 - m + + A + + + mol + + - + 1 + + s - + - - - × - 2 - 3 - 4 + + A + s + + + mol + + - + 1 + - m -

    +

    -
    - - - 2.2.5 - 2.2.5 - §2.2.5 - - <tag close=" ">2.2.5</tag>list-units,range-units - -

    - - - - - - - - - - - - - 2 - T - - , - - - 4 - T - - , - - - 6 - T - - and - - - 8 - T - - - - - + +

    - - + / + J + - - - - - + + + ( - 2 - , - 4 - , - 6 - and - 8 + + + mol + K + ) - T - + - - - - - - - + + / + m + + + s + 2 - - - - 2 - T - - , - - - 4 - T - - , - - - 6 - T - - and - - - 8 - T - - - + - + - - + div + J + - - - - - + + + - 2 - , - 4 - , - 6 - and - 8 + ( + + + mol + K + + ) - T - - - - - - - - - - - - 2 - °C - - to - - - 4 - °C - - - - - + - - - - - - - - - ( - 2 - to - 4 - ) - - - °C + / + J + + + mol + K + - + + - - - - - + + / + + / + J + mol - - - - 2 - °C - - to - - - 4 - °C - - - + K + - +

    +
    + +

    - - + + 10 + + + m - - - + - + 1 - - 2 - to - 4 - - - °C + -

    -
    -
    - - - 2.2.6 - 2.2.6 - §2.2.6 - - <tag close=" ">2.2.6</tag>exponent-to-prefix - -

    + - - 1700 - g + + 20 + + / + m + s + - + - - - × - 1.7 - + + 30 + + + J + - 10 - 3 + mol + + - + 1 + + + + + K + + - + 1 + - g - - +

    +
    + +

    - - 1700 - g + / + J + + + + + + + + ( + + + mol + K + + ) + + - +

    + + - - - × - 1.7 - - - 10 - 3 - + + J + + + mol + K - g - - - + + +

    - - 1700 - g + / + J + + + + + + + + ( + + + mol + K + + ) + + - + - - - × - 1.7 - - - 10 - 3 - + + J + + + mol + K - g -

    -
    -
    -
    -
    -
    - - 3 - 3 - §3 - - <tag close=" ">3</tag>Tabular material - - - Table 9 - 9 - Table 9 - - 9Standard behaviour of the S column type. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 9Standard behaviour of the S column type.
    Some Values
    - - 2.3456 - -
    - - 34.2345 - -
    - - - - - 6.7835 - - -
    - - 90.473 - -
    - - 5642.5 - -
    - - - × - - - 1.2 - - - - - 10 - 3 - - - -
    - - - - 10 - 4 - - -
    - - - Table 10 - 10 - Table 10 - - 10Detection of surrounding material in an S column. - - - - - - - - - - - - - - - - - - - -
    Table 10Detection of surrounding material in an S column.
    Some Values
    - - 12.34 - -
    - - 975.31 - -
    - - 44.268 - - a
    - - - Table 11 - 11 - Table 11 - - 11Controlling complex alignment with the tablenum macro. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 11Controlling complex alignment with the tablenum macro.
    HeadingHeading
    InfoMore info
    InfoMore info
    - - 12.34 - -
    - - 333.5567 - -
    - - 4563.21 - -
    HeadingHeading
    - - 88.999 - - aaa
    bbb
    - - 33.435 - - ccc
    ddd
    - - - Table 12 - 12 - Table 12 - - 12Units in tables. - - - - - - - - - - - - - - - - - - - -
    Table 12Units in tables.
    Unit
    - - - - - - m - 2 +

    + + + + + / + J + + + + + - - - s - - - - 1 + + ( + + + mol + K - - - -
    - - Pa - -
    - - + ) + + + + + + + + + + + / + J + - - - + + + - m - . - - - s - - - - 1 - + ( + + + mol + K + ) - -
    - - - Table 13 - 13 - Table 13 - - 13The s column processes everything. - - - - - - - - - - - - - - - - - - - -
    Table 13The s column processes everything.
    UnitUnit
    - - - - m + + + + + + +

    Other tests: + + + / + + + m + L + + s + + + + + + + J + over + + + mol + K + + + +

    +
    + + + + 4.10.3 + subsubsection 4.10.3 + 4.10.3 + §4.10.3 + + <tag close=" ">4.10.3</tag>per-symbol-script-correction + +

    + + + / + + + cm 3 - -

    - - - - m + g + + + + + + / + + + cm 3 - -
    - - kg - - - - kg - -
    - - - 3.0.1 - 3.0.1 - §3.0.1 - - <tag close=" ">3.0.1</tag>table-parse-only - + g + + +

    + + + - Table 14 - 14 - Table 14 + 4.10.4 + subsubsection 4.10.4 + 4.10.4 + §4.10.4 - 14Parsing without aligning in an S column. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 14Parsing without aligning in an S column.
    Decimal-centredSimple centring
    - - 12.345 - - - - 12.345 - -
    - - 6.78 - - - - 6.78 - -
    - + 4.10.4sticky-per + +

    + + + + Pa + + + Gy - - - - - 88.8 - - - - ( - 9 - ) - - - + - + 1 - -

    - + + H + + + + + + + Pa + + + Gy - - - - - 88.8 - - - - ( - 9 - ) - - - - - -
    - - - × - - - 4.5 - - - - - 10 - 3 - + - + 1 - - - - - × - - - 4.5 - - - - - 10 - 3 - + + + + H + + - + 1 - -
    -
    - - - 3.0.2 - 3.0.2 - §3.0.2 - - <tag close=" ">3.0.2</tag>table-number-alignment - - - Table 15 - 15 - Table 15 - - 15Aligning the S column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 15Aligning the S column.
    Some ValuesSome ValuesSome ValuesSome Values
    - - 2.3456 - - - - 2.3456 - - - - 2.3456 - - - - 2.3456 - -
    - - 34.2345 - - - - 34.2345 - - - - 34.2345 - - - - 34.2345 - -
    - - 56.7835 - - - - 56.7835 - - - - 56.7835 - - - - 56.7835 - -
    - - 90.473 - - - - 90.473 - - - - 90.473 - - - - 90.473 - -
    -
    - - - 3.0.3 - 3.0.3 - §3.0.3 - - <tag close=" ">3.0.3</tag>table-figures-decimal, table-figures-exponent,table-figures-integer,table-figures- -uncertainty - + + + +

    + + + - Table 16 - 16 - Table 16 + 4.10.5 + subsubsection 4.10.5 + 4.10.5 + §4.10.5 - 16Reserving space in S columns. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 16Reserving space in S columns.
    ValuesValuesValuesValuesValuesValues
    - - 2.3 - - - - 2.3 - - - + 4.10.5qualifier-[mode|phrase] + +

    + + + + + + + + kg + pol + + 2 + + + + + + mol + cat + - - 2.3 - - + - + 1 + + + + + h + + - + 1 + + + + + + + + + + + + + kg + + ( - 5 + pol ) - -

    - - - ± - - - 2.3 - - - 0.5 - - - - - 2.3 - - - - - × - - - 2.3 - - - - - 10 - 8 - - - -
    - - 34.23 - - - - 34.23 - - - - - - 34.23 - - + 2 + + + + + + mol + + ( - 4 + cat ) - - - - ± - 34.23 - 0.04 + - + 1 - - - - 34.23 - - - - 34.23 - -
    - - 56.78 - - - - 56.78 - - - + + + + h - - 56.78 - - - - ( - 3 - ) - - + - + 1 + + + + + + + + + + + + + kg + pol + + 2 + + + + + + mol + cat - - - - ± - 56.78 - 0.03 + - + 1 - - - + + + + h - - - 56.78 + - + 1 - - - - - × - - - 56.78 - - - - - 10 - 3 - + + + + + + + + + + + + + ( + + + kg + pol + + ) + + + 2 + + + + + + + ( + + + mol + cat + + ) + + + + - + 1 - -
    - - 3.76 - - - - 3.76 - - - + + + + h - - 3.76 - - + - + 1 + + + + + + + dBi + + + + + + + + + + kg + pol + + 2 + + + + + + mol + cat + + + - + 1 + + + + + h + + - + 1 + + + + + + + + + + + + + kg + + ( - 2 + pol + ) + + + + 2 + + + + + + mol + + + + ( + cat ) - - - - ± - 3.76 - 0.02 + - + 1 - - - + + + + h - ± - 3.76 + - + 1 - - - - - - 10 - 6 + + + + + + dBi + + + + + + + + + + + + ( + + + kg + pol + + ) + + + 2 + + + + + + + ( + + + mol + cat + + ) + + + + - + 1 - -
    -
    - - - 3.0.4 - 3.0.4 - §3.0.4 - - <tag close=" ">3.0.4</tag>table-comparator - - - Table 17 - 17 - Table 17 - - 17Reserving space for comparators in S columns. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 17Reserving space for comparators in S columns.
    ValuesValues
    - - 2.3 - - - + + + + h - < - - - - - - × - - - 2.3 - - - - - 10 - 8 - + - + 1 + + + + + + + + + + + + + + ( + + + kg + of + pol - + ) + + + 2 + + + + + + + ( + + + mol + of + cat + + ) + + + + - + 1 - -
    - - 34.23 - - - + + + + h - = - - + - + 1 + + + + + + + + + + + + + + + + ( + kgbypol + ) + + + 2 + + + + + + + ( + molbycat + ) + + + + - + 1 + + + + + h + + - + 1 + + + + +

    + + +

    + + + + + + kg + + + + ( + pol + ) + + + + 2 + + + + + + + + + kg + + + + ( + pol + ) + + + + 2 + + + + + + + + + + ( + - - 34.23 + kg + pol - - -

    - - 56.78 - - - + ) + + + 2 + + + + + + + + + + ( + + + kg + pol + + ) + + + 2 + + + + + + + + + + ( + kgpol + ) + + + 2 + + + + + + + + + + ( + kgpol + ) + + + 2 + + +

    + + + + + 4.10.6 + subsubsection 4.10.6 + 4.10.6 + §4.10.6 + + <tag close=" ">4.10.6</tag>power-half-as-sqrt + +

    + + + + Hz + 0.5 + + + + + + + Hz + + +

    +
    +
    + + + 4.10.7 + subsubsection 4.10.7 + 4.10.7 + §4.10.7 + + <tag close=" ">4.10.7</tag>parse-units + +

    + + + + 300 + MHz + + + + + + + 300 + MHz + + + + + + + m + + + s - - - - - - - × - - - 56.78 - - - - - 10 - 3 - - - + - + 1 - -

    - - 3.76 - - - + + + + + + + / + m + s + + +

    + + + + + 4.10.8 + subsubsection 4.10.8 + 4.10.8 + §4.10.8 + + <tag close=" ">4.10.8</tag>forbid-literal-units + +

    + + + / + m + s + + + + + + + m + + + s - - - - - - - - 10 - 6 - - + - + 1 - -

    -
    - + + + +

    + +
    + + + 4.10.9 + subsubsection 4.10.9 + 4.10.9 + §4.10.9 + + <tag close=" ">4.10.9</tag>unit-font-command + +

    + + lm + + + + lm + +

    +
    +
    + + - 3.0.5 - 3.0.5 - §3.0.5 + 4.11 + subsection 4.11 + 4.11 + §4.11 - <tag close=" ">3.0.5</tag>table-format - + <tag close=" ">4.11</tag>Quantities + - Table 18 - 18 - Table 18 + 4.11.1 + subsubsection 4.11.1 + 4.11.1 + §4.11.1 - 18Using the table-format option. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 18Using the table-format option.
    ValuesValuesValuesValuesValues
    - - 2.3 - - - - 2.3 - - - - - - 2.3 - - - - ( - 5 - ) - - - - - - - 2.3 - - - - - × - - - 2.3 - - - - - 10 - 8 + 4.11.1allow-quantity-breaks + + +

    X         + + + + 10 + m + + +

    +

    X         + + + + 10 + m + + +

    +

    X         + + + + 10 + m + + +

    +

    X         + + + + 10 + m + + +

    + + + + + + 4.11.2 + subsubsection 4.11.2 + 4.11.2 + §4.11.2 + + <tag close=" ">4.11.2</tag>quantity-product + +

    + + + + 2.67 + F + + + + + + + 2.67 + F + + + + + + + 2.67 + F + + + + + + + 2.67 + F + + + + + + + 2.67 + F + + + + + + × + 2.67 + F + + + + + + × + 2.67 + F + + + also + + + × + + + + ( + + ± + 3.7 + 4.5 + ) + + + F + + +

    +
    +
    + + + 4.11.3 + subsubsection 4.11.3 + 4.11.3 + §4.11.3 + + <tag close=" ">4.11.3</tag>prefix-mode, extract-mass-in-kilograms + +

    + + + + + × + 1 + + + 10 + 3 - -

    - - 34.23 - - - - 34.23 - - - - - - 34.23 - - - - ( - 4 - ) - - - - - - - 34.23 - - - - 34.23 - -
    - - 56.78 - - - - 56.78 - - - - - - 56.78 - - - - ( - 3 - ) - - - - - - - - - - 56.78 + + + + m + s + + + + + + + + 1 + + + km + s + + + + + + + + 10 + + + + + kg + 2 - - - - - × - - - 56.78 - - - - - 10 - 3 + ds + + + + + + + + + × + 10 + + + 10 + + - + 1 - -
    - - 3.76 - - - - 3.76 - - - - - - 3.76 - - - - ( - 2 - ) - - - - - - - - ± - 3.76 + + + + + + kg + 2 - - - - + s + + + + + + + + + × + 7.5 + 10 - 6 - - -
    - - - - 3.0.6 - 3.0.6 - §3.0.6 - - <tag close=" ">3.0.6</tag>table-space-text-pre, table-space-text-post - - - Table 19 - 19 - Table 19 - - 19Text before and after numbers. - - - - - - - - - - - - - - - - - - - - -
    Table 19Text before and after numbers.
    Values
    - - 2.3456 - -
    - - 34.2345 - - a
    - - 56.7835 - -
    now  90.473
    -
    - - - 3.0.7 - 3.0.7 - §3.0.7 - - <tag close=" ">3.0.7</tag>table-align-comparator, table-align-exponent, table-align-uncertainty - - - Table 20 - 20 - Table 20 - - 20The table-align-exponent option - - - - - - - - - - - - - - - - - - - -
    Table 20The table-align-exponent option
    HeaderHeader
    - - - × - - - 1.2 - - - - - 10 + + - 3 - - - - - × - 1.2 - - - 10 - 3 - + + kg + + + + + + + + + 10 + + + + + kg + 2 - -
    - - - × - - - 1.234 - - - - - 10 - 56 - + ds + + + + + + + + + × + 10 + + + 10 + 5 - - - - - × - 1.234 - - - 10 - 56 - + + + + + + g + 2 - -
    - - - Table 21 - 21 - Table 21 - - 21The table-align-uncertainty option - - - - - - - - - - - - - - - - - - - -
    Table 21The table-align-uncertainty option
    HeaderHeader
    - + s + + + + + + + + 7.5 + g + + +

    + + +

    + + + + ml + + + mol - ± - - - 1.2 - - - 0.1 + - + 1 + + + dA + + + + + + + ml + + + mol + + - + 1 + + + dA + + + + + + + + + kg + 2 + + ds + + + + + + + + + Mg + 2 + + ds + + + + + + + + + Mg + 2 + + ds + + + + + + + + + + + µ + g - -

    - - - ± - 1.2 - 0.3 + 2 + + ds + + + + + + + + + + + µ + g - -
    - + 2 + + ds + + + + + + + + + Mg - ± - 1.234 - 0.005 + - + 2 - - - + + ds + + + + + + + + + Mg - ± - 1.234 - 0.005 + - + 2 - -
    - - - Table 22 - 22 - Table 22 - - 22The table-align-comparator option - - - - - - - - - - - - - - - - - - - -
    Table 22The table-align-comparator option
    HeaderHeader
    - - - > - - - - - 1.2 - + + ds + + + + + + + + + + + µ + g - - - - > - - 1.2 + - + 2 - -
    - - - < - - - - - 12.34 - + + ds + + + + + + + + + + + µ + g - - - - < - - 12.34 + - + 2 - -
    -
    - + + ds + + +

    + +
    + + + 4.11.4 + subsubsection 4.11.4 + 4.11.4 + §4.11.4 + + <tag close=" ">4.11.4</tag>separate-uncertainty-units + +

    + + + + + + + ( + + ± + 12.3 + 0.4 + + ) + + + kg + + + + + + + + + + ( + + ± + 12.3 + 0.4 + + ) + + + kg + + + + + + ± + + + 12.3 + kg + + + + 4 + kg + + + + + + + + + ± + 12.3 + 0.4 + + kg + + +

    +
    +
    +
    + - 3.0.8 - 3.0.8 - §3.0.8 + 4.12 + subsection 4.12 + 4.12 + §4.12 - <tag close=" ">3.0.8</tag>table-omit-exponent - + <tag close=" ">4.12</tag>Tabular Material + - Table 23 - 23 - Table 23 + 4.12.1 + subsubsection 4.12.1 + 4.12.1 + §4.12.1 - 23The table-omit-exponent option - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 23The table-omit-exponent option
    HeaderHeader / - - - - 10 - 3 - - -
    - - - × - - - 1.2 - + 4.12.1table-alignment-mode + +

    Table

    + + + + Table 12 + Table 12 + 12 + Table 12 + + 12Parsing without aligning in an S column. + + + + + + + + + + + + + + + + + + + + - + + + + + + + +
    Table 12Parsing without aligning in an S column.
    Decimal-centeredSimple centering
    + + 12.345 + + + + 12.345 + +
    + + 6.78 + + + + 6.78 + +
    + + + - + + + 88.8 + + + + ( + 9 + ) + + + - - - 10 - 3 + + + + + - + + + 88.8 + + + + ( + 9 + ) + + + - - - - - - × - - - 1.2 - + +
    + + + × + + + 4.5 + + + + + 10 + 3 + - - - 10 - 3 + + + + + × + 4.5 + + + 10 + 3 + + + +
    + + + + 4.12.2 + subsubsection 4.12.2 + 4.12.2 + §4.12.2 + + <tag close=" ">4.12.2</tag>table-number-alignment + +

    Table

    +
    + + + Table 13 + Table 13 + 13 + Table 13 + + 13Aligning the S column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 13Aligning the S column.
    Some ValuesSome ValuesSome ValuesSome Values
    + + 2.3456 + + + + 2.3456 + + + + 2.3456 + + + + 2.3456 + +
    + + 34.2345 + + + + 34.2345 + + + + 34.2345 + + + + 34.2345 + +
    + + 56.7835 + + + + 56.7835 + + + + 56.7835 + + + + 56.7835 + +
    + + 90.473 + + + + 90.473 + + + + 90.473 + + + + 90.473 + +
    +
    + + + 4.12.3 + subsubsection 4.12.3 + 4.12.3 + §4.12.3 + + <tag close=" ">4.12.3</tag>table-format + +

    Table

    +
    + + + Table 14 + Table 14 + 14 + Table 14 + + 14Reserving space in S columns. + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - + + - - - + + + + + + - + + + - - - -
    Table 14Reserving space in S columns.
    ValuesValuesValuesValuesValuesValues
    + + 2.3 + + + + 2.3 + + + + + + 2.3 + + + + ( + 5 + ) + + + + + + + + ± + + + 2.3 + + + 0.5 + + + + + 2.3 + + + + + × + + + 2.3 + + + + + 10 + 8 + + + +
    + + 34.23 + + + + 34.23 + + + + + + 34.23 + + + + ( + 4 + ) + + - - -
    - - - × - - - 3 - + + + + + ± + 34.23 + 0.04 - - - 10 - 2 + + + + 34.23 + + + + 34.23 + +
    + + 56.78 + + + + 56.78 + + + + + + 56.78 + + + + ( + 3 + ) + + - - - - - - × - - - 3 - + + + + + ± + 56.78 + 0.03 - - - 10 - 2 + + + + + - + 56.78 - - -
    - - - × - - - 1.0 - + + + + + × + + + 56.78 + + + + + 10 + 3 + - - - 10 - 4 + +
    + + 3.76 + + + + 3.76 + + + + + + 3.76 + + + + ( + 2 + ) + + - - - - - - × - - - 1.0 - + + + + + ± + 3.76 + 0.02 - + + + + + ± + 3.76 + + + + + 10 - 4 + 6 - - -
    -
    - - - 3.0.9 - 3.0.9 - §3.0.9 - - <tag close=" ">3.0.9</tag>table-align-text-pre,table-align-text-post - - - - 3.0.10 - 3.0.10 - §3.0.10 - - <tag close=" ">3.0.10</tag>table-auto-round - + + + + + +
    +
    + - Table 24 - 24 - Table 24 + 4.12.4 + subsubsection 4.12.4 + 4.12.4 + §4.12.4 - 24The table-auto-round option. -
    Table 24The table-auto-round option.
    HeaderHeader
    - - 1.2 - - - - 1.200 - -
    - - 1.2345 - - - - 1.235 - -
    - - - - 3.0.11 - 3.0.11 - §3.0.11 - - <tag close=" ">3.0.11</tag>parse-numbers - + <tag close=" ">4.12.4</tag>table-model-setup + + - Table 25 - 25 - Table 25 + 4.12.5 + subsubsection 4.12.5 + 4.12.5 + §4.12.5 - 25Aligning without parsing. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table 25Aligning without parsing.
    Some valuesSome valuesSome valuesSome values
    - - 2.35 - - - - 2.35 - - - - 2.35 - - - - 2.35 - -
    - - 34.234 - - - - 34.234 - - - - 34.234 - - - - 34.234 - -
    - - 56.783 - - - - 56.783 - - - - 56.783 - - - - 56.783 - -
    - - + 4.12.5table-align-[comparator|exponent|uncertainty] + +

    Table

    + + + + Table 15 + Table 15 + 15 + Table 15 + + 15The table-align-exponent option + + + + + + + + + + + + + + + + + + + +
    Table 15The table-align-exponent option
    HeaderHeader
    + + + × + + + 1.2 + + + + + 10 + 3 + + + + + + + × + 1.2 + + + 10 + 3 + + + +
    + + + × + + + 1.234 + + + + + 10 + 56 + + + + + + + × + 1.234 + + + 10 + 56 + + + +
    + +

    Table

    +
    + + + Table 16 + Table 16 + 16 + Table 16 + + 16The table-align-uncertainty option. + + + + + + + + + + + + + + + + + + + +
    Table 16The table-align-uncertainty option.
    HeaderHeader
    + + + ± + + + 1.2 + + + 0.1 + + + + + + ± + 1.2 + 0.3 + + +
    + + + ± + 1.234 + 0.005 + + + + + + ± + 1.234 + 0.005 + + +
    + +

    Table

    +
    + + + Table 17 + Table 17 + 17 + Table 17 + + 17The table-align-comparator option. + + + + + + + + + + + + + + + + + + + +
    Table 17The table-align-comparator option.
    HeaderHeader
    + + + > + + + + + 1.2 + + + + + + + > + + 1.2 + + +
    + + + < + + + + + 12.34 + + + + + + + < + + 12.34 + + +
    + +

    Table

    +
    + + + Table 18 + Table 18 + 18 + Table 18 + + 18Reserving space for comparators in S columns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + +
    Table 18Reserving space for comparators in S columns.
    ValuesValuesValues
    + + 2.3 + + + + + < + + + + + + × + + + 2.3 + + + + + 10 + 8 + + + + + + + + + < + + + × + + + 2.3 + + + + + 10 + 8 + + + + +
    + + 34.23 + + + + + = + + + + + 34.23 + + + + + + + = + + 34.23 + + +
    + + 56.78 + + + + + + + + + + + × + + + 56.78 + + + + + 10 + 3 + + + + + + + + + + + + × + + + 56.78 + + + + + 10 + 3 + + + + +
    + + 3.76 + + + - - - + + + + + + + + 10 + 6 + + - - 3 - , - 762 - - - - - - + + + - - - + + + + + 10 + 6 + - - 3 - , - 762 - - - - - - + +
    + + + + 4.12.6 + subsubsection 4.12.6 + 4.12.6 + §4.12.6 + + <tag close=" ">4.12.6</tag>table-align-text-[before|after] + +

    Table

    +
    + + + Table 19 + Table 19 + 19 + Table 19 + + 19Closing notes up to text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 19Closing notes up to text.
    ValuesValues
    + + 2.3456 + + + + 2.3456 + +
    a + + 4.234 + + a + + 4.234 + +
    b + + 0.78 + + b + + 0.78 + +
    d + + 88 + + d + + 88 + +
    ValuesValues
    + + 2.3456 + + + + 2.3456 + +
    + + 34.234 + + a + + 34.234 + + a
    + + 56.78 + + b + + 56.78 + + b
    + + 90.4 + + c + + 90.4 + + c
    + + 88 + + d + + 88 + + d
    +
    + + + 4.12.7 + subsubsection 4.12.7 + 4.12.7 + §4.12.7 + + <tag close=" ">4.12.7</tag>table-auto-round + +

    Table

    +
    + + + Table 20 + Table 20 + 20 + Table 20 + + 20The table-auto-round option. + + + + + + + + + + + + + + + + + + + +
    Table 20The table-auto-round option.
    HeaderHeader
    + + 1.2 + + + + 1.200 + +
    + + 1.2345 + + + + 1.235 + +
    +
    + + + 4.12.8 + subsubsection 4.12.8 + 4.12.8 + §4.12.8 + + <tag close=" ">4.12.8</tag>parse-numbers + +

    Table

    +
    + + + Table 21 + Table 21 + 21 + Table 21 + + 21Aligning without parsing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + +
    Table 21Aligning without parsing.
    Some valuesSome valuesSome valuesSome values
    + + 2.35 + + + + 2.35 + + + + 2.35 + + + + 2.35 + +
    + + 34.234 + + + + 34.234 + + + + 34.234 + + + + 34.234 + +
    + + 56.783 + + + + 56.783 + + + + 56.783 + + + + 56.783 + +
    + + + + + + + + + 3 + , + 762 + + + + + + + + + + + + + 3 + , + 762 + + + + + + + + + + + + + 3 + , + 762 + + + + + + 3.762 + +
    + - - - + + 2 - - 3 - , - 762 - - - - - - 3.762 - -
    - - - - 2 - - - - - - - 2 - - - - - - - 2 - - - - - - + + + + + + 2 + + + + + + + 2 + + + + + + + 2 + + +
    +
    + + + 4.12.9 + subsubsection 4.12.9 + 4.12.9 + §4.12.9 + + <tag close=" ">4.12.9</tag>drop-exponent + +

    Table

    +
    + + + Table 22 + Table 22 + 22 + Table 22 + + 22The drop-exponent option. + + + + + + + + + + + + + + + + + + + + + + + +
    Table 22The drop-exponent option.
    HeaderHeader / + + + + 10 + 3 + + +
    + + + × + + + 1.2 + + + + + 10 + 3 + + + + + + 1.2 + +
    + + + × + + + 3 + + + + + 10 + 2 + + + + + + 0.3 + +
    + + + × + + + 1.0 + + + + + 10 + 4 + + + + + + 10 + +
    +
    + + + 4.12.10 + subsubsection 4.12.10 + 4.12.10 + §4.12.10 + + <tag close=" ">4.12.10</tag>table-column-width, table-fixed-width + +

    Table

    +
    + + + Table 23 + Table 23 + 23 + Table 23 + + 23Fixed-width columns. + + + + + + + + + + + + + + + + + + + +
    Table 23Fixed-width columns.
    FlexibleFixed
    + + 1.23 + + + + 1.23 + +
    + + 45.6 + + + + 45.6 + +
    + +

    Table

    +
    + + + Table 24 + Table 24 + 24 + Table 24 + + 24Right-aligning under a heading. + + + + + + + + + + + + + - - - -
    Table 24Right-aligning under a heading.
    Long header
    + + 12.33 + +
    + 2 - - -
    -
    - - - 3.0.12 - 3.0.12 - §3.0.12 - - <tag close=" ">3.0.12</tag>table-text-alignment - + + + + + + + + +
    + + 1234 + +
    +
    + - Table 26 - 26 - Table 26 + 4.12.11 + subsubsection 4.12.11 + 4.12.11 + §4.12.11 - 26Aligning text in S columns. -
    Table 26Aligning text in S columns.
    ValuesValuesValues
    - - 992.435 - - - - 992.435 - - - - 992.435 - -
    - - 7734.2344 - - - - 7734.2344 - - - - 7734.2344 - -
    - - 56.7834 - - - - 56.7834 - - - - 56.7834 - -
    - - 3.7462 - - - - 3.7462 - - - - 3.7462 - -
    -
    - - - 3.0.13 - 3.0.13 - §3.0.13 - - <tag close=" ">3.0.13</tag>table-unit-alignment - + <tag close=" ">4.12.11</tag>table-text-alignment, table-alignment + +

    Table

    +
    +
    + + Table 25 + Table 25 + 25 + Table 25 + + 25Aligning text in S columns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 25Aligning text in S columns.
    ValuesValuesValues
    + + 992.435 + + + + 992.435 + + + + 992.435 + +
    + + 7734.2344 + + + + 7734.2344 + + + + 7734.2344 + +
    + + 56.7834 + + + + 56.7834 + + + + 56.7834 + +
    + + 3.7462 + + + + 3.7462 + + + + 3.7462 + +
    +
    + - Table 27 - 27 - Table 27 + 4.12.12 + subsubsection 4.12.12 + 4.12.12 + §4.12.12 - 27Alignment options in s columns. - Table 27Alignment options in s columns. - - - - Right-aligned - Centred text - Left-aligned - - - - - - - - - m - - - s + 4.12.12table-alignment + +
    + + + 4.13 + subsection 4.13 + 4.13 + §4.13 + + <tag close=" ">4.13</tag>Locale Options + +

    + + + + 1.234 + m + + + + + + + + + + 6 + , + 789 + + + m + + +

    +
    +
    + + + 4.14 + subsection 4.14 + 4.14 + §4.14 + + <tag close=" ">4.14</tag>Preamble-only options + +

    These are in a different file. We check that trying to change the options has no effect here:

    +
    + +

    + + + + + + + + + + 1 + , + 2 + and + 3 + + + + + + + × + + × + 1 + 2 + + 3 + + + Table check: + + + Decimal-centered + Simple centering + + + + + + + 12.345 + + + + + 12.345 + + + + + + + 6.78 + + + + + 6.78 + + + + + + + + - - - - 1 + + 88.8 + + + + ( + 9 + ) + + - - - - - - - - m - - - s + + + + + + - - - - 1 + + 88.8 + + + + ( + 9 + ) + + - - - - - - - - m - - - s - - - - 1 + + + + + + + + × + + + 4.5 + + + + + 10 + 3 - - - - - - - - kg - - - - - kg - - - - - kg - - - - - - - - + + + + + + × + 4.5 + + + 10 + 3 + + + + + + +

    +
    +
    +
    +
    + + 10 + section 10 + 10 + §10 + + <tag close=" ">10</tag>Hints for using siunitx + - 3.0.14 - 3.0.14 - §3.0.14 + 10.2 + subsection 10.2 + 10.2 + §10.2 - <tag close=" ">3.0.14</tag>table-alignment - - + <tag close=" ">10.2</tag>Adjusting \litre and \liter + +

    + + L + +

    +
    +
    + - 3.0.15 - 3.0.15 - §3.0.15 + 10.5 + subsection 10.5 + 10.5 + §10.5 - <tag close=" ">3.0.15</tag>table-column-width - + <tag close=" ">10.5</tag>Expanding content in tables + +

    Table

    +
    +
    - Table 28 - 28 - Table 28 + Table 26 + Table 26 + 26 + Table 26 - 28Fixed-width columns. - - - + 26Values as macros in S columns. + + + - - - - + - - - - - - - + + + 1234 + + +
    Table 28Fixed-width columns.Table 26Values as macros in S columns.
    FlexibleFixedFlexibleFixedSome Values
    - - - - m - - - s - - - - 1 - - - - - - - - - m - - - s - - - - 1 - - - - - + - 1.23 - - - - - 1.23 + 12 348.812 34
    - - - - kg - cd - - - + - - - kg - cd - + 12 348.812 34 - - - 45.6 - - - +
    1234 - 45.6 + 8.8 -
    1234 8.8 1234
    - +
    + + + 10.11 + subsection 10.11 + 10.11 + §10.11 + + <tag close=" ">10.11</tag>Special considerations for the <verbatim font="typewriter">\</verbatim><Math mode="inline" tex="\mathrm{kW}\text{\,}\mathrm{h}" text="kilowatt * hour" xml:id="S10.SS11.m1"> + <XMath> + <XMApp> + <XMText meaning="times" role="MULOP" xml:id="S10.SS11.m1.2"> </XMText> + <XMTok class="ltx_unit" meaning="kilowatt" role="ID" xml:id="S10.SS11.m1.1">kW</XMTok> + <XMTok class="ltx_unit" meaning="hour" role="ID" xml:id="S10.SS11.m1.3">h</XMTok> + </XMApp> + </XMath> + </Math> unit + +

    + + + + kW + h + + + + + + + kW + h + + + m + + - + 1 + + + + + + + + + + + + kWh + + + m + + - + 1 + + + + + + + + + kWh + + + m + + - + 1 + + + + + + + + + + cd + + + kW + + - + 1 + + + h + + + + + + + cd + + + kW + + - + 1 + + + + + h + + - + 1 + + + + + + + + + cd + + + kW + + - + 1 + + + + + h + + - + 1 + + + + +

    +
    +
    + + + 10.12 + subsection 10.12 + 10.12 + §10.12 + + <tag close=" ">10.12</tag>Prefixes and small angles + +

    + + + + + × + 1 + + + 10 + + - + 3 + + + + as + + + + + + + 1 + mas + + +

    +
    +
    + + + 10.17 + subsection 10.17 + 10.17 + §10.17 + + <tag close=" ">10.17</tag>Demonstrating prefixes + +

    + + Y + + + + + + + + 10 + 24 + + + + + ab

    +
    +
    From 7916de3daf7d4a9415abff5f44432d75c34dec6c Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:26:20 -0500 Subject: [PATCH 22/35] restrict siV2 tests --- lib/LaTeXML/Util/Test.pm | 12 +++++++++++- t/80_complex.t | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/LaTeXML/Util/Test.pm b/lib/LaTeXML/Util/Test.pm index 43be8d555c..4c8359ab28 100644 --- a/lib/LaTeXML/Util/Test.pm +++ b/lib/LaTeXML/Util/Test.pm @@ -31,6 +31,9 @@ sub latexml_tests { if ($options{texlive_min} && (texlive_version() < $options{texlive_min})) { plan skip_all => "Requirement minimal texlive $options{texlive_min} not met."; return done_testing(); } + if ($options{texlive_max} && ($options{texlive_max} < texlive_version() )) { + plan skip_all => "Requirement maximal texlive $options{texlive_max} not met."; + return done_testing(); } if (!opendir($DIR, $directory)) { # Can't read directory? Fail (assumed single) test. return do_fail($directory, "Couldn't read directory $directory:$!"); } @@ -86,6 +89,7 @@ sub check_requirements { next unless $reqmts; my @required_packages = (); my $texlive_min = 0; + my $texlive_max = 0; my $required_env; if (!(ref $reqmts)) { @required_packages = ($reqmts); } @@ -94,7 +98,8 @@ sub check_requirements { elsif (ref $reqmts eq 'HASH') { @required_packages = (ref $$reqmts{packages} eq 'ARRAY' ? @{ $$reqmts{packages} } : $$reqmts{packages}); $required_env = $$reqmts{env}; - $texlive_min = $$reqmts{texlive_min} || 0; } + $texlive_min = $$reqmts{texlive_min} || 0; + $texlive_max = $$reqmts{texlive_max} || 0; } foreach my $reqmt (@required_packages) { if (pathname_kpsewhich($reqmt) || pathname_find($reqmt)) { } else { @@ -108,6 +113,11 @@ sub check_requirements { diag("Skip: $message"); skip($message, $ntests); return 0; } + if ($texlive_max && ($texlive_max < texlive_version() )) { + my $message = "Maximal texlive $texlive_max requirement not met for $test"; + diag("Skip: $message"); + skip($message, $ntests); + return 0; } elsif ($required_env && !$ENV{$required_env}) { my $message = "$test is only checked in continuous integration. (use make test CI=true)"; diag("Skip: $message"); diff --git a/t/80_complex.t b/t/80_complex.t index 9fc7233bef..c1b106f753 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -16,4 +16,4 @@ latexml_tests("t/complex", packages => 'siunitx.sty', texlive_min => 2015 } siV2 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015 } }); + packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 } }); From fd2cc16aebee5b0da0b7725b0e4cb2d2032f9c62 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:28:10 -0500 Subject: [PATCH 23/35] enable si version checking note that si.xml does not change --- lib/LaTeXML/Package/siunitx.sty.ltxml | 2 +- t/complex/si.pdf | Bin 265321 -> 265321 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/LaTeXML/Package/siunitx.sty.ltxml b/lib/LaTeXML/Package/siunitx.sty.ltxml index 0c301c2884..78e71f3961 100644 --- a/lib/LaTeXML/Package/siunitx.sty.ltxml +++ b/lib/LaTeXML/Package/siunitx.sty.ltxml @@ -22,7 +22,7 @@ use Data::Dumper; # siunitx version 3 was released in May 2021. I'm not sure which is in GitHub's TeXLive 2021 my $FMT_YEAR = Expand(T_CS('\fmtversion'))->toString; $FMT_YEAR =~ s/\D.*//; -my $VERSION_TWO = 1; # ( $FMT_YEAR < 2021 ); # or 2022? +my $VERSION_TWO = ( $FMT_YEAR < 2021 ); # or 2022? # or it was loaded with [=v2] or [=2021-04-09], once issue #2719 is fixed # differences are tested in v2 and v3 files diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 04218a629632cdfe2285a5b1f18d5b9825943a82..47f95bd371a9d51b59bfbdbcaa2f5ee9b1da2ac0 100644 GIT binary patch delta 108 zcmaDkL*V5Mfrb{w7N#xCcfK*38=FtR|BYDz#MsXCop~v@vzx1%fup&piKUaNp@F%X hrKy3Dv$?agfw`fDg@vPulbwPMAtl>iF|pKh0svO?9?Jj# delta 108 zcmaDkL*V5Mfrb{w7N#xCcfK*37#K{y|BYDz#MsXCop~v@v$3hEnVGY>xrwoftC@+R hv!Q{TnWdwPsfnwTlZA_cxt)RyAtl>iF|pKh0su!>9 Date: Thu, 2 Apr 2026 21:32:54 -0500 Subject: [PATCH 24/35] test siunitx preamble-only options --- t/80_complex.t | 3 + t/complex/si_preamble.pdf | Bin 0 -> 68724 bytes t/complex/si_preamble.tex | 62 +++++++++++ t/complex/si_preamble.xml | 213 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 278 insertions(+) create mode 100644 t/complex/si_preamble.pdf create mode 100644 t/complex/si_preamble.tex create mode 100644 t/complex/si_preamble.xml diff --git a/t/80_complex.t b/t/80_complex.t index c1b106f753..c73383e64a 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -14,6 +14,9 @@ latexml_tests("t/complex", si => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015 } + si_preamble => { + env=>'CI', # only runs in continuous integration + packages => 'siunitx.sty', texlive_min => 2015 } siV2 => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 } }); diff --git a/t/complex/si_preamble.pdf b/t/complex/si_preamble.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f8215deb938ed01bd6fbabd09b4b6cd5146e5f2c GIT binary patch literal 68724 zcma&MQ;aT57;gEsciXmY+ctOGwr$(CZQHhO+wR`o=O3JtOwJ@T?^RXm_E}YxJd0F8 zM2wb^jvb10etBdaikX0cz|PPTiiZb^UdF`M%-NiPjg^Vu{~9QIF$-&F6GsAiF>3>7 z6A=?5J7W_lK0YWXXGaqQ8z}e995vavB?g3^x4-Y_62tD-4{N&sphYOic`R~w3WVQWhitm69U5!T3R>>FneMZOvc#GU<2!Um3_bLyv^xbxfr14pHE*N*7W-9Z zt89hMdc%=gPE$^Qrf=oafV8RiFXE=mv@5Eq7Upl+t>F>dy;X~YquQG|#N?+oV%?eBNp6@Q zPhM+VDx#fTnVd23L|%n&u?qo;9|DE+O!BNk)f4#b2 zh>9{&(cJ8d<7CRYWKw456jNp9@p`fgB2W?$q%(#jPc{wj9e_+JaF}dlLICsrIOA06 z*2qhZG4*D*u~Pf~dfm?wt@7v}6WAFm*OvF}+I5OY+zggM7*UrMTZp9I=iHUCOM$V% zV((eBQQGfcwPp4iX(_^re*E*n{j+l@!T1uG9&|PMwl9@pQ{#Ul#{uRnsg7b?D<2Fe zKy&^Y45oZEx=%c4JkfO>qnI+0PS5J=%`Z->PBYq9Ch-Ba|5Cc zX8WEEPY%e2LD_83h{h0>Dy?-|abZ`Io&Az?2>jxUh@pA#wSntop5rD%>7`qCf4(G+V*Az@a zz6COa@W-M3WdPmi63F`&v?U1V9si!#pIa0JfLX`_&MSuczMLBT1+(|*vgr`M_&tw5 ziKmxXr?@pIg>Z5DW9`wW`7e`#`uox3-)<*f-t2F13T|U}e+AVL#HFkFH|w2U4i{a5 zIl2NzIJo`uc-U;(*vPId^tc> z8C!oZ0`>h8d}$l>I4q3+koG|D?yuT6{owHdkh&1fKESD-br|s}?_A!nens!y;)fv| zqCfsC!j}hd%g^`Ai^#_YwDzM|{fUUQ$p~{`7d4`dgKp5a0>u<^%-=!s!Oy z2H@cd`U37R_P_cZSOntxuHMt?5{pn#2)_Sz$iF@3CGPy30;cw$2ch2g)Gz1BPXmEy zei3%UwfwgZFQU$VnRkAjKYqs^`3t}MkpBIu74KWx{g&mP&a#^ogd`!i3?v8noT{2DO(ht9!+dD;N^nGfLVe1>U$GAbBQ`+y&We<8sD?bBZZ z13=n{A0q!Rvgc-pU-fT!+SH?7JVZa(4?W60n7xLej=?V|0>FO5ooj=Km-4rrXM*52 zQ2yiQ7c39T{vCp^A@fSFSKezF>>v4O(#?|e7yXN}Z<*h6p!|7+?Y!U0)YE^w=-pSK zrTGnz!@u+I@SKEp3ICS(c5Gzc+hj%`pw;gZN zmYP}ObH`^{D+*~Pv25M_*v=ZYim_`k{K4?r<<@j2&{-3X5gaKXZn=5dzb-;I58IAj zuboamyQT`RQWS8$*{wNOTvKjkc=k1wcIwhp0K4k74kXrOpQNaFk7V5A@yd+GL!A|j znH6)t3}AQpuu5cbduFe3{Fav48#3>O-?jVeVPsp{lS<|6uERBsIlh;uNUVnh7sKo^ zbzMr4H0zn>9j%F&Hv<$p_Bz*hC6}(YKwS2=L=e_Dy(zim;9k8odzyqGO*V+!!+a?4 zB%N*EL%St^{{x;nmj_G|9GtdM@nAEy;C)&DKs0S%iD3a&<~^P z7TUuBAA;{T|0mn~>HfMVvTw9%$vs`DbUmfpQSe45l;Y%)qpWjJ(87P$IEJ~i@=y^NOf)k`p(lUNg{4shTQeJrLtc2uz`Z>yJ zvJm`InD(f~7`u=SX#Ex=N{apQbGzNgVDqJU-d6(DhelQ$r9wH_EJZQM2#nzt(4Xct z+A;wv&oUKzLW^_VSdj)k_{~ zJ{fHsUeZ$9E36gT$)M#Ue+HcaA}ZO?z$MyxEZxw<0m9SH(LiBWkUMjH!wAhu0T+PaYl#@R#vu$ zkG|Hl?N$1QbPm-d>`YaxtI^)*G>uVRz02FA=JL1WHgw;+1MgE8m|s9^-V+c->@a~S zq4XdwC&aqXY@!t>eSF3Pm^CNKU3$tjy7a`%oyJ;8ov(*RbU))PsWk5oJCt^pM3y4l zM@?xo6X=+(K&CCmj?{75E&n7YTxo(qAQ>B6E#Bo;+U=Y4$h?^LY=tLQ%lI*Spq{t< zgpEI|p1p+r5kr3BCV&}1wyHSWSSo+}y7`Ggf0eyB7w6?W-fBqMn#)-If7UP$|{w@GtH=t#V#)piJbgBlXWWtM|H znXb`EPR8Ah@smD-tS`wwXX-Tea3$Wg71P>(YdN4;kTpPij?i37d&!GoTXZ*@==rpY z{1jv95QQh^FoE7()asMj$WfV=(2+yI`Ht&Yr zi=o^Zxq1|NKy_vhXnYIB6CT1-jn!$KrN`1e7trK*peI=SY|=K1r)|}jL~Z&A$o{td z?tqxw>-AbKB))lQaYv0%64fgrG1XOtP;tiF-pNj;)kTdOY-*m)Ufk?UZm@6&fou(VM1@S_yt zVDouNLbph=Tn{T_Ouy9D8=HhB>@$a7;)@2ne%%i1wM#>|KnFKVd%7fpb2P4h`ii5+ zNkuvp~F4(Z8&;Qm4vS^}lD zwtIfiOWL>gcEdXPD|bO%0glhJ`<=*DGX6 zf%vV}jT@|7*z5i^j$!GMI`|4J%u4*M{jz zC=*nH&D3>ev@%?$iiVzR#HC3;kls3mr8#Z^o|QKh;Crgpi8qvO2zY3=JS?7tT1V0G zXKeg@6UR|jW$W}Qc+1V@0kM3wrl5JXf_nZ$6o*U9QU~fVmY(eZUrGyIqqGsIJFRP` zsl(+aFAzF%1IX&7>OxO12{Sf?G&&tia`b$tFX|=CK7vi$h<)D9N>P=I#zpnSv{CIJ z73pkp9An_i)sw!PTr9aj5??eTp}XyL@LaUaaZTh zL)LUOeC<(7+|&u1QowCUz&f_5EUwXR3dl%C@QK~UrR)rc{?n^dgEe{0Y`9>CF=v*F z6D>c{)$Bh0wJi$3g3v;_=E8#!19 zsri^(`cY|L5&{9q_F5^l5`*bRi2mP&<#Tm}aMY}aUspF~9OL@M5%=#3rt{fs@}qN# z_7wVE(m+$FVwOWbS+-AkiqKM!{GkD#&B&w~Y!?U;Q$Q!!xNhC!SxS%BY4aPsk1n0*xoW*G2 zZ1aO`N1E;bG!J9Qtkp=Hr2^5hJ9c^N1SrOeu~?3cxc-fEDkP-sgKz4s>`I}6T{6LK zL=f4P8%~X<;||?KdNUq(wccX^M-S>+96ZAy~LJs^${>>|qab+CUR&N&qGjU8r*-9)kGjCEJ-5NqbO?sQ4E$|5Kgwco1;)k5_<#lYWOmi*9w z_&OunqNB?fZ7b=TEgmK{PNYzS^p>MYsD_E1X|2y<4Idf3J?XknhMb(&l zC)PaWKqqqh*f&>4U3mrvrZxFuR@AVIYyoAkkFyeC!0frs45ox;G^?$0i2pUQUL93O zwTxap|AfVg-DLME@0%DHpdn>{gX+5ONwf>NJ1ac%OGh>Eaa>F_whnyvj_VHiBETrr z<7G$hDgdpF*fW*|Na}!(;$Tw*j^1OBO>KL8q&=7kbJ286$DMq`XjIwFSARr3eYoPM zqGTYnXD6pd%QzBRl>*mZjEtT0LZX-DX0 zOe?irU+mclPe6*I*&K!Zd^tbiG~yrm{0itrtGD;8NR(&kMBHvDz5?V(@QdXg(F)ZI zNWGZAj_NG5yNk~Y$8YNWj1wGl}Da&mNUbDQ&SWLJ_^~}&dd=;HTDSBO>&B0`ukr7LHAYI!va#Wz+q9sKl zFgs!*CZY5tv?6S^HZT+7@UNL*E!0vRjc&=8MN`Qy)#9|;GH;q+c1B6?t7D0KSP&0m zO3AP*XwzfLE+m(#VkC|@hcj3#|*aH!I@1;2ISr+M`?eaR82 zRoYc7cNfgF4$3{1v+K`7m&>QU?(mi$yTnDx$ zm$CSfkt!Cl){n2Ye;%O!WI!mihrxYfHd{Ovg#88>3&eXeMXaQLzKnSwK;~ly8v(y~ zhqFyk=jkJnX-dNOiR@iao6(q~BRlEQBeo^UUXt2-xoA~y=>?8DI7f9_e9ZW z4Ggv6Q{mf0EzQwpNB{e`7&6RN%y!7N^o|8>lhx+lBpig1gcuTVNn8e_>+3+KlY=OM z1XsDIvceu*$1?nS1$9+6`+1+{x+fMo!;uSG#)>Porp4d?&*eFH7zMixnFi926=dm7> zJI;}`*@9YTLBj@igV%@^^_-s{oAu7S{e#+t-M z&#$GW$`sL{{g(lvPdZ9?TnjccJhUQidlgJ|k!XhI5m2h_O!=}`!$eeK%{B~N5@Na_ zrjB_ycr!@`MqZMqYhq{$=6PA=#mvh4WGdX=Je=QLtL+|bi=p8i`zNE5V=tBI@QM#c zy@H*BfD$ETIsljVr?u4lvmGbijsM6#Q{vy1@>M}6FYeT_w(DfX>Q3_Za~h6Otio`W zY>X4N+Np4x*H8Guqnw8c?=Pb8fom9ip@czLJ%=_1k`Bwe{kuZ*?vU{zhr1##hYf{K z9nmgY`LDyTsOgRf@Fj`n;H|E>YAkm2uLty>f-Ro~BHtg&VPQx7dA}G3!Du zE3hC6NbGFB;RTR^FF{*pRAv7O&fvIiH`Pst6{t8&;eK>W#TG46=_T89khhDnT|gd^ zRSy(y-oQrq*IywTP}P|#TA{nDS(f)d91%&6X`*$A5S|Urwa%L4%)ohAyMTl_rJGTt z_VVS6!z5_Pgot=3`OO^iEY`n^l5P_`^@e)b{5j?6ZyB z{FjThe|aBxwAp-`dwz0DS+^)$8-dN zeM6pvNYUe#;~~9T1FgRX3n94UzBl9*8)T+THNBJVTBxsj7M-TO=qrMYd3ae{;I$zj za7r=7Z0m;X|&LZrT?Vq#=wHyqZ!nl7FU^LDnCAf_j9mCNK-F z!MN%$0*A3Q3Tqh~(x<$zqi%U@*>OpKsyZ_T`Ta&@M!P0|+Ds*ij>1ezDmc0K?0mn9 z$1CfKPUYv*lwL z6NwP^c@&FUIsc;8(+Ep6L&03vR(Xp?7WyJ21IHwj1m=V`FQ&2`Wcf1YvR9jHreBQe zZMMIX`0)m7;m&5gD@8>3j;?r>)$88QHs@R-=Nw)!v*65@M}Lyfci8y za2kM~q81xEkut7jQk_7;l}U5_d)kn+hy>UMkeB!{amTZd^i#q|RN!%sFEpr8AvZ#K zf#PUKa`-&xY0jZ91dC6(N6ctbpNr6s7xG-BOB z*mmq&yN+^nhE!6zv^C1$w?UMRMVC6**ded>_wQ;sO1B|@jXJMs(-qVo7m7V3B~rQ9<}Sqd$K6 zm~Ts&`j4p8)7nM8P1`0?)Ep*^Y)89S=V>4H0F8<-yJ^F<5REiNrtEEiic(5m&L*c!IEjeJ_;kPQH6@UN?H3l=h+76&dlu6{sL|=;CxcYuvw>OB+!{kGwFX8 zeNa+Jyc#uhNykoehiu@Qr$*k?hijEf%yjlRJj4e4UNQN(s6uy4B{ON)cbiO!LQYui zCFL=ptkf5FT6TJItEskA0Ns}mAjxKNMFdI9=F~!Tyw=D5sx?MCOHPrfs-(B$BBeEx z&JeZ9Woq~*4~L(7-_il7gHI`P`Vniaddb}84a$jHQUYl!o#`xnNaY&hS8- zeIl%krcY=-guvx5S$aeT;?gHxP>U7{^UbaR7g==_B?nn4t4NE<5K&QW4W!h>q~GQV z0yMG$!>{#<_Q~>5nMDxjo++KxZ5lna#Y+b7l>D58tvS`J*o-kkro! zLaf?76^dO7^uZ_0U`HfI#az@aqED{X0DYtOXV7gCP+-vwM&%0gcTF(fRT9BRcJjx@ z^9QtQ$c^hPP`8PhkpkdG)4d~&+D&&4urp`$52K4>xLqA>Qb#b0(+uPc4>4m2NP}xq z#+=8O)afz$<=C{b4C?Ij>joy3lAsr2=FCFYX^R=yht@G)Jbo{&R6>uj6`S-i>ePoi zJcX8=t;6(4P@>3wWq$m1eGp?Hxc25Efc}&kduH`j=D`X8|Zu6@$bk*urs2h z7|Tw+eD;=YD+)84YSVA8pZ~>4^pxNh2e1uC;_moB{kI5KYLeZka86idh^pI9Kz%4J zGlELuD|L{(SBjyaWRS+6U>MO{+~(L#4gl$uV5 z@mJGZ^@HrW?L(JJ!FYC$+w{A?5g`Zgpar+S!+j(TGxYVJF&%#N6gk6z(+35hNXl&2 zp?AKDm?3@g2tTKnV@nvE>d5Y$Oj!+qr9q^zm~f|$_!0bZPTXQPdDrefL+p>0P|n8F zq@6<*hOjS%MIj5=YqSVkv;?m=KBJr$`K_w;2Y>R*9jCTC#Pi-31-3bS|91C7nBd5r2N#g@GoI(&=RQ#8#7pO0X z$FfYl;Cv>BI(jN{{0pUzR5+}PC!WmIN4U8{9<_+vN_DO)Ga{#|WfW1ZH;4~Go{0<- zd-9;MKEZ774$vy5c#=zjj_X0bB$C@Srk4mmXP}~L;9b-6M*Orbdb@zEOti6*m&@K* z6GapbqKHl=UvO|x%_5r?EdEFYb2A6O)dx;Abk#%S8X|qJSvkcxk}xr|>trM%a3xjR)eQ`n8*E^Pl951h;Oy(IjU=II zk?fR%WzD=^>?q3iI&TgriTWv~Lq)p>MSrTS6-g)}k%@TqT_qwijWtKunlMY}twWqw zoq2|jr@P|ZFr2ma+xw#ryP`|`uKIej1_Hu;RA=0ZM;uBlggD+C8COY|!19qYg#COv zVKJ*5GmWVYWtB3OQ{?Y;E3V4EdGOd_@j_H+l0w-fv?(p^I`Hrm+IW}aJm3BYxPw5v zi2EupC~cB8D}ii3Z`Y=CMiP1;c2D;`b!b*N?c`7F(OFYCa4AFJWE z6zbu0k7H-dEQ#lWBVN(o#gtv^R?dcW%BnANJOc{-fM6Qb#L*Y4o)iwYjS~{iF!7uf zF&TqGgZ14$WLHp!IW0zmn_P;ibKwr`?-azJt&Oq)>#=&X3dLwCRytQO^LJn0{wsKc z=4vv@Z!YV-8WA>`hx;X8CXr^^Hd(g;kb^t1gKW`)om@C>Dbs{;ixU~)=2-F%ItE+f zza8_K;dzUDsisGzJsX;3mYlug|MJ=SaCW`mLcJ87G@E0I9xMMO&NE$o+weKEB8$Yo zt^@8nFmY2Xnx#JW3^1lMzsrFoTzj2U}P^=zr9qvd%kC9>^)BAyYfqS!ex}k z^`Ye0Z+w0{eZ>H2`DAT`$CcG*k|+LJ(+o5y`KT+eZa6nH5T$H1CTiUYp%-)gI^+#< zcUDt`AK5xHM|v8kzOw!_Q|zBQyLiaXU9Ix-L(&< zQoyNkAMD~yI374A${4OPOGQtVIkX)OFbVvw*!g6|Lbs!F{0ymjv{3D@3|YKe)5MJ) zmP=5+7NCkbruf5%N9z^(RGFfXXmfCu)FHkA>LF7*c;Uq>GGXm1y#mO_U+6kC_%KH@h+SWllR!+So5$QCiIe|hFAjZyW3199Xsx#(H- zh%yyWG2YV^7?_jKuKVPBIHWRjC4}Utu}UQJ3J%?F@HEHPc(g|o(A!znn=oI=_G^V% zm^BVr*$D+@#=juN`Xo2vVauD2T0WmXBnQQY?~)&I5S7cyg7UO0%LYA9rSH%JHvZ(3 zPv!TJDiv4%zMZiW`n(3+X4__D2%1tyS^AgM)78@ai_LO5vB5jO z!ZBn``M{JfZ6?=HL+W9Uy6VdxWQ)qE|4yG@@VJFX9fELCgNx;0wMAg^hr~ni5>fFv zBB_wR08DsJ=Ums4KdD3x%n{mZ1*L6BDvqJ`>9MeGIweC>$c*ktz53XaI@@k*mD9U@ zypG0P&UCNX!eybt3!opY(IsZMf*c6XkKy{MIX#KH686^`_<<^hJY#sX52!*^(Gr7v zBaABL{njv2PCYb89T79dy#rz(_V?2km zZ)W(!X6(;j5z>48O?jd%pXlkNDT;Fw1>9_(pc0ymnBdOj;F`6{@VbffHG3@j$-$6!FoG27NJ4oX9l@w zvgpg9bS3MN*fh+WYvPsj2x4unv0j98_RP!Zd2g@0&_7cgH^0G8+uK+e=ABF*e2rS4 zyWU6Cak5s)ld<`@O+=^>t|YbSY)`&4FHX=O2M&?&l-$DRPKTzt_nvT)AjY(8+(U!7 zlg;Cmhbx#K#}{0xduzx$TXWsArK$ZgFh5Cp5scqAe#C`NE-%ZU(Va_68f~6z_m2Ij zm`iI=z#?*eUxO|ig+9j88W9g+AN$W>yPY#A2}3IPA^Q`wpRs80TK;!9iG6BAj8U|s@`$8#-+(>J59@Yh<*Tj4dN8*FDeR9F3eVSA~jf-;s z8hnSqy@A8>B&z+h8s!^6SS>@%S0;|$Of2MGm|z>3b>3N!Xf7pa!g}=01xRx>C{oNL z%=cpC6KR4i&DMXPZU8lP3|u0litQ~ReuC6COpHg6F>~?6wjS2iDC}T1?vHJy`=nLsrW@XUAY0pCa_72hk<}jarYPLr z1x#$;sSOlUafre-w9=$h3`{A8;6zOiqDgkSAR#C-4KB*(N><~2;<@yOv7zUVwrnWO z4SU>4^!muLV6@yAD2mV5ye`h(5)r&XTK!XdZoda#%DR#BL+|Ua5npu= z!Hr64-47L_iQ$ZW1`RCF8Uu>;g3koBbqHfaZsd4S!` z|GntJndhh4j7TYQU;Kqn3--yd(CyS|&q`&Wy-5%Y5)VJ83z?CUdg9V?{rq z*q|mMkqf_&x=fhCOaYBgAtRTIM8td^*Xw<~KUI``&aQQ6Vfs~MH!CT(ROJ%Cms|#A zBCEsEptuxb3Jh*B*cxLNn{=;ydm;pD)IAPSiBz5cN77n!eVsktJS@SO#Xh(I^lbc+~Yj_4=|DMh{tb3F^v z{fiKBQ4`&}Jfa7WWtDfLKCW~+T|NGlTYL?CFmJEfT8lx%#AI%^U5l|l=(jm|>U{HV9-mkAzBJuIzg`eTBcc6R+0(CoSc9MDy{hPfd zrq-y|M)=_LnZ{R%Q_O}E?|K;;mYH{FX~E1K72^v_84IM@ehzBE?>U#n_IblzxDqGl z=RQnDE{u?LLHqYrin@7GsIhe*-R(v@RC?YGeH1jGv)3?#uJWbk1N;W_=`6=J2D&h1a>4cNGRE6B z;fo6tPgPEv*Lh;oloygHB7szLX|XM6Odhy4g)#&P+_sV4ji1QK`1J>({EhoU@N|YE zV`UibajuJFmtt7|pkuOI{ce)uIS*T>*?%p!G#tIzP(VMo1n#FpEtdEsZNCj^e?XQAFd;3_4nNq{nMZFw$ zf?>icBjbSdR9^4-d(A6yafnclUc~p)pP}o2cj-DBtNBGNWZ7gJG)e1Z!bp$V+&Is3 z-@HE)*~vz3lTa`#x`584)^V&G2IYc$`@dKBIfLB($HoI5;dw6(eGux^ZpOJ6N8@+M zx~vIimvu6}GN#W=vG6~1{+wCKVx|rdkIEnEabb^)eWd76TC+Pzthhu9gAZ<_;V_uq z&xqQ7v8Flj*lwe=Cu3GG^U$@H6EWymfI_n#i`YR;P)SiC;DF+ZoSZ8N9I*HQIyIA^ z^_vb_E!!4yQLEA+%P(>vVpRr@&A|Q`RcC}DTfSHm)BbT`x@8?gO>)A5@EQu4Tk2@x zN6@ry-<7>`$St3@G2v<}Y1b2uP3s}*KW+xa0$|o3FovesMWW)Ur)*XQ1W0 z_n+KvBsF3Z-8y{`zn{~J-j6*0QUE5z6Xusz46-wcTXP8{FI5!VVHcX2UWg7jO2xrr zZGw_&5=n!g=LL_%x34p*IZX>TDeHLbPMEbcEu=`m$RrSLu>%pbyUCqi8Gnw92xcWo z3V_BI3i1muvgI`+vW(1u-%H-+(^8T+>i1=OeaTBk%;?aGt%OuQWx+r=AY5g~E0?qT z=ki>a;z7BvNhaLc@hpQ)!_=)KWYFz_oq19eDpG1U;U=o+x>%=%{A9YvOTDOb{GG7ob5En`S$axx!2aH_Q=OPH=VojmC>`yuux%XAD%TJQ^3UFWd?^pp2i@c zBq@YG47-1LcyN4pIBICP*zDLE@-r4YQVbiytub&N@;eeAEIcp^&qi7Q1fmFO3Lo#* z0Os!wAn-Ma_h&#y_s@!wKIa#~(8eGDb8TS)p>O~`Hh5Jary-L}4}#d999;Y`$ob^~ zRwt+i#K*@2zVHtK4%`&mP{6Ga6ahK31+MVaLjA1(Sd3w)%j*X{N_7$1oE+TX00DM( zcDec-WO5i=!qNYX|0c&)&~o9N{{Sn;+;^J-nAGDw*R66iqysWj)#UuRSoBY4ZS^@& z?)B?i0tIez@PxFlXY%d)hb{rIoTC1bAj?1UjfZ)luKjvhAOMHJAGx=`&vznfuYRCG zgb3+5AnUtBle@tBwkFVE<>M5NTwUBvApNhVeG&Rv!{Wy&}=>g--=uq1jM!A z0DkB9zkYHE?I}S`$Yn_>H+OgeeM>ynP0c+SB-68SmUq{|FI{|;)Ep>}^>=vveQ;}| zc&Da!FZjl`CU&MjU9imP5c#P+DMipKa+mb8L6BGYSzybU{bM5|r2X`u{#?NMw+Pbv zcVH~MIQf1Yf_*dayzlOu{WySAcpCwq>gfV_esx_r{l66bn76<$51(yEeTZm(KpC0> zIY49z(9~Yle~tYZglB$-;m_dP93jq~c*o&E_doxAd`;X78kjP8X~p@S`{6JuNNH#* zDkk03rT)4~N%U_6>Ed|v0N`x-5CEWuh`@jD9e})lxZ|kSFYCD4eG$uX(j$}=icn1>(bJH9Q}K6%Ys)m{};)00;2s=)ez4i7)^_lBGWt?_E%%OGTb z4g&dL=KSa>ZQuhk{^c^+^7#TV;2^y89e5=ovf|+P!8|d`Lc(ZT(@39%kkWOJj^}SL9garMo%l*_S zDF-U{*p~xzWSJ{2%4!_lz5N=xzwQ_j)u{NuY5Qh}5k7g4r)$L;a(XihyPh{}L=1zO zNXwaZJ$BJYD`Tr!4W{CfUSf}~BUZihJf)}e-Yo|{SLZdj`az4~+jMiuC+9@rWtqax z2dlJKx=$s?U;5|Iott7{eZa4>6CC2rYRQ5E2PDd^7NaPfyq(Mtu%}Lg!fxLaOHGi2 z(+OUhAMR{4d3g&wAG)4X+l*<-xzHt<+j6)l(I}qBEEHwIK}K`kB&~_Z6QNR zg#CBVYCuo9Z5F{%Xp1x0TOF%h_U-*kBs7qEcdS=|}3)aX+ z$*o%a15Z2}IksnLm!&F^-t&Z)M2)!v?_qQNss`Ejz4RwpQ0fwp{172dPS{4A?PUMl zu9KUT>{sfYD8?e1Bvf%n?o*@AkewY;sKR+qJuya-y+RP`+~CQ3HOoAe-K*J(Qp4RA z`K4#2&i-e#9bc!Y3Y?m2GCT2uX7dOfViFsBS)(Qo+dX%`KsK_Er;(M+{*p!wO0|Zc ze!w>Bfnn{QLNmjbUB{Pc*@Wm==m=rSskCzw`)|cHaGt5E_kp1X4l^ppE;Z{nZC8b| z3)5oxd{}pH09s9v5z-Ze_(FZz>Qlj;yoVIK&)ll+Syuv>M{N}(f9B3#mL^fw3es3Cap`%zmEik@7oVhFTEMz^TWRNGod=bVkb%{7)$hp^$rN zU^{$bkPKCTRyHj`8851R6kAVjiPK(st!=p0mtZ-ztUP_r=q$DnI5b>UB=k9SGIKq& zsuh#txEP`!oau#G z?p8jm#4Sr5)L;+LsjzcmP_a_)t`Z6)5yXpL#alhbJ~|jXEb>Xds~@(Ve3yYU2Z>ZZ zc1c+VKU!sk5=1w`Joh8z4+Fm0ciyEVhHvja8EiW5N z-q^_E*~ewc9L^AuuuZ7!f7zj()_SsOPv1ipDLYsQlHQa%CV&=tj(-^dJKcFQ&E?l` z_b+sqS9Dox5YkO1<9OIydY%*z6g@DTUVW_}7O^eiHXE`Hl(w;GE#R`6HSpCuN;mJ3 z9BXvGX}V>36P!sFWW1KZc$qTIJtjn6 zdJmxhVye-f&9?1xW%|Zc^^iN{K~X(56~ac64H-DYBmLHd35I9m+o)8IE|#j8sRI}U zq;9H)_p=Ff#vb{vpeTBA!%)z_sxR?3t%viN*ZE47ghkJTZsO`P=$+rxv zCKnIk(5k%>1Nw-CG}|Q1M_Fhy8p|iNf>x)*g;Bi23n?<HM#xzu8Run zS?S%B7nFrO|4y@Ro5{2+M`mrLM-47MH4aUdyro_D4eo40SDiDOcmx%;S(8*v=b*nH7QPV zPfafx6Q6Fb4-I3sIM3GItkF>)hDR|Tl=K*r1$8L7S3H&paCP=#thYz;c0RwTTgj#z z>@;ucb2P8@>r6D1wOmZCTGKinbsT032DGb?B?Lu^Y74(vQoSYX4yT|rpT>slRTM#u zAQp1E#|pVK{cu+4shYWmnR(s6O|W2!)6F{m2)vz4aQz~d-O7D02=yitcc-MW@Q6MQ z|J5H!eBpJGBpH3doIgB+Taw;nA7vdv@LQ6Y;dJ>loeY9QKTLO1ne@WVc@Ifv1)(hX zR=3O9%crh@tAq(PjGIbf9Z^W0 zm*w(klrpxCWVdD9rP=dde)MxEMHLH7UxQ2b<1Rm=Zi3%;H714I5{kV#Zx(A=9QiV# z;oP{WLdnF%YClQro__I=R!HmQe@`=~Mfe5Kfp}E@5_LsI?L2ohf00+q@;FO`Dk?l0 z`)o+47|4_m&TM(*Y=G*Y-c`#;W9T_tOe7Lm>E+A!!pM*PR)=ez@Pkzhybpgc@rP0D zj|ffjgWU@WpFLj{Xgf`)Kx}=9w9K82`p3{y$Ln8bQbhQVXZ{4H7$>P5go*VcvJS5G zGPcM>D7|Is+-uYVF#hBIfzE>vacdm2To{AligEFFZC6$|+(UbEE5CGqxxh(DWo;G2TDjg*9SL!9_u*ag>?E*6h1dG?NONb?xsHXC^Ke3EbSFlu< z!uWgpj88u9i?@))##(YD zGd-W2y3e&@@Y3FZxK%Vg=V!lW$M&8kl!7aSG+x(yvgiuBD5Vol zc{kWvq-PoOZ*RB?k;iVZRzKo)`m5c78B9#s*X@VSK$=rDR#|xgoN4gPA+&6+JZl$n1u4jUg zsp%!uJ}SMJ>QVoI&-+m1|6uGLf^*@bZS6SOv2EM7Z5unbZQDDxZQHhO+fLrxum1W^ z)oq-{UA@^{H5+r)8e=}=&onNjszJRtA*q5i@!6cGiSHv@A{Bea(rKgd4G*SQ>@faF zoVgr}xnnU${wKrd+>~x}2UUf|sG20#L>X+k5*tx1cW^f&z5!&j6@BYUoD)r!EM`T2*6AxfBSOVBl;c1}I~koGbZnM6Br-sg-9W_oc=w&iLE+ zq3%{59Z$rHX$Un7TbX0`p{7%A2`)2z=o&2@3(|`ipvr74>Mi{;7&0NvDMrLi;SJMJ&>@K(RCmgY ztwW&|BrsF5g3m;q?V@k@7Im%)*{-+?wy6iG%-xG=5CvFDQSHy$&i(i~D9mNbL{^az z;t4MNLxuoJ;q}HddW07k0-$PNeCfBGha+2TVfuwvI@i6!{AoUol1teThJ#5q-ZQ+Q z`z@CpLJfhD7n7T)M_AutI9KyioQA+B9f~m)+%b~E(T3)4S%O^V=mrni9ils#ow$T8 zIBU@}mHc{ABc)%SG-v4^trwNAFhUW;S2=TG!sOyb*X%@Uvtr?pyaCm4Eg z`dwBGIr2zD)mxPaexO>%Ir9MzV^J|b8uZyum3PodyhaKjZAwP&KA#WW_mkdEpT8k_ z^Fb0KC*mSLePEUwX-B}S3FXMR7x!Rmm{j#*k=bIzROP7k^{|}87bPeKNni=bUZfu$!>*G-gLW_Kt2dOnF(JebUmB8OhH_KelzP>w_`Rz zw!x{4%um7hEjZB#A??>``sx2>$}=Z0=Bi><0T27y&40_6mfW4y7iO4rKtF=5 z&z`@4^p$ji_ovHUoV_(^1rq;V?n!ppy}7zb_SKbJg_%G#Kyp|btODQE&v!UEt9Q&R zuEu-Bxmn$biwHOdJR=D-^I~o%Sh^QeKh1``A$MNel$eC)>9T~vl0*)BvnCwULV<8( zu0odr>^&{7wO*T0YlrPG9+M+)(%R+3B1hfwGFm#AlX95gpd<+>V~gTmW1bE)E)@02 zecZL8!0R?LvOZ3=Rzq)7a93_=Rqin3epJuYAnS{}fR#QAzdb#s;hpS9`?KT$drp`*?k@omOy3;t9iG2;U24RD;eQw7~dH>Hofu-se##6?zP>b zVRVf}Z(&Ml8%WA`J1LP(d0j9aB71G13@l9!0z+uaSaNrn?IUjr=*LgR*k>org>IN?VyCpiVU!7*6GlfyM`HiolWO_ z?AWZ-pG>5c^zia4YKw(E)XT)H=bs_!|CB9e36Bp2z7x9Q>@S?%U0``al8 z$s)696ii71ETne5ZN7jXL7PW<3Z0l7JtjX#W7M5#b$VS2bmd^4f6G4(Vn&7COZ}Yq z%-0KR+D%|aO;;wKE+!V&T)Z^UQS`dAfyQ=KNsc7A9kzegS`z_M6G~ z6VaXiZ!v{++j>Qrm%e`Bf*wV5bN0Y7r*{yjLB`cHJ_&bt%z!MqS$pq{pJS=D4m5Xi zo?A;JuSk5toD=a^3X8Dw?D`2%(Y$ZfSXR8v$fX_olschxM**INji63sHIu<#)VT!b zxLDe2cGG4AZc~iKMp6sx6P>!;|54JcO zOU|xGs0XNEtpnipgqD36u=rdaYdlInW{K4McWgf>YG^n_Sf zRa0i&iHoJPgkK`MU0WNB!d45gZE!+w9+^}AFP;HY$eZqSC`$w;DS=ces$F^e_M@-R zl_@0DELZ7qW0bUviE&<3EiQRl@I5E-S!$MByuI4F%UGwi%$X#85h9~c|7zB|fHkSi zV-fs2dtMmr*;d=je#zZtERCGRsRkIjB3-w-XcFI_OV?!G1!_~@Sxc2PHX$o6hx8@K zAymWbH#}&TR@H0LBYx3$pw&@v@8!jt$>WmDnP0>aPV9`-G9q1+;C9As(|w328>eV~ zGF-I&ImFGt0QtSMuhg+xMHW_iaov53R?F^HbUZ^lhyJC(dGisx?lmvdvjqk64m!Kk ziLKkog-i9Km*_S4!S4QWU8z-B)P3KM)j#mE{6kTBpjSqu6-TLu7fE(Sm_Nm{qx;Jy z6?x-BIrkRe_fx_+hu_U02;_AjG@rFKcuM+8*VMomeB|b*=`yK5a%?lEPEzu0E=0OP zWuQ1RRcW-qEEm4n6myFvluK0}}; zRRE#Wt*`J-8(mm~!oiP!D#EKtUzFNIiCcjrmZ?~0RS_t}-OY5i>5)~MVyzZT`yT0Y z3p8MF;Q|0C+SON;uo8`f3mki9c3PY*E?D9H1Ts=g*4{Z>f}b`uUd`LLWXA82P$^Tv ztc-v58iFFU1vLd~uoTSDLREWLyZr-1dbcY^nhr_cLCjdy`d)FOvj{zW$WC#&wTn%~RDO6MLL-CTPg znx|UB?m0TD#AaLd{jRuWAu-R~IhA}dK3FO|6szZgjF!#qJlL6KC+UNC8bkugjktEk;c z@SvRnTsMl;F74uYt0(uBWawl3yWd7ze22D_v_$er5!4X-qpR_Z?UKolXqo<04!GFq zI2FlnAWWE<4o|sgtYx8^;KoqGPH#l;tomR;*%owBTgje88b}codG^*p0|B+m)6r|A zB;J~3z?~!M=8;y_RGVca!7Sdjq_=spmy4SOy7Gf$wF*Y6l6DdaiHnjE}LvOJhBZ%yuYOeP0*M^=D5G z`}!6VMp6&3aEsTJ2d-mDoXsH@hmcw46RXW0x*t;+&z8FxMl1@cmD0VZQ&R4ylR6Qy zOcK7qs>>^j&ydfAK3yOgF|H!mK~0Sq}hK%u!z#e zO&;ah&+?d*6l;+_wqw_s(gpGUqT@uTz)+S=(?k458fVi*Noi1WDf6GBeB@q_L!06b z^~)(Fgr7>LPxC{ToI~UjX6dS6*i5s(&689gAG}ddxzh46d&l70w+cwq zd2nUq3XGXJ8&yBt>9O$&46?AClMkkfVI+o)tFaKq(lsvuzH@}wCzY2dG*LS%-79ph z@-|x^geOL(M$DNNr|U}-<}4vMU`Qvh=$dYR025?ckF*#mzSbz;^Eo#zVJlXX`B1YO z@lITq0KirA?LB`x6zxD8`#`T(vTqbk05 zFXwxE4Uf5~b@+#DjBj=}knC~n-fod|5YSkS@N%f?-CtZtKdgJag@#lbE+8wXgLg|R zrJYkFRLJn5Ar@K5Z&PXD~n*n_>OMOFR;P z%Vb1f01lx(Wj*mJ6`6IlgrTg!_Kq96ZbdJu7S<})8d59Y3DVmX!Ey;c>;I zj!ZdMWH&*lfw++Df77XO>GvX@SkBCIqtdGe>AA;&571XoSr=UT0@hdS zhv*E%*2Hz!Z4L51r@DUNG8$<7VkpH3BevBT7>FN{_GI0$Ec*J=AQHhzH|s7|6(`6j zx2~Lc$EW*z`GSOHWQ)jMLgSi?iycdctfHr8uD#Y45BEJTrl;I8$0j5cP4#Az&GgqE zh;Q>*sIaF?E#3q)ep@D_=ZZ{}3emm70VGx>kwgufE_@&l_;Q;`t)n{GAIS4@yLZevCd_}yTtQiPavN<$`P7S?zW?%7-_UdKx-iXr zFY#%Y7pr$eTs`o}6)DEr;V9c|4?W z^ldl%7$`8mjzPmWC>H%i6tUN!_Yuf36Qe_And^c^*qz{QwdtD{G6S^x9N8faIA zFewBW26tT!wV942J5sY6NT3ny?ijSRG{zV;b&-)Z$Gpzg7#zHIn@VG1ru~1Y2P?DT!qUkBT@f~ zFJ{L8TGP6Aq<@s0PRIqZR^}>Q@vb(j*u9!b=;zR@^%&yhQ2GcgNzLz2IJRNjostTN zx%6~3-!j&e$^5=Oz`3{uD4PGVES96Bif04SWu-oMTM~3Q! zcrVbR@V%??N?1GY>fb<(R&|k0xKaaqbmHferRY54c2?J$vI56KBtu^k?2d&aS534X zN*y&E(lbaA6ZEzU(!@==AwWo_$f`q6%buw*AqJxF65m&BL4%=mf4-mYod9poNX>ov z;a9xbu}AsmMLiVm$HlIpFKh0?4glu_2qs<(nG*H-{o9z_IHgb(uw9O3LZ&>`N#(Hr z677@^Kg*u{JVF{y=CDW*ak0qV5H$J#AQ0Ah(-$9g7zn-3SNn|G_5@FFDZz*2XKgy5 za~lwu_oJA!7z|QCyF#VlXA#IKc+Ff_3?8+87w}vgxv3G{tCX&p;YQv@Iq3>#KGwkp z@(HJl&Y5Ez`#ks(pEXFk1D)H*c>c$M)O%+5tkG;Zd>b{w!x_1d_p!#(a zpC9`+(*!4le%}>0fg7ujr>d9ae77s0$QjN>yq@rIIL4}7ps8Z5!c5qKpu7&iXtNrQ zvTp$9T4X=49FB8~&EwL3=Kb^jv3es+GO)CRbotdUGmddetmPjP9zy$S7g z%Y4b^bzBsAI6e-iLG_?lmQ56@37xK#;~{B{%Kcn=aLJMWEdTh~qiVr4AvEdX8vUav`=Zjet77-xO(uO<@mx$0rEe-%fN0nnXFYlW|26+faMAs58ts7g6US6|=DqtXKP^sm<v#Ons1p8TyTfB56f+koht zx{2^7gmMv{Hv)@Xm{zaoaW(LJ;yv%>gc(84UaqT$OHo}R$5vjcl}vx(b})0~-%PFt zg1hn5+9uCcO&lBdeRqzhQVcXd$87eQo)u+RdVp;C%p^NxWD?*Va2w0sq`>0|gCY$h zq@pjjvWYDn4+;%avyDUlyYHst%|lWtudv%$mbX|LPYlf6!x82Rd$){uMGOFsH&?Xk zUUF4Uq)rRboDx_6hV7h)rSY&DPUg2L5m3%laJG{nt5#Q*erqt}uKx0fSV?Ymb8$fx z93r+uD{uN}HZB9%GSwU9qX_6{@q>Q`RhA)%Ou|TC4Eqw{haU&H`objHVCOG-g{?U2 z58!vGdHx%Fqq(@0R2kRp2Ur5XbmKze zO>i1O;SJ2|<-Xq{`s?}ssRIqMlzcnAO8I2xpagUiB>)bm7Q)Iph*bf>`8?ZJl<$iv zj6O3&xtCQD{nAk_2M(x6{(7DBg zo)SkgLDyDBKhxDfioAG<#AfMnr?w)ltn;*u@063QE^1d8A<%T9FcoJj72(NJnsN4} z?(sz}qfPA{^-p4@yDJ5DLxly{_Vuouf*Q>^LhIy0nHoYia_M6TDMdI)8JwwX^%l29 z6+8K?gi}au(&Jb~wbgdw264 zVoinlH)`1^+U~*k>qBl2o~-4@DSE$bgP+&pXNm&M&)x?ud^pek9g17jIEA~chKHkf zbDH~rNH21*^loonxdGhbcKDC=@rqF&;E+mD^CTOULN#j zKhip-%)uwC#9jQdA%hqtAWV+ms@}*5b(Gms%8>!{XIsH`T*9<+xIW?~ueDe~3{gu* z+OBJwQ|hjN2<)}3<_(J;Z|pEbKf?;8)v>2j!YjfG;Jc;E{62dH=9YDsgF1WoYeIe8 zj=>R{4fQGAwAUPR9I0cA_fQ0wg`Fo|CE0{DXwaqr!cPe~*RQ!QGo%k|*4)dVbGRFS zImEtd9q< zedFs4gSiQuYyU{DYvWZ#uH*5UIh&T-d*)Mfma{ej%c?B3kDKf`MpC|OwbxLB3B-Qp zvBI~-Wla(1*PyEP8@6v0CNvj|Q1QpPU*m*NgMBrs$vi9)Yn zZd%##L`3lnP)VsSD)pP<(M!c7vH@l)fT9dw`b^M1FdEr@~hWPaE zS6Gc4kJAoI8-{!`M?U2^WRuJQU$_a~@esXm|H9w(NfMD0q4Dm<n?PaYT zr4g{Ojr~akOCM&b7PukYeT6~m)Ha=1;Xb09nc)k>7mw#OOq_XzEKDCY!+04k&l%aD zjUO@h!jm)5zatLo8$!rRO!O5C_U*dJKob#MF&fUahr?9BtlfVRSb75c{ug&I^Z(}V zW#QudA3rZMAsgp^48;GRVE=!+d)YZzS^i&P_Ob4es>xT4>_N?h%A&>6qJ~RS7Q{Vo z`f7quQUQud2_fiFggsO}92e9*!BCWHg8wRA5{SjbF2wdBT=Se?KYm+o^|WX_%}+C4 zXIb_>2YrX;MJ4})H3nA|C2$heGfHBY7nYTQLjVgAG8rLCqV~_&M)h~}|E_|z&m3UV zf`tA9AcR0ezz-m~R3hR6mxl|3wCv~w7%~xRDr5V|V1t1~1qrtOLKHGC3aUjwf

    z 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 T1Pog<3u6-lE>%@me>W}wvuyZR literal 0 HcmV?d00001 diff --git a/t/complex/si_preamble.tex b/t/complex/si_preamble.tex new file mode 100644 index 0000000000..5790df66b2 --- /dev/null +++ b/t/complex/si_preamble.tex @@ -0,0 +1,62 @@ +% these are options that can only be changed in the preamble or on package load +\documentclass{article} +\usepackage[ + list-input-separator=:, % only on package load + product-input-separator=*, % only on package load + table-column-type=T % only in preamble +]{siunitx} +%\usepackage{babel} % affects the range phrase (even in english) + +\usepackage{booktabs} +\providecommand{\toprule}{\hline} +\providecommand{\midrule}{\hline} +\providecommand{\bottomrule}{\hline} + + +\begin{document} + +%\tableofcontents + +\setcounter{section}{3} +\section{Package Control Options} + +\setcounter{subsection}{13} +\subsection{Preamble-only options} + +\subsubsection{list-input-separator, product-input-separator} + +\numlist{10:30:45} + +\numproduct{4 * 5 * 6} + +\subsubsection{table-column-type} + +\begin{table}[h] +\caption{Aligning the \texttt{T} (n\'ee \texttt{S}) column.% +\label{tab:S:align}} +\centering +\sisetup{table-format = 2.4, table-alignment-mode = format} +\begin{tabular}{@{} +T[table-alignment-mode = marker] +T[table-number-alignment = center] +T[table-number-alignment = left] +T[table-number-alignment = right] +@{}} +\toprule +{Some Values} & {Some Values} & {Some Values} & {Some Values} \\ +\midrule +2.3456 & 2.3456 & 2.3456 & 2.3456 \\ +34.2345 & 34.2345 & 34.2345 & 34.2345 \\ +56.7835 & 56.7835 & 56.7835 & 56.7835 \\ +90.473 & 90.473 & 90.473 & 90.473 \\ +\bottomrule +\end{tabular} +\end{table} + +\setcounter{section}{7} + +\section{Localisation} + +\numrange{10}{20} + +\end{document} diff --git a/t/complex/si_preamble.xml b/t/complex/si_preamble.xml new file mode 100644 index 0000000000..462af66438 --- /dev/null +++ b/t/complex/si_preamble.xml @@ -0,0 +1,213 @@ + + + + + + + + +

    + + 4 + 4 + §4 + + <tag close=" ">4</tag>Package Control Options + + + 4.14 + 4.14 + §4.14 + + <tag close=" ">4.14</tag>Preamble-only options + + + 4.14.1 + 4.14.1 + §4.14.1 + + <tag close=" ">4.14.1</tag>list-input-separator, product-input-separator + +

    + + + + + + + + + + 10 + , + 30 + and + 45 + + + +

    +
    + +

    + + + × + + × + 4 + 5 + + 6 + + +

    +
    +
    + + + 4.14.2 + 4.14.2 + §4.14.2 + + <tag close=" ">4.14.2</tag>table-column-type + + + Table 1 + 1 + Table 1 + + 1Aligning the T (née S) column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1Aligning the T (née S) column.
    Some ValuesSome ValuesSome ValuesSome Values
    + + 2.3456 + + + + 2.3456 + + + + 2.3456 + + + + 2.3456 + +
    + + 34.2345 + + + + 34.2345 + + + + 34.2345 + + + + 34.2345 + +
    + + 56.7835 + + + + 56.7835 + + + + 56.7835 + + + + 56.7835 + +
    + + 90.473 + + + + 90.473 + + + + 90.473 + + + + 90.473 + +
    +
    +
    +
    +
    + + 8 + 8 + §8 + + <tag close=" ">8</tag>Localisation + +

    + + + + + + + + + 10 + to + 20 + + + +

    +
    +
    + From 52839ce34d4aa31e36238acc3bdbe9d8a5e7db3f Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:35:21 -0500 Subject: [PATCH 25/35] test siunitx v3 options specifically, options that are valid in v2 but give different results --- t/complex/siV3.pdf | Bin 0 -> 73033 bytes t/complex/siV3.tex | 59 ++++++++ t/complex/siV3.xml | 347 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 406 insertions(+) create mode 100644 t/complex/siV3.pdf create mode 100644 t/complex/siV3.tex create mode 100644 t/complex/siV3.xml diff --git a/t/complex/siV3.pdf b/t/complex/siV3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..19f3acc151a5a5984a74032fc15d2c4772fc31d1 GIT binary patch literal 73033 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
    Okt*vl*XSep=_K*Egt5L;Ap)66USpm0K5 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 z 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 Bm_`5q literal 0 HcmV?d00001 diff --git a/t/complex/siV3.tex b/t/complex/siV3.tex new file mode 100644 index 0000000000..6e4bb542ef --- /dev/null +++ b/t/complex/siV3.tex @@ -0,0 +1,59 @@ +\documentclass{article} +\usepackage{siunitx}%[=v2] +\DeclareSIQualifier\polymer{pol} +\DeclareSIQualifier\catalyst{cat} +\usepackage{booktabs} +\begin{document} + +% This file tests valid commands that give different results in siunitx v2 and v3 + +\num{10.}\\ +\num[add-decimal-zero = false]{123.} + +\setcounter{section}{4} +\setcounter{subsection}{4} +\setcounter{subsubsection}{1} + +\subsubsection{exponent-thresholds} +Table \ref{tab:threshold} +\begin{table} +\caption{Thresholds for exponents.% +\label{tab:threshold}} +\begin{tabular} +{ +@{} +S +S[exponent-mode = threshold] +S[exponent-mode = threshold, exponent-thresholds = -2:2] +@{} +} +\toprule +{Input} & {Threshold $-3:3$} & {Threshold $-2:2$} \\ +\midrule +0.001 & 0.001 & 0.001 \\ +0.012 & 0.012 & 0.012 \\ +0.123 & 0.123 & 0.123 \\ +1 & 1 & 1 \\ +12 & 12 & 12 \\ +123 & 123 & 123 \\ +1234 & 1234 & 1234 \\ +\bottomrule +\end{tabular} +\end{table} + +\setcounter{section}{4} +\setcounter{subsection}{5} +\setcounter{subsubsection}{15} + +\subsubsection{zero-decimal-as-symbol, zero-symbol} +\num[zero-decimal-as-symbol]{123.} + +\setcounter{subsection}{10} +\setcounter{subsubsection}{4} + +\subsubsection{qualifier-[mode\textbar phrase]} +\unit[qualifier-mode = phrase] +{\kilogram\polymer\squared\per\mole\catalyst\per\hour} + + +\end{document} diff --git a/t/complex/siV3.xml b/t/complex/siV3.xml new file mode 100644 index 0000000000..f859934984 --- /dev/null +++ b/t/complex/siV3.xml @@ -0,0 +1,347 @@ + + + + + + + + + +

    + + 10 + + + + 123 + +

    +
    + + + 4.4.2 + 4.4.2 + §4.4.2 + + <tag close=" ">4.4.2</tag>exponent-thresholds + +

    Table

    +
    + + + Table 1 + 1 + Table 1 + + 1Thresholds for exponents. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1Thresholds for exponents.
    InputThreshold + + + : + + - + 3 + + 3 + + + Threshold + + + : + + - + 2 + + 2 + + +
    + + 0.001 + + + + + × + + + 1 + + + + + 10 + + - + 3 + + + + + + + + × + + + 1 + + + + + 10 + + - + 3 + + + + +
    + + 0.012 + + + + 0.012 + + + + + × + + + 1.2 + + + + + 10 + + - + 2 + + + + +
    + + 0.123 + + + + 0.123 + + + + 0.123 + +
    + + 1 + + + + 1 + + + + 1 + +
    + + 12 + + + + 12 + + + + 12 + +
    + + 123 + + + + 123 + + + + + × + + + 1.23 + + + + + 10 + 2 + + + +
    + + 1234 + + + + + × + + + 1.234 + + + + + 10 + 3 + + + + + + + × + + + 1.234 + + + + + 10 + 3 + + + +
    +
    + + + 4.5.16 + 4.5.16 + §4.5.16 + + <tag close=" ">4.5.16</tag>zero-decimal-as-symbol, zero-symbol + +

    + + + + + + 123 + + + + +

    +
    +
    + + + 4.10.5 + 4.10.5 + §4.10.5 + + <tag close=" ">4.10.5</tag>qualifier-[mode|phrase] + +

    + + + + + + + + + ( + kgpol + ) + + + 2 + + + + + + + ( + molcat + ) + + + + - + 1 + + + + + h + + - + 1 + + + + +

    +
    +
    +
    From 6afbc9f4b805a53b5697d9d1a594efea1563413b Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 21:35:32 -0500 Subject: [PATCH 26/35] fix syntax error --- t/80_complex.t | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/t/80_complex.t b/t/80_complex.t index c73383e64a..7a5d4afd17 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -13,10 +13,13 @@ latexml_tests("t/complex", texlive_min => 2021}, si => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015 } + packages => 'siunitx.sty', texlive_min => 2015 }, si_preamble => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015 } + packages => 'siunitx.sty', texlive_min => 2015 }, siV2 => { env=>'CI', # only runs in continuous integration - packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 } }); + packages => 'siunitx.sty', texlive_min => 2015, texlive_max => 2020 }, + siV3 => { + env=>'CI', # only runs in continuous integration + packages => 'siunitx.sty', texlive_min => 2022 } }); From 577ce49d3fd3745bca071791b8329cfde3c2673c Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Thu, 2 Apr 2026 22:07:44 -0500 Subject: [PATCH 27/35] updated MANIFEST whoops --- MANIFEST | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MANIFEST b/MANIFEST index 8f7950d321..11f9dd7441 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1016,6 +1016,15 @@ t/complex/physics.xml t/complex/si.pdf t/complex/si.tex t/complex/si.xml +t/complex/si_preamble.pdf +t/complex/si_preamble.tex +t/complex/si_preamble.xml +t/complex/siV2.pdf +t/complex/siV2.tex +t/complex/siV2.xml +t/complex/siV3.pdf +t/complex/siV3.tex +t/complex/siV3.xml t/complex/sunset.jpg t/complex/tcilatex_minimal.pdf t/complex/tcilatex_minimal.tex From 2348b88c7c1052a22584b94abf6dd6861800e528 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 10:34:45 -0500 Subject: [PATCH 28/35] add deprecated units --- t/complex/siV2.pdf | Bin 88333 -> 104885 bytes t/complex/siV2.tex | 21 +++++++++ t/complex/siV2.xml | 111 +++++++++++++++++++++++++++++++++++++++------ 3 files changed, 119 insertions(+), 13 deletions(-) diff --git a/t/complex/siV2.pdf b/t/complex/siV2.pdf index 77f7c8e5a2f3395719bc904ea2893da899859d6a..8dfa431ef167215aac5e756fbdb3b455ea3ae213 100644 GIT binary patch delta 61963 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

    + + + 4.4 + 4.4 + §4.4 + + <tag close=" ">4.4</tag>The unit macros + +

    Non-SI units whose values in SI units must be obtained experimentally +(that are deprecated in siunitx v3, but make sure we still have them):

    + + + + Unit + Macro + Symbol + + + + + clight + \clight + + + + + + + c + 0 + + + + + + + + electronmass + \electronmass + + + + + + + m + e + + + + + + + + bohr + \bohr + + + + + + + a + 0 + + + + + + + + hartree + \hartree + + + + + + + E + h + + + + + + + + +
    +
    5.5 @@ -29,19 +120,13 @@ <tag close=" ">5.5.1</tag>add-decimal-zero -

    +

    - 10.0 + 10 - + - - - - 123 - . - - + 123

    @@ -343,7 +428,7 @@ <tag close=" ">5.12.1</tag>qualifier-mode -

    +

    @@ -353,7 +438,7 @@ ( - kgofpol + kgpol ) @@ -365,7 +450,7 @@ ( - molofcat + molcat ) From 8f73bf5c08716ea0bda9928b97fe1db45ad31f95 Mon Sep 17 00:00:00 2001 From: Tim Prescott Date: Fri, 3 Apr 2026 10:35:01 -0500 Subject: [PATCH 29/35] take tabular out of table --- t/complex/si.pdf | Bin 265321 -> 262692 bytes t/complex/si.tex | 241 +++----- t/complex/si.xml | 1465 +++++++++++++++++++--------------------------- 3 files changed, 701 insertions(+), 1005 deletions(-) diff --git a/t/complex/si.pdf b/t/complex/si.pdf index 47f95bd371a9d51b59bfbdbcaa2f5ee9b1da2ac0..ba498c35a3468d8ec3bf240884f7ade72604b5b3 100644 GIT binary patch delta 45573 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

    T@wa`k(Jc4ew>& zTqKkZ2fX=AI=Jfp@fAx3l~(GaC4a+;1?(pnys?>zwv_*; zA{b1Q>btx#-m9-7yS$4?!@R2{x=i_Hw36cLb+4S-)lC89Cr&^II4wj(pNxJTX?yq} zA@;&G%sNDj+u;P~h+*TL8jiv>DpMroWecca9X9RBySF<>)X2iJ1>vl*!cHOlDlvW^S^=&uW{A^XiresJxEtzvE8`|JkVBv z*tc%&bfygC@1n#GCO@pg_?|DDu6?WnUDUYSvfBe!kZuE+9bt%J*K-iA1B9p1;kzju z@reO4J>=fAI=!+OZP|o;L49p4RPzpH}TeoBq@Z zm=@0RgEILuLo0JYC6pQ!bma?f7mgR{V(%^MihMrPcoN<#c5`%l0I0h}5WQhQ8+U-g zRx%hA7cf3+@3Ttx*6k3??yqbZ6e}<$YuYnix9Dv#z+^cZ5K>Ks5UDGIgx}zY%&PzF z)vbKP;jaQd`rR#P2`M^kt@`10lscujX$HrrId_{gN&lD@^niG^a)^mvs2^<5SX8b~ zrf;$^jTVR6(<5sqXiH!}oQ9C}kNsHrGDVE?9i4tP*Kw{J< ztM3itX{CO?k`5%^h0A6W+Bv|7(@~HF^GDHdlS%KP3|fG{0Tv?XNhh zk4yRv&iyoH9&P`vh?`uoJjHAe%%ZSFn|a#t_ZMjmO zI!{NcPlg9!V^0(M0;U8UYfm{9v!iW)&}a&){Sjh7nlho5B1@6(KGSmT?k8-^C_o+> zYIu0+5DxS+uGjocQ`l)3&r^Wz^g9bu*<2+}j>jx+#hf(kQ(d{z`~|KPD9 zv{Ru%9AL9eA`dD;g7z6OgvVvEK{F#^`gK`N*LZ^83VpKUv8I;NVQ*K`TVU5peMp{k z0=Xx-J7)7KX%+jaX+E-e)e=@elUHDeP4Qkor`Nyb0ZrpDyvGtDBr^e_O-Kv!3N@W0;eaSf#-2n)aYmT6DKE=05>(@TD3TOFr8`qn>1QYj>5w9l?(q#Ugwu;eBLdLB4 zw?}kL8LcdDS7SYljhW{hx+D8NI#i@0M+!oA8$asQ4spOZ@Ho}xvxm=uBO-QsVQNJj zp>|Fs*s1@crq9Cf-qGzS1e~Il9T6jDYjfe_C|=9?OokW<;TNGYLC3%R%vMEd3nFdj z6G91mXs@5qPV+Qxvi0O4wn@qtod|X=zabq*M!Hl}kWcqEd0i^B%#Usc=<7c`Qu?;dK$j<#2;!$@QSgV850l>CEZ|##d9ir;N6tKq!bjDWEwx33Ckz2vWeVev?#!ihg%p zlSGS~>khpOf<2d^neLyn`{|FJp-JN>C@#o^LrMWCd+i?DFLH_!)G$tw=s&-XQjyKv z%%sZ+nr!5q(=$$VFO+8f_KU~4pe)a2JF%=Nl`P}nilKF3DP*747cliyH_|6%w8O{l z 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 z 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.2} \begin{tabular}{@{}SS[table-align-comparator = false]@{}} \toprule @@ -1695,17 +1654,14 @@ \subsubsection{table-align-[comparator\textbar exponent\textbar uncertainty]} < 12.34 & < 12.34 \\ \bottomrule \end{tabular} -\end{table} +\end{center} -Table \ref{tab:S:comparators} -\begin{table} -\caption{Reserving space for comparators in \texttt{S} columns.} -\label{tab:S:comparators} +Reserving space for comparators in \texttt{S} columns +\begin{center} \sisetup{ table-number-alignment = center, table-format=<<2.2e2, } -\centering \begin{tabular}{ S S%[table-comparator = true] @@ -1719,14 +1675,12 @@ \subsubsection{table-align-[comparator\textbar exponent\textbar uncertainty]} 3,76 & \gg e6 & \gg e6 \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{table-align-text-[before\textbar after]} -Table \ref{tab:S:notes} -\begin{table} -\centering -\caption{Closing notes up to text.% -\label{tab:S:notes}} + +Closing notes up to text +\begin{center} \newrobustcmd\NoteMark[1]{% \textsuperscript{\emph{#1}}% } @@ -1761,14 +1715,12 @@ \subsubsection{table-align-text-[before\textbar after]} 88 \NoteMark{d} & 88 \NoteMark{d} \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{table-auto-round} -Table \ref{tab:S:auto} -\begin{table} -\centering -\caption{The \texttt{table-auto-round} option.} -\label{tab:S:auto} + +The \texttt{table-auto-round} option +\begin{center} \sisetup{table-format = 1.3} \begin{tabular}{@{}SS[table-auto-round]@{}} \toprule @@ -1778,18 +1730,16 @@ \subsubsection{table-auto-round} 1.2345 & 1.2345 \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{parse-numbers} -Table \ref{tab:S:nonparsed} -\begin{table} -\caption{Aligning without parsing.} -\label{tab:S:nonparsed} + +Aligning without parsing +\begin{center} \sisetup{ parse-numbers = false, table-format = 3.3 } -\centering \begin{tabular}{@{} S S[table-number-alignment = center] @@ -1809,14 +1759,12 @@ \subsubsection{parse-numbers} \sqrt{2} & \sqrt{2} & \sqrt{2} & \sqrt{2} \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{drop-exponent} -Table \ref{tab:exp:omit} -\begin{table} -\caption{The \texttt{drop-exponent} option.% -\label{tab:exp:omit}} -\centering + +The \texttt{drop-exponent} option +\begin{center} \begin{tabular}{@{} S[table-format = 1.1e1] S[ @@ -1834,14 +1782,12 @@ \subsubsection{drop-exponent} 1.0e4 & 1.0e4 \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{table-column-width, table-fixed-width} -Table \ref{tab:width:fixed} -\begin{table} -\caption{Fixed-width columns.% -\label{tab:width:fixed}} -\centering + +Fixed-width columns +\begin{center} \begin{tabular} {@{} S @@ -1855,14 +1801,11 @@ \subsubsection{table-column-width, table-fixed-width} 45.6 & 45.6 \\ \bottomrule \end{tabular} -\end{table} +\end{center} -Table \ref{tab:width:special} -\begin{table} +Right-aligning under a heading +\begin{center} \newlength\mylength -\centering -\caption{Right-aligning under a heading.% -\label{tab:width:special}} \settowidth{\mylength}{Long header} \sisetup{ table-alignment-mode = none , @@ -1878,15 +1821,13 @@ \subsubsection{table-column-width, table-fixed-width} 1234 \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{table-text-alignment, table-alignment} -Table \ref{tab:S:text} -\begin{table} -\caption{Aligning text in \texttt{S} columns.} -\label{tab:S:text} + +Aligning text in \texttt{S} columns +\begin{center} \sisetup{table-format = 4.4} -\centering \begin{tabular}{ S S[table-text-alignment = left] @@ -1903,7 +1844,7 @@ \subsubsection{table-text-alignment, table-alignment} 3,7462 & 3,7462 & 3,7462 \\ \bottomrule \end{tabular} -\end{table} +\end{center} \subsubsection{table-alignment} @@ -1962,10 +1903,8 @@ \subsection{Adjusting \textbackslash litre and \textbackslash liter} \subsection{Expanding content in tables} -Table \ref{tab:xmpl:macro} -\begin{table}\centering -\caption{Values as macros in \texttt{S} columns.% -\label{tab:xmpl:macro}} +Values as macros in \texttt{S} columns +\begin{center} \newcommand*\myvaluea{1234} \newcommand\myvalueb{1234} \DeclareRobustCommand*\myvaluec{1234} @@ -1983,13 +1922,11 @@ \subsection{Expanding content in tables} {\myvaluea\ 8.8 \myvaluea} \\ % Neither expanded \bottomrule \end{tabular} -\end{table} +\end{center} % \usepackage{xfp} -%Table \ref{tab:xmpl:calc} -%\begin{table} -%\caption{Calculated values.% -%\label{tab:xmpl:calc}} +%Calculated values +%\begin{center} %\newcommand{\valuea}{66.7012} %\newcommand{\valueb}{66.0212} %\newcommand{\valuec}{64.9026} @@ -2007,7 +1944,7 @@ \subsection{Expanding content in tables} %\valuec & \fpeval{\valuec * 2} \\ %\bottomrule %\end{tabular} -%\end{table} +%\end{center} \setcounter{subsection}{10} diff --git a/t/complex/si.xml b/t/complex/si.xml index 54e7ed0e9b..c680cfa24f 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -1563,17 +1563,7 @@ <tag close=" ">3.5</tag>The unit macros -

    Table

    -
    - - - Table 1 - Table 1 - 1 - Table 1 - - 1SI base units - +

    The SI base units:

    @@ -1586,7 +1576,7 @@ -
    Table 1SI base units
    ampere \ampere + A @@ -1595,7 +1585,7 @@
    candela \candela - + cd @@ -1604,7 +1594,7 @@
    kelvin \kelvin - + K @@ -1613,7 +1603,7 @@
    kilogram \kilogram - + kg @@ -1622,7 +1612,7 @@
    metre \metre - + m @@ -1631,7 +1621,7 @@
    mole \mole - + mol @@ -1640,7 +1630,7 @@
    second \second - + s @@ -1648,19 +1638,9 @@
    -
    - -

    Table

    - - - Table 2 - Table 2 - 2 - Table 2 - - 2Coherent derived units - + +

    The coherent derived units:

    @@ -1676,14 +1656,14 @@ -
    Table 2Coherent derived units
    becquerel \becquerel + Bq newton \newton - + N @@ -1692,14 +1672,14 @@
    degreeCelsius \degreeCelsius - + °C ohm \ohm - + @@ -1708,14 +1688,14 @@
    coulomb \coulomb - + C pascal \pascal - + Pa @@ -1724,14 +1704,14 @@
    farad \farad - + F radian \radian - + rad @@ -1740,14 +1720,14 @@
    gray \gray - + Gy siemens \siemens - + S @@ -1756,14 +1736,14 @@
    hertz \hertz - + Hz sievert \sievert - + Sv @@ -1772,14 +1752,14 @@
    henry \henry - + H steradian \steradian - + sr @@ -1788,14 +1768,14 @@
    joule \joule - + J tesla \tesla - + T @@ -1804,14 +1784,14 @@
    katal \katal - + kat volt \volt - + V @@ -1820,14 +1800,14 @@
    lumen \lumen - + lm watt \watt - + W @@ -1836,14 +1816,14 @@
    lux \lux - + lx weber \weber - + Wb @@ -1851,19 +1831,9 @@
    -
    - -

    Table

    - - - Table 3 - Table 3 - 3 - Table 3 - - 3Non-SI units - + +

    The non-SI units:

    @@ -1876,7 +1846,7 @@ -
    Table 3Non-SI units
    astronomicalunit \astronomicalunit + au @@ -1885,7 +1855,7 @@
    bel \bel - + B @@ -1894,7 +1864,7 @@
    dalton \dalton - + Da @@ -1903,7 +1873,7 @@
    day \day - + d @@ -1912,7 +1882,7 @@
    decibel \decibel - + dB @@ -1921,7 +1891,7 @@
    degree \degree - + ° @@ -1930,7 +1900,7 @@
    electronvolt \electronvolt - + eV @@ -1939,7 +1909,7 @@
    hectare \hectare - + ha @@ -1948,7 +1918,7 @@
    hour \hour - + h @@ -1957,7 +1927,7 @@
    litre \litre - + l @@ -1966,7 +1936,7 @@
    liter \liter - + L @@ -1975,7 +1945,7 @@
    arcminute \arcminute - + @@ -1984,7 +1954,7 @@
    minute \minute - + min @@ -1993,7 +1963,7 @@
    arcsecond \arcsecond - + @@ -2002,7 +1972,7 @@
    neper \neper - + Np @@ -2011,7 +1981,7 @@
    tonne \tonne - + t @@ -2019,19 +1989,9 @@
    -
    - -

    Table

    - - - Table 4 - Table 4 - 4 - Table 4 - - 4SI prefixes - + +

    SI prefixes:

    @@ -2049,16 +2009,16 @@ -
    Table 4SI prefixes
    quecto \quecto + q - + - - + + 10 @@ -2066,27 +2026,27 @@ 30 - + deca \deca - + da - + - - + + 10 1 - + @@ -2094,16 +2054,16 @@
    ronto \ronto - + r - + - - + + 10 @@ -2111,27 +2071,27 @@ 27 - + hecto \hecto - + h - + - - + + 10 2 - + @@ -2139,16 +2099,16 @@
    yocto \yocto - + y - + - - + + 10 @@ -2156,27 +2116,27 @@ 24 - + kilo \kilo - + k - + - - + + 10 3 - + @@ -2184,16 +2144,16 @@
    zepto \zepto - + z - + - - + + 10 @@ -2201,27 +2161,27 @@ 21 - + mega \mega - + M - + - - + + 10 6 - + @@ -2229,16 +2189,16 @@
    atto \atto - + a - + - - + + 10 @@ -2246,27 +2206,27 @@ 18 - + giga \giga - + G - + - - + + 10 9 - + @@ -2274,16 +2234,16 @@
    femto \femto - + f - + - - + + 10 @@ -2291,27 +2251,27 @@ 15 - + tera \tera - + T - + - - + + 10 12 - + @@ -2319,16 +2279,16 @@
    pico \pico - + p - + - - + + 10 @@ -2336,27 +2296,27 @@ 12 - + peta \peta - + P - + - - + + 10 15 - + @@ -2364,16 +2324,16 @@
    nano \nano - + n - + - - + + 10 @@ -2381,27 +2341,27 @@ 9 - + exa \exa - + E - + - - + + 10 18 - + @@ -2409,16 +2369,16 @@
    micro \micro - + µ - + - - + + 10 @@ -2426,27 +2386,27 @@ 6 - + zetta \zetta - + Z - + - - + + 10 21 - + @@ -2454,16 +2414,16 @@
    milli \milli - + m - + - - + + 10 @@ -2471,27 +2431,27 @@ 3 - + yotta \yotta - + Y - + - - + + 10 24 - + @@ -2499,16 +2459,16 @@
    centi \centi - + c - + - - + + 10 @@ -2516,27 +2476,27 @@ 2 - + ronna \ronna - + R - + - - + + 10 27 - + @@ -2544,16 +2504,16 @@
    deci \deci - + d - + - - + + 10 @@ -2561,34 +2521,34 @@ 1 - + quetta \quetta - + Q - + - - + + 10 30 - +
    -
    +

    @@ -2828,15 +2788,15 @@

    Table 5

    - +
    - Table 5 - Table 5 - 5 - Table 5 + Table 1 + Table 1 + 1 + Table 1 - - 5Abbreviated units + + 1Abbreviated units @@ -2849,7 +2809,7 @@ -
    Table 5Abbreviated unitsTable 1Abbreviated units
    femtogram \fg + fg @@ -2858,7 +2818,7 @@
    picogram \pg - + pg @@ -2867,7 +2827,7 @@
    nanogram \ng - + ng @@ -2876,7 +2836,7 @@
    microgram \ug - + @@ -2889,7 +2849,7 @@
    milligram \mg - + mg @@ -2898,7 +2858,7 @@
    gram \g - + g @@ -2907,7 +2867,7 @@
    kilogram \kg - + kg @@ -2916,7 +2876,7 @@
    picometre \pm - + pm @@ -2925,7 +2885,7 @@
    nanometre \nm - + nm @@ -2934,7 +2894,7 @@
    micrometre \um - + @@ -2947,7 +2907,7 @@
    millimetre \mm - + mm @@ -2956,7 +2916,7 @@
    centimetre \cm - + cm @@ -2965,7 +2925,7 @@
    decimetre \dm - + dm @@ -2974,7 +2934,7 @@
    metre \m - + m @@ -2983,7 +2943,7 @@
    kilometre \km - + km @@ -2992,7 +2952,7 @@
    picometer \pm - + pm @@ -3001,7 +2961,7 @@
    nanometer \nm - + nm @@ -3010,7 +2970,7 @@
    micrometer \um - + @@ -3023,7 +2983,7 @@
    millimeter \mm - + mm @@ -3032,7 +2992,7 @@
    centimeter \cm - + cm @@ -3041,7 +3001,7 @@
    decimeter \dm - + dm @@ -3050,7 +3010,7 @@
    meter \m - + m @@ -3059,7 +3019,7 @@
    kilometer \km - + km @@ -3068,7 +3028,7 @@
    attosecond \as - + as @@ -3077,7 +3037,7 @@
    femtosecond \fs - + fs @@ -3086,7 +3046,7 @@
    picosecond \ps - + ps @@ -3095,7 +3055,7 @@
    nanosecond \ns - + ns @@ -3104,7 +3064,7 @@
    microsecond \us - + @@ -3117,7 +3077,7 @@
    millisecond \ms - + ms @@ -3126,7 +3086,7 @@
    second \s - + s @@ -3135,7 +3095,7 @@
    femtomole \fmol - + fmol @@ -3144,7 +3104,7 @@
    picomole \pmol - + pmol @@ -3153,7 +3113,7 @@
    nanomole \nmol - + nmol @@ -3162,7 +3122,7 @@
    micromole \umol - + @@ -3175,7 +3135,7 @@
    millimole \mmol - + mmol @@ -3184,7 +3144,7 @@
    mole \mol - + mol @@ -3193,7 +3153,7 @@
    kilomole \kmol - + kmol @@ -3202,7 +3162,7 @@
    picoampere \pA - + pA @@ -3211,7 +3171,7 @@
    nanoampere \nA - + nA @@ -3220,7 +3180,7 @@
    microampere \uA - + @@ -3233,7 +3193,7 @@
    milliampere \mA - + mA @@ -3242,7 +3202,7 @@
    ampere \A - + A @@ -3251,7 +3211,7 @@
    kiloampere \kA - + kA @@ -3260,7 +3220,7 @@
    microlitre \ul - + @@ -3273,7 +3233,7 @@
    millilitre \ml - + ml @@ -3282,7 +3242,7 @@
    litre \l - + l @@ -3291,7 +3251,7 @@
    hectolitre \hl - + hl @@ -3300,7 +3260,7 @@
    microliter \uL - + @@ -3313,7 +3273,7 @@
    milliliter \mL - + mL @@ -3322,7 +3282,7 @@
    liter \L - + L @@ -3331,7 +3291,7 @@
    hectoliter \hL - + hL @@ -3340,7 +3300,7 @@
    millihertz \mHz - + mHz @@ -3349,7 +3309,7 @@
    hertz \Hz - + Hz @@ -3358,7 +3318,7 @@
    kilohertz \kHz - + kHz @@ -3367,7 +3327,7 @@
    megahertz \MHz - + MHz @@ -3376,7 +3336,7 @@
    gigahertz \GHz - + GHz @@ -3385,7 +3345,7 @@
    terahertz \THz - + THz @@ -3394,7 +3354,7 @@
    millinewton \mN - + mN @@ -3403,7 +3363,7 @@
    newton \N - + N @@ -3412,7 +3372,7 @@
    kilonewton \kN - + kN @@ -3421,7 +3381,7 @@
    meganewton \MN - + MN @@ -3430,7 +3390,7 @@
    pascal \Pa - + Pa @@ -3439,7 +3399,7 @@
    kilopascal \kPa - + kPa @@ -3448,7 +3408,7 @@
    megapascal \MPa - + MPa @@ -3457,7 +3417,7 @@
    gigapascal \GPa - + GPa @@ -3466,7 +3426,7 @@
    milliohm \mohm - + @@ -3479,7 +3439,7 @@
    kiloohm \kohm - + @@ -3492,7 +3452,7 @@
    megaohm \Mohm - + @@ -3505,7 +3465,7 @@
    picovolt \pV - + pV @@ -3514,7 +3474,7 @@
    nanovolt \nV - + nV @@ -3523,7 +3483,7 @@
    microvolt \uV - + @@ -3536,7 +3496,7 @@
    millivolt \mV - + mV @@ -3545,7 +3505,7 @@
    volt \V - + V @@ -3554,7 +3514,7 @@
    kilovolt \kV - + kV @@ -3563,7 +3523,7 @@
    nanowatt \nW - + nW @@ -3572,7 +3532,7 @@
    microwatt \uW - + @@ -3585,7 +3545,7 @@
    milliwatt \mW - + mW @@ -3594,7 +3554,7 @@
    watt \W - + W @@ -3603,7 +3563,7 @@
    kilowatt \kW - + kW @@ -3612,7 +3572,7 @@
    megawatt \MW - + MW @@ -3621,7 +3581,7 @@
    gigawatt \GW - + GW @@ -3630,7 +3590,7 @@
    microjoule \uJ - + @@ -3643,7 +3603,7 @@
    millijoule \mJ - + mJ @@ -3652,7 +3612,7 @@
    joule \J - + J @@ -3661,7 +3621,7 @@
    kilojoule \kJ - + kJ @@ -3670,7 +3630,7 @@
    millielectronvolt \meV - + meV @@ -3679,7 +3639,7 @@
    electronvolt \eV - + eV @@ -3688,7 +3648,7 @@
    kiloelectronvolt \keV - + keV @@ -3697,7 +3657,7 @@
    megaelectronvolt \MeV - + MeV @@ -3706,7 +3666,7 @@
    gigaelectronvolt \GeV - + GeV @@ -3715,7 +3675,7 @@
    teraelectronvolt \TeV - + TeV @@ -3724,12 +3684,12 @@
    kilowatt hour \kWh - + - - kW - h + + kW + h @@ -3737,7 +3697,7 @@
    femtofarad \fF - + fF @@ -3746,7 +3706,7 @@
    picofarad \pF - + pF @@ -3755,7 +3715,7 @@
    nanofarad \nF - + nF @@ -3764,7 +3724,7 @@
    microfarad \uF - + @@ -3777,7 +3737,7 @@
    millifarad \mF - + mF @@ -3786,7 +3746,7 @@
    farad \F - + F @@ -3795,7 +3755,7 @@
    femtohenry \fH - + fH @@ -3804,7 +3764,7 @@
    picohenry \pH - + pH @@ -3813,7 +3773,7 @@
    nanohenry \nH - + nH @@ -3822,7 +3782,7 @@
    microhenry \uH - + @@ -3835,7 +3795,7 @@
    millihenry \mH - + mH @@ -3844,7 +3804,7 @@
    henry \H - + H @@ -3853,7 +3813,7 @@
    nanocoulomb \nC - + nC @@ -3862,7 +3822,7 @@
    microcoulomb \uC - + @@ -3875,7 +3835,7 @@
    millicoulomb \mC - + mC @@ -3884,7 +3844,7 @@
    coulomb \C - + C @@ -3893,7 +3853,7 @@
    microtesla \uT - + @@ -3906,7 +3866,7 @@
    millitesla \mT - + mT @@ -3915,7 +3875,7 @@
    tesla \T - + T @@ -3924,7 +3884,7 @@
    kelvin \K - + K @@ -3933,7 +3893,7 @@
    decibel \dB - + dB @@ -3943,17 +3903,7 @@
    -

    Table

    -
    - - - Table 6 - Table 6 - 6 - Table 6 - - 6Binary prefixes - +

    Binary prefixes:

    @@ -3967,7 +3917,7 @@ -
    Table 6Binary prefixes
    kibi \kibi + Ki @@ -3977,7 +3927,7 @@
    mebi \mebi - + Mi @@ -3987,7 +3937,7 @@
    gibi \gibi - + Gi @@ -3997,7 +3947,7 @@
    tebi \tebi - + Ti @@ -4007,7 +3957,7 @@
    pebi \pebi - + Pi @@ -4017,7 +3967,7 @@
    exbi \exbi - + Ei @@ -4027,7 +3977,7 @@
    zebi \zebi - + Zi @@ -4037,7 +3987,7 @@
    yobi \yobi - + Yi @@ -4046,8 +3996,7 @@
    -
    - +
    @@ -4401,17 +4350,7 @@ <tag close=" ">3.8</tag>Tabular material -

    Table

    -
    - - - Table 7 - Table 7 - 7 - Table 7 - - 7Standard behaviour of the S column type. - +

    Standard behaviour of the S column type

    @@ -4420,21 +4359,21 @@ - - - - - - - -
    Table 7Standard behaviour of the S column type.
    + 2.3456
    + 34.2345
    + - @@ -4444,30 +4383,30 @@
    + 90.473
    + 5642.5
    + - × - + × + 1.2 - + 10 3 @@ -4477,7 +4416,7 @@
    + @@ -4489,19 +4428,9 @@
    - -

    Table

    - - - Table 8 - Table 8 - 8 - Table 8 - - 8Detection of surrounding material in an S column. - + +

    Detection of surrounding material in an S column

    @@ -4510,21 +4439,21 @@ - - - -
    Table 8Detection of surrounding material in an S column.
    + 12.34
    + 975.31
    + 44.268 @@ -4532,54 +4461,44 @@
    - -

    Table

    - - - Table 9 - Table 9 - 9 - Table 9 - - 9Text before and after numbers. - + +

    Text before and after numbers

    - - - - - -
    Table 9Text before and after numbers.
    Values
    + 2.3456
    + 34.2345 a
    + 34.2345 a
    + 56.7835
    now  + now  90.473 @@ -4587,20 +4506,10 @@
    - -

    Table

    - - - Table 10 - Table 10 - 10 - Table 10 - - 10Controlling complex alignment with the tablenum macro. - - + +

    Controlling complex alignment with the tablenum macro

    +
    @@ -4617,21 +4526,21 @@ - - - - + @@ -4648,7 +4557,7 @@ - - -
    Table 10Controlling complex alignment with the tablenum macro.
    Heading
    + 12.34
    + 333.5567
    + 4563.21 @@ -4639,7 +4548,7 @@
    Heading
    + 88.999 @@ -4659,7 +4568,7 @@ bbb
    + 33.435 @@ -4671,7 +4580,7 @@
    +