[Remind-Fans] Seeking testers for 04.02.03-BETA-2

Tim Chase remind at tim.thechases.com
Tue Feb 7 14:44:17 EST 2023


On 2023-02-07 13:12, Dianne Skoll via Remind-fans wrote:
> CHANGES TO REMIND
> - BUG FIX: Remind: Fix incorrect interaction between sortbanner() and
>   MSF-type reminders.  Bug found by Tim Chase. [NEW IN BETA-2]
> 
> - BUG FIX: examples/defs.rem: Fix the calculation of US Tax Day as per
>   Tavis Ormandy and Tim Chase.  Also fixed in include/holidays/us.rem

Thank you!

I did notice that, while I guess it's correct, some of the "(observed)"
holidays show up multiple times in -n mode:

  $ remind -n include/holidays/us.rem | grep -2 observed
  2023/04/01 April Fool's Day
  2024/04/16 Emancipation Day
  2033/04/15 Emancipation Day (observed)
  2023/04/17 Emancipation Day (observed)
  2023/04/18 Income tax due
  2023/05/05 Cinco de Mayo
  --
  2023/06/14 Flag Day
  2023/07/04 Independence Day
  2026/07/03 Independence Day (observed)
  2027/07/05 Independence Day (observed)
  2023/06/18 Father's Day
  2023/09/04 Labor Day

I mean, it's *right*, but it felt a little odd to have all of the
instances show up.

I don't know if there's a good solution beyond doing something
ghastly like (untested, shooting from the hip)

  # if it falls on a weekend
  # bump Saturday backward
  # and Sunday forward
  FSET bump(d) iif(wkdaynum(d) == 0, \
    slide(d, 1, "Sat", "Sun"), \
    iif(wkdaynum(d) == 6, \
    slide(d, -1, "Sat", "Sun"), \
    d))

  REM Apr 16 SCANFROM -7 MSG Emancipation Day
  SET emanc_day_obs bump($T)
  IF $T != emanc_day_obs
    REM [emanc_day_obs] MSG Emancipation Day (observed)
  ENDIF

Not a big deal, just one of those oddities.

Otherwise, I didn't encounter any issues with banging against my
reminder files, but a

  $ make test

gave errors (attached, along with a diff against the test.cmp)
that all seem to revolve around timezone conversion.  The local
machine is set to CST if that matters.

-tim




-------------- next part --------------
Test 1

# Test file for REMIND
#
# Use this file to test the date calculation routines
# of the REMIND program by typing:
#
# 	./test-rem  # From WITHIN Remind source directory!

# Should issue a warning
fset year(x) 1
../tests/test.rem(9): Attempt to redefine built-in function: `year'

# Don't evaluate SATISFY expressions if reminder has expired

REM Wed UNTIL 15 Feb 1991 SATISFY [trigdate() > '1990-01-01'] MSG wookie
../tests/test.rem(13): Expired

# bad AT
REM AT 0:00 0:01 0:02 MSG foo
../tests/test.rem(16): Time specified twice

# Includecmd
INCLUDECMD echo REM 16 Feb 1991 MSG Blork
REM 16 Feb 1991 MSG Blork

REM 16 Feb 1991 MSG Blork
echo REM 16 Feb 1991 MSG Blork|(1): Trig = Saturday, 16 February, 1991
Reminders for Saturday, 16th February, 1991:

Blork

INCLUDECMD echo REM 18 Feb 1991 MSG Blork
REM 18 Feb 1991 MSG Blork

REM 18 Feb 1991 MSG Blork
echo REM 18 Feb 1991 MSG Blork|(1): Trig = Monday, 18 February, 1991

# Includecmd with continuation line
INCLUDECMD echo REM 18 Feb 1991 MSG This line is \
continued so there
REM 18 Feb 1991 MSG This line is continued so there

REM 18 Feb 1991 MSG This line is continued so there
echo REM 18 Feb 1991 MSG This line is  continued so there|(1): Trig = Monday, 18 February, 1991

# This should work
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo MSG Yippee

INCLUDECMD echo MSG Yippee
MSG Yippee

MSG Yippee
echo MSG Yippee|(1): Trig = Saturday, 16 February, 1991
Yippee


# This should fail
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee

INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo INCLUDECMD echo MSG Yippee
INCLUDECMD echo MSG Yippee
echo INCLUDECMD echo MSG Yippee|(1): INCLUDE nested too deeply
REM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
../tests/test.rem(31): Trig = Saturday, 16 February, 1991
today() => 1991-02-16
hebday(1991-02-16) => 2
today() => 1991-02-16
hebmon(1991-02-16) => "Adar"
today() => 1991-02-16
hebyear(1991-02-16) => 5751
Today is 2 Adar 5751

fset _h(x, y) trigger(hebdate(x,y))

# Test case from Remind mailing list
set mltest "a b"
INCLUDECMD printf 'REM %s\n' [mltest]
mltest => "a b"
REM a
REM b

REM a
printf 'REM %s\n' a b|(1): Trig = Saturday, 16 February, 1991
a 

REM b
printf 'REM %s\n' a b|(2): Trig = Saturday, 16 February, 1991
b 


# Disabling RUN in an !includecmd
INCLUDECMD !echo MSG foo
MSG foo

MSG foo
!echo MSG foo|(1): Trig = Saturday, 16 February, 1991
foo

INCLUDECMD !echo MSG foo
MSG foo
!echo MSG foo|(1): Trig = Saturday, 16 February, 1991
foo

INCLUDECMD !echo INCLUDECMD echo MSG foo
INCLUDECMD echo MSG foo

INCLUDECMD echo MSG foo
!echo INCLUDECMD echo MSG foo|(1): RUN disabled
INCLUDECMD !echo INCLUDECMD echo MSG foo
INCLUDECMD echo MSG foo
!echo INCLUDECMD echo MSG foo|(1): RUN disabled
INCLUDECMD !echo MSG foo
MSG foo
!echo MSG foo|(1): Trig = Saturday, 16 February, 1991
foo

INCLUDECMD !echo MSG foo
MSG foo
!echo MSG foo|(1): Trig = Saturday, 16 February, 1991
foo


# INCLUDECMD with RUN disabled
RUN OFF
INCLUDECMD echo MSG foo
../tests/test.rem(48): RUN disabled
RUN ON
INCLUDECMD echo MSG foo
MSG foo

MSG foo
echo MSG foo|(1): Trig = Saturday, 16 February, 1991
foo


[_h(1,  "Tishrey")] MSG Rosh Hashana 1
Entering UserFN _h(1, "Tishrey")
x => 1
y => "Tishrey"
hebdate(1, "Tishrey") => 1991-09-09
trigger(1991-09-09) => "9 September 1991"
Leaving UserFN _h() => "9 September 1991"
../tests/test.rem(52): Trig = Monday, 9 September, 1991
[_h(2,  "Tishrey")] MSG Rosh Hashana 2
Entering UserFN _h(2, "Tishrey")
x => 2
y => "Tishrey"
hebdate(2, "Tishrey") => 1991-09-10
trigger(1991-09-10) => "10 September 1991"
Leaving UserFN _h() => "10 September 1991"
../tests/test.rem(53): Trig = Tuesday, 10 September, 1991
[_h(3,  "Tishrey")] MSG Tzom Gedalia
Entering UserFN _h(3, "Tishrey")
x => 3
y => "Tishrey"
hebdate(3, "Tishrey") => 1991-09-11
trigger(1991-09-11) => "11 September 1991"
Leaving UserFN _h() => "11 September 1991"
../tests/test.rem(54): Trig = Wednesday, 11 September, 1991
[_h(10, "Tishrey")] MSG Yom Kippur
Entering UserFN _h(10, "Tishrey")
x => 10
y => "Tishrey"
hebdate(10, "Tishrey") => 1991-09-18
trigger(1991-09-18) => "18 September 1991"
Leaving UserFN _h() => "18 September 1991"
../tests/test.rem(55): Trig = Wednesday, 18 September, 1991
[_h(15, "Tishrey")] MSG Sukkot 1
Entering UserFN _h(15, "Tishrey")
x => 15
y => "Tishrey"
hebdate(15, "Tishrey") => 1991-09-23
trigger(1991-09-23) => "23 September 1991"
Leaving UserFN _h() => "23 September 1991"
../tests/test.rem(56): Trig = Monday, 23 September, 1991
[_h(25, "Kislev")]  MSG Channuka
Entering UserFN _h(25, "Kislev")
x => 25
y => "Kislev"
hebdate(25, "Kislev") => 1991-12-02
trigger(1991-12-02) => "2 December 1991"
Leaving UserFN _h() => "2 December 1991"
../tests/test.rem(57): Trig = Monday, 2 December, 1991
[_h(10, "Tevet")]   MSG Asara B'Tevet
Entering UserFN _h(10, "Tevet")
x => 10
y => "Tevet"
hebdate(10, "Tevet") => 1991-12-17
trigger(1991-12-17) => "17 December 1991"
Leaving UserFN _h() => "17 December 1991"
../tests/test.rem(58): Trig = Tuesday, 17 December, 1991
[_h(15, "Shvat")]   MSG Tu B'Shvat
Entering UserFN _h(15, "Shvat")
x => 15
y => "Shvat"
hebdate(15, "Shvat") => 1992-01-20
trigger(1992-01-20) => "20 January 1992"
Leaving UserFN _h() => "20 January 1992"
../tests/test.rem(59): Trig = Monday, 20 January, 1992
[_h(15, "Adar A")]  MSG Purim Katan
Entering UserFN _h(15, "Adar A")
x => 15
y => "Adar A"
hebdate(15, "Adar A") => 1992-02-19
trigger(1992-02-19) => "19 February 1992"
Leaving UserFN _h() => "19 February 1992"
../tests/test.rem(60): Trig = Wednesday, 19 February, 1992
[_h(14, "Adar")]    MSG Purim
Entering UserFN _h(14, "Adar")
x => 14
y => "Adar"
hebdate(14, "Adar") => 1991-02-28
trigger(1991-02-28) => "28 February 1991"
Leaving UserFN _h() => "28 February 1991"
../tests/test.rem(61): Trig = Thursday, 28 February, 1991
[_h(15, "Nisan")]   MSG Pesach
Entering UserFN _h(15, "Nisan")
x => 15
y => "Nisan"
hebdate(15, "Nisan") => 1991-03-30
trigger(1991-03-30) => "30 March 1991"
Leaving UserFN _h() => "30 March 1991"
../tests/test.rem(62): Trig = Saturday, 30 March, 1991
[_h(27, "Nisan")]   MSG Yom HaShoah
Entering UserFN _h(27, "Nisan")
x => 27
y => "Nisan"
hebdate(27, "Nisan") => 1991-04-11
trigger(1991-04-11) => "11 April 1991"
Leaving UserFN _h() => "11 April 1991"
../tests/test.rem(63): Trig = Thursday, 11 April, 1991
[_h(4,  "Iyar")]    MSG Yom HaZikaron
Entering UserFN _h(4, "Iyar")
x => 4
y => "Iyar"
hebdate(4, "Iyar") => 1991-04-18
trigger(1991-04-18) => "18 April 1991"
Leaving UserFN _h() => "18 April 1991"
../tests/test.rem(64): Trig = Thursday, 18 April, 1991
[_h(5,  "Iyar")]    MSG Yom Ha'atzmaut
Entering UserFN _h(5, "Iyar")
x => 5
y => "Iyar"
hebdate(5, "Iyar") => 1991-04-19
trigger(1991-04-19) => "19 April 1991"
Leaving UserFN _h() => "19 April 1991"
../tests/test.rem(65): Trig = Friday, 19 April, 1991
[_h(28, "Iyar")]    MSG Yom Yerushalayim
Entering UserFN _h(28, "Iyar")
x => 28
y => "Iyar"
hebdate(28, "Iyar") => 1991-05-12
trigger(1991-05-12) => "12 May 1991"
Leaving UserFN _h() => "12 May 1991"
../tests/test.rem(66): Trig = Sunday, 12 May, 1991
[_h(6,  "Sivan")]   MSG Shavuot
Entering UserFN _h(6, "Sivan")
x => 6
y => "Sivan"
hebdate(6, "Sivan") => 1991-05-19
trigger(1991-05-19) => "19 May 1991"
Leaving UserFN _h() => "19 May 1991"
../tests/test.rem(67): Trig = Sunday, 19 May, 1991
[_h(9,  "Av")]      MSG Tish'a B'Av
Entering UserFN _h(9, "Av")
x => 9
y => "Av"
hebdate(9, "Av") => 1991-07-20
trigger(1991-07-20) => "20 July 1991"
Leaving UserFN _h() => "20 July 1991"
../tests/test.rem(68): Trig = Saturday, 20 July, 1991

# Test some jahrzeit cases
fset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
[_i(30, "Heshvan", today(), 5759)] MSG Complete-Complete
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5759)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5759
hebdate(30, "Heshvan", 1991-02-16, 5759) => 1991-11-07
trigger(1991-11-07) => "7 November 1991"
Leaving UserFN _i() => "7 November 1991"
../tests/test.rem(72): Trig = Thursday, 7 November, 1991
[_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5760)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5760
hebdate(30, "Heshvan", 1991-02-16, 5760) => 1991-11-07
trigger(1991-11-07) => "7 November 1991"
Leaving UserFN _i() => "7 November 1991"
../tests/test.rem(73): Trig = Thursday, 7 November, 1991
[_i(30, "Heshvan", today(), 5761)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5761)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5761
hebdate(30, "Heshvan", 1991-02-16, 5761) => ../tests/test.rem(74): 
../tests/test.rem(71): In function `_i': 30 Heshvan 5761: Invalid Hebrew date
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date

[_i(30, "Kislev", today(), 5759)] MSG Complete-Complete
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5759)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5759
hebdate(30, "Kislev", 1991-02-16, 5759) => 1991-12-07
trigger(1991-12-07) => "7 December 1991"
Leaving UserFN _i() => "7 December 1991"
../tests/test.rem(76): Trig = Saturday, 7 December, 1991
[_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5760)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5760
hebdate(30, "Kislev", 1991-02-16, 5760) => 1991-12-07
trigger(1991-12-07) => "7 December 1991"
Leaving UserFN _i() => "7 December 1991"
../tests/test.rem(77): Trig = Saturday, 7 December, 1991
[_i(30, "Kislev", today(), 5761)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5761)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5761
hebdate(30, "Kislev", 1991-02-16, 5761) => ../tests/test.rem(78): 
../tests/test.rem(71): In function `_i': 30 Kislev 5761: Invalid Hebrew date
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date

[_i(30, "Adar A", today(), 5755)] MSG Leap
today() => 1991-02-16
Entering UserFN _i(30, "Adar A", 1991-02-16, 5755)
x => 30
y => "Adar A"
z => 1991-02-16
a => 5755
hebdate(30, "Adar A", 1991-02-16, 5755) => 1992-03-05
trigger(1992-03-05) => "5 March 1992"
Leaving UserFN _i() => "5 March 1992"
../tests/test.rem(80): Trig = Thursday, 5 March, 1992
[_i(30, "Adar A", today(), 5756)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Adar A", 1991-02-16, 5756)
x => 30
y => "Adar A"
z => 1991-02-16
a => 5756
hebdate(30, "Adar A", 1991-02-16, 5756) => ../tests/test.rem(81): 
../tests/test.rem(71): In function `_i': No Adar A in 5756
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date
[_i(29, "Adar A", today(), 5755)] MSG Leap
today() => 1991-02-16
Entering UserFN _i(29, "Adar A", 1991-02-16, 5755)
x => 29
y => "Adar A"
z => 1991-02-16
a => 5755
hebdate(29, "Adar A", 1991-02-16, 5755) => 1991-03-15
trigger(1991-03-15) => "15 March 1991"
Leaving UserFN _i() => "15 March 1991"
../tests/test.rem(82): Trig = Friday, 15 March, 1991
[_i(29, "Adar A", today(), 5756)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(29, "Adar A", 1991-02-16, 5756)
x => 29
y => "Adar A"
z => 1991-02-16
a => 5756
hebdate(29, "Adar A", 1991-02-16, 5756) => ../tests/test.rem(83): 
../tests/test.rem(71): In function `_i': No Adar A in 5756
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date

# This causes a parse error on version 03.01.01
REM 1990-01-01 SATISFY 1
../tests/test.rem(86): Expired

# Test each possible case of the basic reminders.

REM MSG Every Day
../tests/test.rem(90): Trig = Saturday, 16 February, 1991
Every Day


REM 18 MSG Every 18th 
../tests/test.rem(92): Trig = Monday, 18 February, 1991
REM 15 MSG Every 15th
../tests/test.rem(93): Trig = Friday, 15 March, 1991

REM Feb MSG February
../tests/test.rem(95): Trig = Saturday, 16 February, 1991
February

REM Jan MSG January
../tests/test.rem(96): Trig = Wednesday, 1 January, 1992
REM March MSG March
../tests/test.rem(97): Trig = Friday, 1 March, 1991

REM 13 Jan MSG 13 Jan
../tests/test.rem(99): Trig = Monday, 13 January, 1992
REM 15 Feb MSG 15 Feb
../tests/test.rem(100): Trig = Saturday, 15 February, 1992
REM 28 Feb MSG 28 Feb
../tests/test.rem(101): Trig = Thursday, 28 February, 1991
REM 29 Feb MSG 29 Feb
../tests/test.rem(102): Trig = Saturday, 29 February, 1992
REM 5 Mar MSG 5 Mar
../tests/test.rem(103): Trig = Tuesday, 5 March, 1991

REM 1990 MSG 1990
../tests/test.rem(105): Expired
REM 1991 MSG 1991
../tests/test.rem(106): Trig = Saturday, 16 February, 1991
1991

REM 1992 MSG 1991
../tests/test.rem(107): Trig = Wednesday, 1 January, 1992

REM 1 1990 MSG 1 1990
../tests/test.rem(109): Expired
REM 29 1991 MSG 29 1991
../tests/test.rem(110): Trig = Friday, 29 March, 1991
REM 29 1992 MSG 29 1992
../tests/test.rem(111): Trig = Wednesday, 29 January, 1992
REM 16 1991 MSG 16 1991
../tests/test.rem(112): Trig = Saturday, 16 February, 1991
16 1991


REM Jan 1990 MSG Jan 1990
../tests/test.rem(114): Expired
REM Feb 1991 MSG Feb 1991
../tests/test.rem(115): Trig = Saturday, 16 February, 1991
Feb 1991

REM Dec 1991 MSG Dec 1991
../tests/test.rem(116): Trig = Sunday, 1 December, 1991
REM May 1992 MSG May 1992
../tests/test.rem(117): Trig = Friday, 1 May, 1992

REM 1 Jan 1991 MSG 1 Jan 1991
../tests/test.rem(119): Expired
REM 16 Feb 1991 MSG 16 Feb 1991
../tests/test.rem(120): Trig = Saturday, 16 February, 1991
16 Feb 1991

REM 29 Dec 1992 MSG 29 Dec 1992
../tests/test.rem(121): Trig = Tuesday, 29 December, 1992

REM Sun MSG Sun
../tests/test.rem(123): Trig = Sunday, 17 February, 1991
REM Fri Sat Tue MSG Fri Sat Tue
../tests/test.rem(124): Trig = Saturday, 16 February, 1991
Fri Sat Tue


REM Sun 16 MSG Sun 16
../tests/test.rem(126): Trig = Sunday, 17 February, 1991
REM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
../tests/test.rem(127): Trig = Friday, 1 March, 1991

REM Sun Feb MSG Sun Feb
../tests/test.rem(129): Trig = Sunday, 17 February, 1991
REM Mon Tue March MSG Mon Tue March
../tests/test.rem(130): Trig = Monday, 4 March, 1991

REM Sun 16 Feb MSG Sun 16 Feb
../tests/test.rem(132): Trig = Sunday, 17 February, 1991
REM Mon Tue 10 March MSG Mon Tue 10 March
../tests/test.rem(133): Trig = Monday, 11 March, 1991

REM Sat Sun 1991 MSG Sat Sun 1991
../tests/test.rem(135): Trig = Saturday, 16 February, 1991
Sat Sun 1991

REM Mon Tue 1992 MSG Mon Tue 1992
../tests/test.rem(136): Trig = Monday, 6 January, 1992

REM Sun 16 1991 MSG Sun 16 1991
../tests/test.rem(138): Trig = Sunday, 17 February, 1991
REM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
../tests/test.rem(139): Trig = Wednesday, 1 January, 1992

REM Mon Feb 1991 MSG Mon Feb 1991
../tests/test.rem(141): Trig = Monday, 18 February, 1991
REM Tue Jan 1992 MSG Tue Jan 1992
../tests/test.rem(142): Trig = Tuesday, 7 January, 1992

REM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
../tests/test.rem(144): Trig = Sunday, 17 February, 1991
REM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
../tests/test.rem(145): Trig = Tuesday, 28 January, 1992

# Try some Backs
CLEAR-OMIT-CONTEXT
REM 1 -1 OMIT thu MSG 1 -1 OMIT Thu
../tests/test.rem(149): Trig = Wednesday, 27 February, 1991
REM 1 --1 OMIT thu MSG 1 --1 OMIT Thu
../tests/test.rem(150): Trig = Thursday, 28 February, 1991

PUSH-OMIT-CONTEXT
OMIT Thu
REM 1 -1 MSG 1 -1 OMIT Thu globally
../tests/test.rem(154): Trig = Wednesday, 27 February, 1991
REM 1 --1 MSG 1 --1 OMIT Thu globally
../tests/test.rem(155): Trig = Thursday, 28 February, 1991
POP-OMIT-CONTEXT

OMIT 28 Feb
REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
../tests/test.rem(159): Trig = Wednesday, 27 February, 1991
REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
../tests/test.rem(160): Trig = Thursday, 28 February, 1991

CLEAR-OMIT-CONTEXT

# Try out UNTIL
REM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
../tests/test.rem(165): Trig = Wednesday, 20 February, 1991

# Try playing with the OMIT context

OMIT 28 Feb 1991
REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
../tests/test.rem(170): Trig = Wednesday, 27 February, 1991
REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
../tests/test.rem(171): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
../tests/test.rem(172): Trig = Wednesday, 27 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
../tests/test.rem(173): Trig = Friday, 28 February, 1992
REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
../tests/test.rem(174): Trig = Friday, 1 March, 1991

PUSH-OMIT-CONTEXT
CLEAR-OMIT-CONTEXT
REM 1 Mar -1 MSG 1 mar -1
../tests/test.rem(178): Trig = Thursday, 28 February, 1991
REM 1 Mar --1 MSG 1 mar --1
../tests/test.rem(179): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE
../tests/test.rem(180): Trig = Thursday, 28 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP
../tests/test.rem(181): Trig = Thursday, 28 February, 1991
REM 28 Feb AFTER MSG 28 Feb AFTER
../tests/test.rem(182): Trig = Thursday, 28 February, 1991

POP-OMIT-CONTEXT
REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
../tests/test.rem(185): Trig = Wednesday, 27 February, 1991
REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
../tests/test.rem(186): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
../tests/test.rem(187): Trig = Wednesday, 27 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
../tests/test.rem(188): Trig = Friday, 28 February, 1992
REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
../tests/test.rem(189): Trig = Friday, 1 March, 1991


REM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
../tests/test.rem(192): Trig = Wednesday, 13 March, 1991

# Test BACK
CLEAR-OMIT-CONTEXT
REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
../tests/test.rem(196): Trig = Monday, 18 February, 1991

OMIT 17 Feb 1991
REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
../tests/test.rem(199): Trig = Monday, 18 February, 1991
18 Feb 1991 +1 (17Feb91 omitted)

REM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
../tests/test.rem(200): Trig = Monday, 18 February, 1991

CLEAR-OMIT-CONTEXT
# Test the scanfrom clause
REM Fri SATISFY 1
../tests/test.rem(204): Trig = Friday, 22 February, 1991
../tests/test.rem(204): Trig(satisfied) = Friday, 22 February, 1991
OMIT [trigger(trigdate())]
trigdate() => 1991-02-22
trigger(1991-02-22) => "22 February 1991"
REM Fri after MSG 23 Feb 1991
../tests/test.rem(206): Trig = Saturday, 23 February, 1991
CLEAR-OMIT-CONTEXT
REM Fri SCANFROM [trigger(today()-7)] SATISFY 1
today() => 1991-02-16
1991-02-16 - 7 => 1991-02-09
trigger(1991-02-09) => "9 February 1991"
../tests/test.rem(208): Trig = Friday, 15 February, 1991
../tests/test.rem(208): Trig(satisfied) = Friday, 15 February, 1991
OMIT [trigger(trigdate())]
trigdate() => 1991-02-15
trigger(1991-02-15) => "15 February 1991"
REM Fri after MSG 16 Feb 1991
../tests/test.rem(210): Trig = Saturday, 16 February, 1991
16 Feb 1991

CLEAR-OMIT-CONTEXT
REM Fri SCANFROM -7 SATISFY 1
../tests/test.rem(212): Trig = Friday, 15 February, 1991
../tests/test.rem(212): Trig(satisfied) = Friday, 15 February, 1991
OMIT [trigger(trigdate())]
trigdate() => 1991-02-15
trigger(1991-02-15) => "15 February 1991"
REM Fri after MSG 16 Feb 1991
../tests/test.rem(214): Trig = Saturday, 16 February, 1991
16 Feb 1991

CLEAR-OMIT-CONTEXT

# Test omitfunc
fset _ofunc(x) (day(x) < 7 || day(x) % 2)
REM 1 March OMITFUNC _ofunc AFTER MSG OmitFunc Test
Entering UserFN _ofunc(1991-02-15)
x => 1991-02-15
day(1991-02-15) => 15
15 < 7 => 0
x => 1991-02-15
day(1991-02-15) => 15
15 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-02-14)
x => 1991-02-14
day(1991-02-14) => 14
14 < 7 => 0
x => 1991-02-14
day(1991-02-14) => 14
14 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
Entering UserFN _ofunc(1991-03-01)
x => 1991-03-01
day(1991-03-01) => 1
1 < 7 => 1
x => 1991-03-01
day(1991-03-01) => 1
1 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-02)
x => 1991-03-02
day(1991-03-02) => 2
2 < 7 => 1
x => 1991-03-02
day(1991-03-02) => 2
2 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-03)
x => 1991-03-03
day(1991-03-03) => 3
3 < 7 => 1
x => 1991-03-03
day(1991-03-03) => 3
3 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-04)
x => 1991-03-04
day(1991-03-04) => 4
4 < 7 => 1
x => 1991-03-04
day(1991-03-04) => 4
4 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-05)
x => 1991-03-05
day(1991-03-05) => 5
5 < 7 => 1
x => 1991-03-05
day(1991-03-05) => 5
5 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-06)
x => 1991-03-06
day(1991-03-06) => 6
6 < 7 => 1
x => 1991-03-06
day(1991-03-06) => 6
6 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-07)
x => 1991-03-07
day(1991-03-07) => 7
7 < 7 => 0
x => 1991-03-07
day(1991-03-07) => 7
7 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-08)
x => 1991-03-08
day(1991-03-08) => 8
8 < 7 => 0
x => 1991-03-08
day(1991-03-08) => 8
8 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
../tests/test.rem(219): Trig = Friday, 8 March, 1991
REM 8 March OMITFUNC _ofunc -1 MSG OmitFunc Test 2
Entering UserFN _ofunc(1991-03-07)
x => 1991-03-07
day(1991-03-07) => 7
7 < 7 => 0
x => 1991-03-07
day(1991-03-07) => 7
7 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-06)
x => 1991-03-06
day(1991-03-06) => 6
6 < 7 => 1
x => 1991-03-06
day(1991-03-06) => 6
6 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-05)
x => 1991-03-05
day(1991-03-05) => 5
5 < 7 => 1
x => 1991-03-05
day(1991-03-05) => 5
5 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-04)
x => 1991-03-04
day(1991-03-04) => 4
4 < 7 => 1
x => 1991-03-04
day(1991-03-04) => 4
4 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-03)
x => 1991-03-03
day(1991-03-03) => 3
3 < 7 => 1
x => 1991-03-03
day(1991-03-03) => 3
3 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-02)
x => 1991-03-02
day(1991-03-02) => 2
2 < 7 => 1
x => 1991-03-02
day(1991-03-02) => 2
2 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-01)
x => 1991-03-01
day(1991-03-01) => 1
1 < 7 => 1
x => 1991-03-01
day(1991-03-01) => 1
1 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-02-28)
x => 1991-02-28
day(1991-02-28) => 28
28 < 7 => 0
x => 1991-02-28
day(1991-02-28) => 28
28 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
../tests/test.rem(220): Trig = Thursday, 28 February, 1991

# omitfunc ignores local/global omits
fset _ofunc(x) 0
OMIT 1 March
OMIT 2 March 1991
REM 1 March OMIT Sun OMITFUNC _ofunc AFTER MSG Should trigger 1 March
../tests/test.rem(226): Warning: OMIT is ignored if you use OMITFUNC
Entering UserFN _ofunc(1991-02-15)
Leaving UserFN _ofunc() => 0
Entering UserFN _ofunc(1991-03-01)
Leaving UserFN _ofunc() => 0
../tests/test.rem(226): Trig = Friday, 1 March, 1991
REM 1 March OMIT Sun AFTER MSG Should trigger 4 March
../tests/test.rem(227): Trig = Monday, 4 March, 1991

# Test shorthand reminders
REM 1991-02-28 MSG Feb 28
../tests/test.rem(230): Trig = Thursday, 28 February, 1991
REM 1991/02/28 at 14:45 MSG Feb 28
../tests/test.rem(231): Trig = Thursday, 28 February, 1991 AT 14:45
REM Wed UNTIL 1991-01-01 MSG Expired
../tests/test.rem(232): Expired
REM Wed SCANFROM 1991-02-26 MSG SCANFROM
../tests/test.rem(233): Trig = Wednesday, 27 February, 1991

CLEAR-OMIT-CONTEXT

# Test trigtags and tag parsing

REM tag ill,egal MSG bad tag
../tests/test.rem(239): Parse error
REM MSG The tags are: [trigtags()]
../tests/test.rem(240): Trig = Saturday, 16 February, 1991
trigtags() => ""
The tags are: 

REM TAG foo The tags are: [trigtags()]
../tests/test.rem(241): Trig = Saturday, 16 February, 1991
trigtags() => "foo"
The tags are: foo

REM TAG foo TAG bar TAG quux TAG znort TAG cabbage The tags are: [trigtags()]
../tests/test.rem(242): Trig = Saturday, 16 February, 1991
trigtags() => "foo,bar,quux,znort,cabbage"
The tags are: foo,bar,quux,znort,cabbage

REM MSG The tags are: [trigtags()]
../tests/test.rem(243): Trig = Saturday, 16 February, 1991
trigtags() => ""
The tags are: 


# Test ADDOMIT

REM Mon 15 Feb ADDOMIT MSG Family Day
../tests/test.rem(247): Trig = Monday, 18 February, 1991
REM Feb 18 AFTER MSG Should trigger on Feb 19
../tests/test.rem(248): Trig = Tuesday, 19 February, 1991
OMIT DUMP
Global Full OMITs (1 of maximum allowed 1000):
	1991-02-18
Global Partial OMITs (0 of maximum allowed 366):
	None.
Global Weekday OMITs:
	None.

set $CalcUTC 0
set $DateTimeSep "@"
set $DefaultColor "-1 -1 -1"
set $DefaultPrio 5000
set $EndSent  ".?!"
set $EndSentIg  "" + char(34) + "')]}>"
char(34) => "\""
"" + "\"" => "\""
"\"" + "')]}>" => "\"')]}>"
set $FirstIndent 0
set $FoldYear 0
set $FormWidth 72
set $Location "Ottawa"
set $MaxSatIter 150
set $MaxStringLen 65535
set $MinsFromUTC -300
- 300 => -300
set $SubsIndent 0
set $TimeSep ":"

set $LatDeg 30
set $LatMin 30
set $LatSec 0
set $LongDeg -25
- 25 => -25
set $LongMin 15
set $LongSec 0

set a000 abs(1)
abs(1) => 1
set a001 abs(-1)
- 1 => -1
abs(-1) => 1
set a002 asc("foo")
asc("foo") => 102
set a003 baseyr()
baseyr() => 1990
set a004 char(66,55,66,77,66)
char(66, 55, 66, 77, 66) => "B7BMB"
set a005 choose(3, "foo", "bar", "baz", "blech")
choose(3, "foo", "bar", "baz", "blech") => "baz"
set a006 coerce("string", 1)
coerce("string", 1) => "1"
set a007 coerce("string", today())
today() => 1991-02-16
coerce("string", 1991-02-16) => "1991-02-16"
set a008 coerce("string", 11:44)
coerce("string", 11:44) => "11:44"
set a009 coerce("int", "badnews")
coerce("int", "badnews") => Can't coerce
../tests/test.rem(283): Can't coerce
set a010 coerce("int", "12")
coerce("int", "12") => 12
set a011 coerce("int", 11:44)
coerce("int", 11:44) => 704
set a012 coerce("int", today())
today() => 1991-02-16
coerce("int", 1991-02-16) => 411
set a013 date(1992, 2, 2)
date(1992, 2, 2) => 1992-02-02
set a014 date(1993, 2, 29)
date(1993, 2, 29) => Bad date specification
../tests/test.rem(288): Bad date specification
set a015 day(today())
today() => 1991-02-16
day(1991-02-16) => 16
set a016 daysinmon(2, 1991)
daysinmon(2, 1991) => 28
set a017 daysinmon(2, 1992)
daysinmon(2, 1992) => 29
set a018 defined("a017")
defined("a017") => 1
set a019 defined("a019")
defined("a019") => 0
set a020 filename()
filename() => "../tests/test.rem"
set a021 getenv("TEST_GETENV")
getenv("TEST_GETENV") => "foo bar baz"
set a022 hour(11:22)
hour(11:22) => 11
set a023 iif(1, 1, 0)
iif(1, 1, 0) => 1
set a024 iif(0, 1, 0)
iif(0, 1, 0) => 0
set a025 index("barfoobar", "foo")
index("barfoobar", "foo") => 4
set a026 index("barfoobar", "bar", 2)
index("barfoobar", "bar", 2) => 7
set a027 isleap(today())
today() => 1991-02-16
isleap(1991-02-16) => 0
set a028 isleap(1992)
isleap(1992) => 1
omit [trigger(today())]
today() => 1991-02-16
trigger(1991-02-16) => "16 February 1991"
set a030 isomitted(today())
today() => 1991-02-16
isomitted(1991-02-16) => 1
clear
set a029 isomitted(today())
today() => 1991-02-16
isomitted(1991-02-16) => 0
set a031 lower("FOOBARBAZ")
lower("FOOBARBAZ") => "foobarbaz"
set a032 max(1, 2, 34, 1, 3)
max(1, 2, 34, 1, 3) => 34
set a033 max("foo", "bar", "baz")
max("foo", "bar", "baz") => "foo"
set a034 max(today(), today()+1, today()-1)
today() => 1991-02-16
today() => 1991-02-16
1991-02-16 + 1 => 1991-02-17
today() => 1991-02-16
1991-02-16 - 1 => 1991-02-15
max(1991-02-16, 1991-02-17, 1991-02-15) => 1991-02-17
set a035 min(1, 2, 34, 1, 3)
min(1, 2, 34, 1, 3) => 1
set a036 min("foo", "bar", "baz")
min("foo", "bar", "baz") => "bar"
set a037 min(today(), today()+1, today()-1)
today() => 1991-02-16
today() => 1991-02-16
1991-02-16 + 1 => 1991-02-17
today() => 1991-02-16
1991-02-16 - 1 => 1991-02-15
min(1991-02-16, 1991-02-17, 1991-02-15) => 1991-02-15
set a038 minute(11:33)
minute(11:33) => 33
set a039 mon(today())
today() => 1991-02-16
mon(1991-02-16) => "February"
set a040 monnum(today())
today() => 1991-02-16
monnum(1991-02-16) => 2
set a041 ord(3)
ord(3) => "3rd"
set a042 ord(4)
ord(4) => "4th"
set a043 ostype()
ostype() => "UNIX"
set a044 plural(2)
plural(2) => "s"
set a045 plural(2, "ies")
plural(2, "ies") => "iess"
set a046 plural(2, "y", "ies")
plural(2, "y", "ies") => "ies"
set a047 sgn(-2)
- 2 => -2
sgn(-2) => -1
set a048 shell("echo foo")
shell("echo foo") => "foo"
set a049 strlen("sadjflkhsldkfhsdlfjhk")
strlen("sadjflkhsldkfhsdlfjhk") => 21
set a050 substr(a049, 2)
a049 => 21
substr(21, 2) => Type mismatch
../tests/test.rem(326): Type mismatch
set a051 substr(a050, 2, 6)
a050 => ../tests/test.rem(327): Undefined variable: a050
set a052 time(1+2, 3+4)
1 + 2 => 3
3 + 4 => 7
time(3, 7) => 03:07
rem 10 jan 1992 AT 11:22 CAL
../tests/test.rem(329): Trig = Friday, 10 January, 1992 AT 11:22
set a053 trigdate()
trigdate() => 1992-01-10
set a054 trigtime()
trigtime() => 11:22
set a055 trigvalid()
trigvalid() => 1
set a056 upper("sdfjhsdf ksjdfh kjsdfh ksjdfh")
upper("sdfjhsdf ksjdfh kjsdfh ksjdfh") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a057 value("a05"+"6")
"a05" + "6" => "a056"
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a058 version()
version() => "04.02.02"
set a059 wkday(today())
today() => 1991-02-16
wkday(1991-02-16) => "Saturday"
set a060 wkdaynum(today())
today() => 1991-02-16
wkdaynum(1991-02-16) => 6
set a061 year(today())
today() => 1991-02-16
year(1991-02-16) => 1991
set a062 1+2*(3+4-(5*7/2))
3 + 4 => 7
5 * 7 => 35
35 / 2 => 17
7 - 17 => -10
2 * -10 => -20
1 + -20 => -19
set a063 1>=2
1 >= 2 => 0
set a064 1<2 || 3 > 4
1 < 2 => 1
3 > 4 => 0
1 || 0 => 1
set a065 1 && 1
1 && 1 => 1
set a066 !a065
a065 => 1
! 1 => 0
set a067 typeof(2)
typeof(2) => "INT"
set a068 typeof("foo")
typeof("foo") => "STRING"
set a069 typeof(11:33)
typeof(11:33) => "TIME"
set a070 typeof(today())
today() => 1991-02-16
typeof(1991-02-16) => "DATE"
fset g(x,y) max(x,y)
fset h(x,y) min(g(x+y, x*y), g(x-y, x/y))
set a071 g(1, 2)
Entering UserFN g(1, 2)
x => 1
y => 2
max(1, 2) => 2
Leaving UserFN g() => 2
set a072 h(2, 3)
Entering UserFN h(2, 3)
x => 2
y => 3
2 + 3 => 5
x => 2
y => 3
2 * 3 => 6
Entering UserFN g(5, 6)
x => 5
y => 6
max(5, 6) => 6
Leaving UserFN g() => 6
x => 2
y => 3
2 - 3 => -1
x => 2
y => 3
2 / 3 => 0
Entering UserFN g(-1, 0)
x => -1
y => 0
max(-1, 0) => 0
Leaving UserFN g() => 0
min(6, 0) => 0
Leaving UserFN h() => 0
set a073 h("foo", 11:33)
Entering UserFN h("foo", 11:33)
x => "foo"
y => 11:33
"foo" + 11:33 => "foo11:33"
x => "foo"
y => 11:33
"foo" * 11:33 => Type mismatch
../tests/test.rem(352): 
../tests/test.rem(349): In function `h': `*': Type mismatch
Leaving UserFN h() => Type mismatch
set a074 dosubst("%a %b %c %d %e %f %g %h", '1992/5/5')
dosubst("%a %b %c %d %e %f %g %h", 1992-05-05) => "on Tuesday, 5 May, 1992 in 444 days' tim"...
msg [a074]%
../tests/test.rem(354): Trig = Saturday, 16 February, 1991
a074 => "on Tuesday, 5 May, 1992 in 444 days' tim"...
on Tuesday, 5 May, 1992 in 444 days' time on Tuesday 5 on 05-05-1992 on 05-05-1992 on Tuesday, 5 May on 05-05
set a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
dosubst("%i %j %k %l %m %n %o %p", 1992-05-05) => "on 05-05 on Tuesday, May 5th, 1992 on Tu"...
msg [a075]%
../tests/test.rem(356): Trig = Saturday, 16 February, 1991
a075 => "on 05-05 on Tuesday, May 5th, 1992 on Tu"...
on 05-05 on Tuesday, May 5th, 1992 on Tuesday, May 5th on 1992-05-05 May 5  s
set a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
dosubst("%q %r %s %t %u %v %w %x", 1992-05-05) => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
msg [a076]%
../tests/test.rem(358): Trig = Saturday, 16 February, 1991
a076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
s' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
set a074 dosubst("%*a %*b %*c %*d %*e %*f %*g %*h", '1992/5/5')
dosubst("%*a %*b %*c %*d %*e %*f %*g %*h", 1992-05-05) => "Tuesday, 5 May, 1992 in 444 days' time T"...
msg [a074]%
../tests/test.rem(360): Trig = Saturday, 16 February, 1991
a074 => "Tuesday, 5 May, 1992 in 444 days' time T"...
Tuesday, 5 May, 1992 in 444 days' time Tuesday 5 05-05-1992 05-05-1992 Tuesday, 5 May 05-05
set a075 dosubst("%*i %*j %*k %*l %*m %*n %*o %*p", '1992/5/5')
dosubst("%*i %*j %*k %*l %*m %*n %*o %*p", 1992-05-05) => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
msg [a075]%
../tests/test.rem(362): Trig = Saturday, 16 February, 1991
a075 => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
05-05 Tuesday, May 5th, 1992 Tuesday, May 5th 1992-05-05 May 5  s
set a076 dosubst("%*q %*r %*s %*t %*u %*v %*w %*x", '1992/5/5')
dosubst("%*q %*r %*s %*t %*u %*v %*w %*x", 1992-05-05) => "s' 05 th 05 Tuesday, 5th May, 1992 Tuesd"...
msg [a076]%
../tests/test.rem(364): Trig = Saturday, 16 February, 1991
a076 => "s' 05 th 05 Tuesday, 5th May, 1992 Tuesd"...
s' 05 th 05 Tuesday, 5th May, 1992 Tuesday, 5th May Tuesday 444
set a077 dosubst("%*y %*z", '1992/5/5')
dosubst("%*y %*z", 1992-05-05) => "1992 92\n"
msg [a077]%
../tests/test.rem(366): Trig = Saturday, 16 February, 1991
a077 => "1992 92\n"
1992 92
set a074 dosubst("%A %B %C %D %E %F %G %H", '1992/5/5')
dosubst("%A %B %C %D %E %F %G %H", 1992-05-05) => "On Tuesday, 5 May, 1992 In 444 days' tim"...
msg [a074]%
../tests/test.rem(368): Trig = Saturday, 16 February, 1991
a074 => "On Tuesday, 5 May, 1992 In 444 days' tim"...
On Tuesday, 5 May, 1992 In 444 days' time On Tuesday 5 On 05-05-1992 On 05-05-1992 On Tuesday, 5 May On 05-05
set a075 dosubst("%I %J %K %L %M %N %O %P", '1992/5/5')
dosubst("%I %J %K %L %M %N %O %P", 1992-05-05) => "On 05-05 On Tuesday, May 5th, 1992 On Tu"...
msg [a075]%
../tests/test.rem(370): Trig = Saturday, 16 February, 1991
a075 => "On 05-05 On Tuesday, May 5th, 1992 On Tu"...
On 05-05 On Tuesday, May 5th, 1992 On Tuesday, May 5th On 1992-05-05 May 5  S
set a076 dosubst("%Q %R %S %T %U %V %W %X", '1992/5/5')
dosubst("%Q %R %S %T %U %V %W %X", 1992-05-05) => "S' 05 Th 05 On Tuesday, 5th May, 1992 On"...
msg [a076]%
../tests/test.rem(372): Trig = Saturday, 16 February, 1991
a076 => "S' 05 Th 05 On Tuesday, 5th May, 1992 On"...
S' 05 Th 05 On Tuesday, 5th May, 1992 On Tuesday, 5th May Tuesday 444
set a077 dosubst("%Y %Z", '1992/5/5')
dosubst("%Y %Z", 1992-05-05) => "1992 92\n"
msg [a077]%
../tests/test.rem(374): Trig = Saturday, 16 February, 1991
a077 => "1992 92\n"
1992 92
set a074 dosubst("%*A %*B %*C %*D %*E %*F %*G %*H", '1992/5/5')
dosubst("%*A %*B %*C %*D %*E %*F %*G %*H", 1992-05-05) => "Tuesday, 5 May, 1992 In 444 days' time T"...
msg [a074]%
../tests/test.rem(376): Trig = Saturday, 16 February, 1991
a074 => "Tuesday, 5 May, 1992 In 444 days' time T"...
Tuesday, 5 May, 1992 In 444 days' time Tuesday 5 05-05-1992 05-05-1992 Tuesday, 5 May 05-05
set a075 dosubst("%*I %*J %*K %*L %*M %*N %*O %*P", '1992/5/5')
dosubst("%*I %*J %*K %*L %*M %*N %*O %*P", 1992-05-05) => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
msg [a075]%
../tests/test.rem(378): Trig = Saturday, 16 February, 1991
a075 => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
05-05 Tuesday, May 5th, 1992 Tuesday, May 5th 1992-05-05 May 5  S
set a076 dosubst("%*Q %*R %*S %*T %*U %*V %*W %*X", '1992/5/5')
dosubst("%*Q %*R %*S %*T %*U %*V %*W %*X", 1992-05-05) => "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
msg [a076]%
../tests/test.rem(380): Trig = Saturday, 16 February, 1991
a076 => "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
S' 05 Th 05 Tuesday, 5th May, 1992 Tuesday, 5th May Tuesday 444
set a077 dosubst("%*Y %*Z", '1992/5/5')
dosubst("%*Y %*Z", 1992-05-05) => "1992 92\n"
msg [a077]%
../tests/test.rem(382): Trig = Saturday, 16 February, 1991
a077 => "1992 92\n"
1992 92
set a078 easterdate(today())
today() => 1991-02-16
easterdate(1991-02-16) => 1991-03-31
set a079 easterdate(1992)
easterdate(1992) => 1992-04-19
set a080 easterdate(1995)
easterdate(1995) => 1995-04-16
set a078 orthodoxeaster(today())
today() => 1991-02-16
orthodoxeaster(1991-02-16) => 1991-04-07
set a079 orthodoxeaster(1992)
orthodoxeaster(1992) => 1992-04-26
set a080 orthodoxeaster(1995)
orthodoxeaster(1995) => 1995-04-23
set a080 orthodoxeaster(2023)
orthodoxeaster(2023) => 2023-04-16
set a080 orthodoxeaster(2024)
orthodoxeaster(2024) => 2024-05-05
set a080 orthodoxeaster(2025)
orthodoxeaster(2025) => 2025-04-20
set a080 orthodoxeaster(2026)
orthodoxeaster(2026) => 2026-04-12
set a080 orthodoxeaster(2027)
orthodoxeaster(2027) => 2027-05-02
set a081 ""
OMIT 1991-03-11
set a082 slide('1991-03-01', 7, "Sat", "Sun")
slide(1991-03-01, 7, "Sat", "Sun") => 1991-03-13
set a083 slide('1991-04-01', -7, "Sat")
- 7 => -7
slide(1991-04-01, -7, "Sat") => 1991-03-24
set a084 nonomitted('1991-03-01', '1991-03-13', "Sat", "Sun")
nonomitted(1991-03-01, 1991-03-13, "Sat", "Sun") => 7
set a085 nonomitted('1991-03-24', '1991-04-01', "Sat")
nonomitted(1991-03-24, 1991-04-01, "Sat") => 7
REM 2010-09-03 +3 -4 UNTIL 2012-01-01 PRIORITY 7 *14 MSG foo
../tests/test.rem(400): Trig = Monday, 30 August, 2010
set a086 trigback()
trigback() => 4
set a087 trigdelta()
trigdelta() => 3
set a088 trigrep()
trigrep() => 14
set a089 triguntil()
triguntil() => 2012-01-01
set a090 trigscanfrom()
trigscanfrom() => 1991-02-16
set a091 trigfrom()
trigfrom() => -1
set a092 trigpriority()
trigpriority() => 7
set a093 trigtimedelta()
trigtimedelta() => 0
set a094 trigtimerep()
trigtimerep() => 0
set a095 trigduration()
trigduration() => -1

REM Mon Wed FROM 2010-09-03 ++3 --4 MSG foo
../tests/test.rem(412): Trig = Saturday, 4 September, 2010
set a096 trigback()
trigback() => -4
set a097 trigdelta()
trigdelta() => -3
set a098 trigrep()
trigrep() => 0
set a099 triguntil()
triguntil() => -1
set a100 trigscanfrom()
trigscanfrom() => 2010-09-03
set a101 trigfrom()
trigfrom() => 2010-09-03
set a102 trigpriority()
trigpriority() => 5000
set a103 trigtimedelta()
trigtimedelta() => 0
set a104 trigtimerep()
trigtimerep() => 0
set a105 trigduration()
trigduration() => -1

REM 2010-09-03 +3 -4 UNTIL 2012-01-01 PRIORITY 7 *14 AT 14:41 +15 *2 DURATION 213 MSG foo
../tests/test.rem(424): Trig = Monday, 30 August, 2010 AT 14:41 DURATION 03:33
set a106 trigback()
trigback() => 4
set a107 trigdelta()
trigdelta() => 3
set a108 trigrep()
trigrep() => 14
set a109 triguntil()
triguntil() => 2012-01-01
set a110 trigscanfrom()
trigscanfrom() => 1991-02-16
set a111 trigfrom()
trigfrom() => -1
set a112 trigpriority()
trigpriority() => 7
set a113 trigtimedelta()
trigtimedelta() => 15
set a114 trigtimerep()
trigtimerep() => 2
set a115 trigduration()
trigduration() => 03:33

REM Mon Wed FROM 2010-09-03 ++3 --4 AT 14:44 MSG foo
../tests/test.rem(436): Trig = Saturday, 4 September, 2010 AT 14:44
set a116 trigback()
trigback() => -4
set a117 trigdelta()
trigdelta() => -3
set a118 trigrep()
trigrep() => 0
set a119 triguntil()
triguntil() => -1
set a120 trigscanfrom()
trigscanfrom() => 2010-09-03
set a121 trigfrom()
trigfrom() => 2010-09-03
set a122 trigpriority()
trigpriority() => 5000
set a123 trigtimedelta()
trigtimedelta() => 0
set a124 trigtimerep()
trigtimerep() => 0
set a125 trigduration()
trigduration() => -1

# Test adding TIME+TIME and DATETIME+TIME
set a126 11:00 + 3:00
11:00 + 03:00 => 14:00
set a127 23:00 + 5:30
23:00 + 05:30 => 04:30
set a128 '2018-02-03 at 10:00' + 6:45
2018-02-03 at 10:00 + 06:45 => 2018-02-03 at 16:45
set a129 23:30 + '2019-02-02 at 16:44'
23:30 + 2019-02-02 at 16:44 => 2019-02-03 at 16:14

# Multi-day reminder
REM 13 AT 16:00 DURATION 72:00 MSG 72-hour event
../tests/test.rem(455): Trig = Wednesday, 13 March, 1991 AT 16:00 DURATION 72:00
../tests/test.rem(455): Trig = Wednesday, 13 February, 1991 AT 16:00 DURATION 72:00
../tests/test.rem(455): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 16:00
72-hour event

set a130 trigdate()
trigdate() => 1991-02-16
set a131 trigtime()
trigtime() => 00:00
set a132 trigdatetime()
trigdatetime() => 1991-02-16 at 00:00
set a133 trigduration()
trigduration() => 16:00
set a134 trigeventstart()
trigeventstart() => 1991-02-13 at 16:00
set a135 trigeventduration()
trigeventduration() => 72:00
set a136 stdout()
stdout() => "FILE"

# These will issue errors
REM Mon OMIT Mon SKIP MSG Never ever ever...
../tests/test.rem(465): Can't compute trigger
REM Mon SATISFY [wkdaynum($T) == 3] MSG Nope nope...
../tests/test.rem(466): Trig = Monday, 18 February, 1991
$T => 1991-02-18
wkdaynum(1991-02-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 February, 1991
$T => 1991-02-25
wkdaynum(1991-02-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 4 March, 1991
$T => 1991-03-04
wkdaynum(1991-03-04) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 11 March, 1991
$T => 1991-03-11
wkdaynum(1991-03-11) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 18 March, 1991
$T => 1991-03-18
wkdaynum(1991-03-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 March, 1991
$T => 1991-03-25
wkdaynum(1991-03-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 April, 1991
$T => 1991-04-01
wkdaynum(1991-04-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 April, 1991
$T => 1991-04-08
wkdaynum(1991-04-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 April, 1991
$T => 1991-04-15
wkdaynum(1991-04-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 April, 1991
$T => 1991-04-22
wkdaynum(1991-04-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 29 April, 1991
$T => 1991-04-29
wkdaynum(1991-04-29) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 May, 1991
$T => 1991-05-06
wkdaynum(1991-05-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 May, 1991
$T => 1991-05-13
wkdaynum(1991-05-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 May, 1991
$T => 1991-05-20
wkdaynum(1991-05-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 May, 1991
$T => 1991-05-27
wkdaynum(1991-05-27) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 3 June, 1991
$T => 1991-06-03
wkdaynum(1991-06-03) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 10 June, 1991
$T => 1991-06-10
wkdaynum(1991-06-10) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 17 June, 1991
$T => 1991-06-17
wkdaynum(1991-06-17) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 24 June, 1991
$T => 1991-06-24
wkdaynum(1991-06-24) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 July, 1991
$T => 1991-07-01
wkdaynum(1991-07-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 July, 1991
$T => 1991-07-08
wkdaynum(1991-07-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 July, 1991
$T => 1991-07-15
wkdaynum(1991-07-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 July, 1991
$T => 1991-07-22
wkdaynum(1991-07-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 29 July, 1991
$T => 1991-07-29
wkdaynum(1991-07-29) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 5 August, 1991
$T => 1991-08-05
wkdaynum(1991-08-05) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 12 August, 1991
$T => 1991-08-12
wkdaynum(1991-08-12) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 19 August, 1991
$T => 1991-08-19
wkdaynum(1991-08-19) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 26 August, 1991
$T => 1991-08-26
wkdaynum(1991-08-26) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 2 September, 1991
$T => 1991-09-02
wkdaynum(1991-09-02) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 9 September, 1991
$T => 1991-09-09
wkdaynum(1991-09-09) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 16 September, 1991
$T => 1991-09-16
wkdaynum(1991-09-16) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 23 September, 1991
$T => 1991-09-23
wkdaynum(1991-09-23) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 30 September, 1991
$T => 1991-09-30
wkdaynum(1991-09-30) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 7 October, 1991
$T => 1991-10-07
wkdaynum(1991-10-07) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 14 October, 1991
$T => 1991-10-14
wkdaynum(1991-10-14) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 21 October, 1991
$T => 1991-10-21
wkdaynum(1991-10-21) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 28 October, 1991
$T => 1991-10-28
wkdaynum(1991-10-28) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 4 November, 1991
$T => 1991-11-04
wkdaynum(1991-11-04) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 11 November, 1991
$T => 1991-11-11
wkdaynum(1991-11-11) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 18 November, 1991
$T => 1991-11-18
wkdaynum(1991-11-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 November, 1991
$T => 1991-11-25
wkdaynum(1991-11-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 2 December, 1991
$T => 1991-12-02
wkdaynum(1991-12-02) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 9 December, 1991
$T => 1991-12-09
wkdaynum(1991-12-09) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 16 December, 1991
$T => 1991-12-16
wkdaynum(1991-12-16) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 23 December, 1991
$T => 1991-12-23
wkdaynum(1991-12-23) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 30 December, 1991
$T => 1991-12-30
wkdaynum(1991-12-30) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 January, 1992
$T => 1992-01-06
wkdaynum(1992-01-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 January, 1992
$T => 1992-01-13
wkdaynum(1992-01-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 January, 1992
$T => 1992-01-20
wkdaynum(1992-01-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 January, 1992
$T => 1992-01-27
wkdaynum(1992-01-27) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 3 February, 1992
$T => 1992-02-03
wkdaynum(1992-02-03) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 10 February, 1992
$T => 1992-02-10
wkdaynum(1992-02-10) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 17 February, 1992
$T => 1992-02-17
wkdaynum(1992-02-17) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 24 February, 1992
$T => 1992-02-24
wkdaynum(1992-02-24) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 2 March, 1992
$T => 1992-03-02
wkdaynum(1992-03-02) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 9 March, 1992
$T => 1992-03-09
wkdaynum(1992-03-09) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 16 March, 1992
$T => 1992-03-16
wkdaynum(1992-03-16) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 23 March, 1992
$T => 1992-03-23
wkdaynum(1992-03-23) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 30 March, 1992
$T => 1992-03-30
wkdaynum(1992-03-30) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 April, 1992
$T => 1992-04-06
wkdaynum(1992-04-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 April, 1992
$T => 1992-04-13
wkdaynum(1992-04-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 April, 1992
$T => 1992-04-20
wkdaynum(1992-04-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 April, 1992
$T => 1992-04-27
wkdaynum(1992-04-27) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 4 May, 1992
$T => 1992-05-04
wkdaynum(1992-05-04) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 11 May, 1992
$T => 1992-05-11
wkdaynum(1992-05-11) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 18 May, 1992
$T => 1992-05-18
wkdaynum(1992-05-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 May, 1992
$T => 1992-05-25
wkdaynum(1992-05-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 June, 1992
$T => 1992-06-01
wkdaynum(1992-06-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 June, 1992
$T => 1992-06-08
wkdaynum(1992-06-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 June, 1992
$T => 1992-06-15
wkdaynum(1992-06-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 June, 1992
$T => 1992-06-22
wkdaynum(1992-06-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 29 June, 1992
$T => 1992-06-29
wkdaynum(1992-06-29) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 July, 1992
$T => 1992-07-06
wkdaynum(1992-07-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 July, 1992
$T => 1992-07-13
wkdaynum(1992-07-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 July, 1992
$T => 1992-07-20
wkdaynum(1992-07-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 July, 1992
$T => 1992-07-27
wkdaynum(1992-07-27) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 3 August, 1992
$T => 1992-08-03
wkdaynum(1992-08-03) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 10 August, 1992
$T => 1992-08-10
wkdaynum(1992-08-10) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 17 August, 1992
$T => 1992-08-17
wkdaynum(1992-08-17) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 24 August, 1992
$T => 1992-08-24
wkdaynum(1992-08-24) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 31 August, 1992
$T => 1992-08-31
wkdaynum(1992-08-31) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 7 September, 1992
$T => 1992-09-07
wkdaynum(1992-09-07) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 14 September, 1992
$T => 1992-09-14
wkdaynum(1992-09-14) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 21 September, 1992
$T => 1992-09-21
wkdaynum(1992-09-21) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 28 September, 1992
$T => 1992-09-28
wkdaynum(1992-09-28) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 5 October, 1992
$T => 1992-10-05
wkdaynum(1992-10-05) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 12 October, 1992
$T => 1992-10-12
wkdaynum(1992-10-12) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 19 October, 1992
$T => 1992-10-19
wkdaynum(1992-10-19) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 26 October, 1992
$T => 1992-10-26
wkdaynum(1992-10-26) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 2 November, 1992
$T => 1992-11-02
wkdaynum(1992-11-02) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 9 November, 1992
$T => 1992-11-09
wkdaynum(1992-11-09) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 16 November, 1992
$T => 1992-11-16
wkdaynum(1992-11-16) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 23 November, 1992
$T => 1992-11-23
wkdaynum(1992-11-23) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 30 November, 1992
$T => 1992-11-30
wkdaynum(1992-11-30) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 7 December, 1992
$T => 1992-12-07
wkdaynum(1992-12-07) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 14 December, 1992
$T => 1992-12-14
wkdaynum(1992-12-14) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 21 December, 1992
$T => 1992-12-21
wkdaynum(1992-12-21) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 28 December, 1992
$T => 1992-12-28
wkdaynum(1992-12-28) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 4 January, 1993
$T => 1993-01-04
wkdaynum(1993-01-04) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 11 January, 1993
$T => 1993-01-11
wkdaynum(1993-01-11) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 18 January, 1993
$T => 1993-01-18
wkdaynum(1993-01-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 January, 1993
$T => 1993-01-25
wkdaynum(1993-01-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 February, 1993
$T => 1993-02-01
wkdaynum(1993-02-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 February, 1993
$T => 1993-02-08
wkdaynum(1993-02-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 February, 1993
$T => 1993-02-15
wkdaynum(1993-02-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 February, 1993
$T => 1993-02-22
wkdaynum(1993-02-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 March, 1993
$T => 1993-03-01
wkdaynum(1993-03-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 March, 1993
$T => 1993-03-08
wkdaynum(1993-03-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 March, 1993
$T => 1993-03-15
wkdaynum(1993-03-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 March, 1993
$T => 1993-03-22
wkdaynum(1993-03-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 29 March, 1993
$T => 1993-03-29
wkdaynum(1993-03-29) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 5 April, 1993
$T => 1993-04-05
wkdaynum(1993-04-05) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 12 April, 1993
$T => 1993-04-12
wkdaynum(1993-04-12) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 19 April, 1993
$T => 1993-04-19
wkdaynum(1993-04-19) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 26 April, 1993
$T => 1993-04-26
wkdaynum(1993-04-26) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 3 May, 1993
$T => 1993-05-03
wkdaynum(1993-05-03) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 10 May, 1993
$T => 1993-05-10
wkdaynum(1993-05-10) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 17 May, 1993
$T => 1993-05-17
wkdaynum(1993-05-17) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 24 May, 1993
$T => 1993-05-24
wkdaynum(1993-05-24) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 31 May, 1993
$T => 1993-05-31
wkdaynum(1993-05-31) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 7 June, 1993
$T => 1993-06-07
wkdaynum(1993-06-07) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 14 June, 1993
$T => 1993-06-14
wkdaynum(1993-06-14) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 21 June, 1993
$T => 1993-06-21
wkdaynum(1993-06-21) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 28 June, 1993
$T => 1993-06-28
wkdaynum(1993-06-28) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 5 July, 1993
$T => 1993-07-05
wkdaynum(1993-07-05) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 12 July, 1993
$T => 1993-07-12
wkdaynum(1993-07-12) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 19 July, 1993
$T => 1993-07-19
wkdaynum(1993-07-19) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 26 July, 1993
$T => 1993-07-26
wkdaynum(1993-07-26) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 2 August, 1993
$T => 1993-08-02
wkdaynum(1993-08-02) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 9 August, 1993
$T => 1993-08-09
wkdaynum(1993-08-09) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 16 August, 1993
$T => 1993-08-16
wkdaynum(1993-08-16) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 23 August, 1993
$T => 1993-08-23
wkdaynum(1993-08-23) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 30 August, 1993
$T => 1993-08-30
wkdaynum(1993-08-30) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 September, 1993
$T => 1993-09-06
wkdaynum(1993-09-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 September, 1993
$T => 1993-09-13
wkdaynum(1993-09-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 September, 1993
$T => 1993-09-20
wkdaynum(1993-09-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 September, 1993
$T => 1993-09-27
wkdaynum(1993-09-27) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 4 October, 1993
$T => 1993-10-04
wkdaynum(1993-10-04) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 11 October, 1993
$T => 1993-10-11
wkdaynum(1993-10-11) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 18 October, 1993
$T => 1993-10-18
wkdaynum(1993-10-18) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 25 October, 1993
$T => 1993-10-25
wkdaynum(1993-10-25) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 1 November, 1993
$T => 1993-11-01
wkdaynum(1993-11-01) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 8 November, 1993
$T => 1993-11-08
wkdaynum(1993-11-08) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 15 November, 1993
$T => 1993-11-15
wkdaynum(1993-11-15) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 22 November, 1993
$T => 1993-11-22
wkdaynum(1993-11-22) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 29 November, 1993
$T => 1993-11-29
wkdaynum(1993-11-29) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 6 December, 1993
$T => 1993-12-06
wkdaynum(1993-12-06) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 13 December, 1993
$T => 1993-12-13
wkdaynum(1993-12-13) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 20 December, 1993
$T => 1993-12-20
wkdaynum(1993-12-20) => 1
1 == 3 => 0
../tests/test.rem(466): Trig = Monday, 27 December, 1993
$T => 1993-12-27
wkdaynum(1993-12-27) => 1
1 == 3 => 0
../tests/test.rem(466): Can't compute trigger

# These will just silently not trigger
REM MAYBE-UNCOMPUTABLE Mon OMIT Mon SKIP MSG Never ever ever...
REM MAYBE-UNCOMPUTABLE Mon SATISFY [wkdaynum($T) == 3] MSG Nope nope...
../tests/test.rem(470): Trig = Monday, 18 February, 1991
$T => 1991-02-18
wkdaynum(1991-02-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 February, 1991
$T => 1991-02-25
wkdaynum(1991-02-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 4 March, 1991
$T => 1991-03-04
wkdaynum(1991-03-04) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 11 March, 1991
$T => 1991-03-11
wkdaynum(1991-03-11) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 18 March, 1991
$T => 1991-03-18
wkdaynum(1991-03-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 March, 1991
$T => 1991-03-25
wkdaynum(1991-03-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 April, 1991
$T => 1991-04-01
wkdaynum(1991-04-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 April, 1991
$T => 1991-04-08
wkdaynum(1991-04-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 April, 1991
$T => 1991-04-15
wkdaynum(1991-04-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 April, 1991
$T => 1991-04-22
wkdaynum(1991-04-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 29 April, 1991
$T => 1991-04-29
wkdaynum(1991-04-29) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 May, 1991
$T => 1991-05-06
wkdaynum(1991-05-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 May, 1991
$T => 1991-05-13
wkdaynum(1991-05-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 May, 1991
$T => 1991-05-20
wkdaynum(1991-05-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 May, 1991
$T => 1991-05-27
wkdaynum(1991-05-27) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 3 June, 1991
$T => 1991-06-03
wkdaynum(1991-06-03) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 10 June, 1991
$T => 1991-06-10
wkdaynum(1991-06-10) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 17 June, 1991
$T => 1991-06-17
wkdaynum(1991-06-17) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 24 June, 1991
$T => 1991-06-24
wkdaynum(1991-06-24) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 July, 1991
$T => 1991-07-01
wkdaynum(1991-07-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 July, 1991
$T => 1991-07-08
wkdaynum(1991-07-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 July, 1991
$T => 1991-07-15
wkdaynum(1991-07-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 July, 1991
$T => 1991-07-22
wkdaynum(1991-07-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 29 July, 1991
$T => 1991-07-29
wkdaynum(1991-07-29) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 5 August, 1991
$T => 1991-08-05
wkdaynum(1991-08-05) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 12 August, 1991
$T => 1991-08-12
wkdaynum(1991-08-12) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 19 August, 1991
$T => 1991-08-19
wkdaynum(1991-08-19) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 26 August, 1991
$T => 1991-08-26
wkdaynum(1991-08-26) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 2 September, 1991
$T => 1991-09-02
wkdaynum(1991-09-02) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 9 September, 1991
$T => 1991-09-09
wkdaynum(1991-09-09) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 16 September, 1991
$T => 1991-09-16
wkdaynum(1991-09-16) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 23 September, 1991
$T => 1991-09-23
wkdaynum(1991-09-23) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 30 September, 1991
$T => 1991-09-30
wkdaynum(1991-09-30) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 7 October, 1991
$T => 1991-10-07
wkdaynum(1991-10-07) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 14 October, 1991
$T => 1991-10-14
wkdaynum(1991-10-14) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 21 October, 1991
$T => 1991-10-21
wkdaynum(1991-10-21) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 28 October, 1991
$T => 1991-10-28
wkdaynum(1991-10-28) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 4 November, 1991
$T => 1991-11-04
wkdaynum(1991-11-04) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 11 November, 1991
$T => 1991-11-11
wkdaynum(1991-11-11) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 18 November, 1991
$T => 1991-11-18
wkdaynum(1991-11-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 November, 1991
$T => 1991-11-25
wkdaynum(1991-11-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 2 December, 1991
$T => 1991-12-02
wkdaynum(1991-12-02) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 9 December, 1991
$T => 1991-12-09
wkdaynum(1991-12-09) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 16 December, 1991
$T => 1991-12-16
wkdaynum(1991-12-16) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 23 December, 1991
$T => 1991-12-23
wkdaynum(1991-12-23) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 30 December, 1991
$T => 1991-12-30
wkdaynum(1991-12-30) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 January, 1992
$T => 1992-01-06
wkdaynum(1992-01-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 January, 1992
$T => 1992-01-13
wkdaynum(1992-01-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 January, 1992
$T => 1992-01-20
wkdaynum(1992-01-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 January, 1992
$T => 1992-01-27
wkdaynum(1992-01-27) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 3 February, 1992
$T => 1992-02-03
wkdaynum(1992-02-03) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 10 February, 1992
$T => 1992-02-10
wkdaynum(1992-02-10) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 17 February, 1992
$T => 1992-02-17
wkdaynum(1992-02-17) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 24 February, 1992
$T => 1992-02-24
wkdaynum(1992-02-24) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 2 March, 1992
$T => 1992-03-02
wkdaynum(1992-03-02) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 9 March, 1992
$T => 1992-03-09
wkdaynum(1992-03-09) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 16 March, 1992
$T => 1992-03-16
wkdaynum(1992-03-16) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 23 March, 1992
$T => 1992-03-23
wkdaynum(1992-03-23) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 30 March, 1992
$T => 1992-03-30
wkdaynum(1992-03-30) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 April, 1992
$T => 1992-04-06
wkdaynum(1992-04-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 April, 1992
$T => 1992-04-13
wkdaynum(1992-04-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 April, 1992
$T => 1992-04-20
wkdaynum(1992-04-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 April, 1992
$T => 1992-04-27
wkdaynum(1992-04-27) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 4 May, 1992
$T => 1992-05-04
wkdaynum(1992-05-04) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 11 May, 1992
$T => 1992-05-11
wkdaynum(1992-05-11) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 18 May, 1992
$T => 1992-05-18
wkdaynum(1992-05-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 May, 1992
$T => 1992-05-25
wkdaynum(1992-05-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 June, 1992
$T => 1992-06-01
wkdaynum(1992-06-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 June, 1992
$T => 1992-06-08
wkdaynum(1992-06-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 June, 1992
$T => 1992-06-15
wkdaynum(1992-06-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 June, 1992
$T => 1992-06-22
wkdaynum(1992-06-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 29 June, 1992
$T => 1992-06-29
wkdaynum(1992-06-29) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 July, 1992
$T => 1992-07-06
wkdaynum(1992-07-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 July, 1992
$T => 1992-07-13
wkdaynum(1992-07-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 July, 1992
$T => 1992-07-20
wkdaynum(1992-07-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 July, 1992
$T => 1992-07-27
wkdaynum(1992-07-27) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 3 August, 1992
$T => 1992-08-03
wkdaynum(1992-08-03) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 10 August, 1992
$T => 1992-08-10
wkdaynum(1992-08-10) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 17 August, 1992
$T => 1992-08-17
wkdaynum(1992-08-17) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 24 August, 1992
$T => 1992-08-24
wkdaynum(1992-08-24) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 31 August, 1992
$T => 1992-08-31
wkdaynum(1992-08-31) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 7 September, 1992
$T => 1992-09-07
wkdaynum(1992-09-07) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 14 September, 1992
$T => 1992-09-14
wkdaynum(1992-09-14) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 21 September, 1992
$T => 1992-09-21
wkdaynum(1992-09-21) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 28 September, 1992
$T => 1992-09-28
wkdaynum(1992-09-28) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 5 October, 1992
$T => 1992-10-05
wkdaynum(1992-10-05) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 12 October, 1992
$T => 1992-10-12
wkdaynum(1992-10-12) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 19 October, 1992
$T => 1992-10-19
wkdaynum(1992-10-19) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 26 October, 1992
$T => 1992-10-26
wkdaynum(1992-10-26) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 2 November, 1992
$T => 1992-11-02
wkdaynum(1992-11-02) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 9 November, 1992
$T => 1992-11-09
wkdaynum(1992-11-09) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 16 November, 1992
$T => 1992-11-16
wkdaynum(1992-11-16) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 23 November, 1992
$T => 1992-11-23
wkdaynum(1992-11-23) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 30 November, 1992
$T => 1992-11-30
wkdaynum(1992-11-30) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 7 December, 1992
$T => 1992-12-07
wkdaynum(1992-12-07) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 14 December, 1992
$T => 1992-12-14
wkdaynum(1992-12-14) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 21 December, 1992
$T => 1992-12-21
wkdaynum(1992-12-21) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 28 December, 1992
$T => 1992-12-28
wkdaynum(1992-12-28) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 4 January, 1993
$T => 1993-01-04
wkdaynum(1993-01-04) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 11 January, 1993
$T => 1993-01-11
wkdaynum(1993-01-11) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 18 January, 1993
$T => 1993-01-18
wkdaynum(1993-01-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 January, 1993
$T => 1993-01-25
wkdaynum(1993-01-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 February, 1993
$T => 1993-02-01
wkdaynum(1993-02-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 February, 1993
$T => 1993-02-08
wkdaynum(1993-02-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 February, 1993
$T => 1993-02-15
wkdaynum(1993-02-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 February, 1993
$T => 1993-02-22
wkdaynum(1993-02-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 March, 1993
$T => 1993-03-01
wkdaynum(1993-03-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 March, 1993
$T => 1993-03-08
wkdaynum(1993-03-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 March, 1993
$T => 1993-03-15
wkdaynum(1993-03-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 March, 1993
$T => 1993-03-22
wkdaynum(1993-03-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 29 March, 1993
$T => 1993-03-29
wkdaynum(1993-03-29) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 5 April, 1993
$T => 1993-04-05
wkdaynum(1993-04-05) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 12 April, 1993
$T => 1993-04-12
wkdaynum(1993-04-12) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 19 April, 1993
$T => 1993-04-19
wkdaynum(1993-04-19) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 26 April, 1993
$T => 1993-04-26
wkdaynum(1993-04-26) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 3 May, 1993
$T => 1993-05-03
wkdaynum(1993-05-03) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 10 May, 1993
$T => 1993-05-10
wkdaynum(1993-05-10) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 17 May, 1993
$T => 1993-05-17
wkdaynum(1993-05-17) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 24 May, 1993
$T => 1993-05-24
wkdaynum(1993-05-24) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 31 May, 1993
$T => 1993-05-31
wkdaynum(1993-05-31) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 7 June, 1993
$T => 1993-06-07
wkdaynum(1993-06-07) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 14 June, 1993
$T => 1993-06-14
wkdaynum(1993-06-14) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 21 June, 1993
$T => 1993-06-21
wkdaynum(1993-06-21) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 28 June, 1993
$T => 1993-06-28
wkdaynum(1993-06-28) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 5 July, 1993
$T => 1993-07-05
wkdaynum(1993-07-05) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 12 July, 1993
$T => 1993-07-12
wkdaynum(1993-07-12) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 19 July, 1993
$T => 1993-07-19
wkdaynum(1993-07-19) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 26 July, 1993
$T => 1993-07-26
wkdaynum(1993-07-26) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 2 August, 1993
$T => 1993-08-02
wkdaynum(1993-08-02) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 9 August, 1993
$T => 1993-08-09
wkdaynum(1993-08-09) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 16 August, 1993
$T => 1993-08-16
wkdaynum(1993-08-16) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 23 August, 1993
$T => 1993-08-23
wkdaynum(1993-08-23) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 30 August, 1993
$T => 1993-08-30
wkdaynum(1993-08-30) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 September, 1993
$T => 1993-09-06
wkdaynum(1993-09-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 September, 1993
$T => 1993-09-13
wkdaynum(1993-09-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 September, 1993
$T => 1993-09-20
wkdaynum(1993-09-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 September, 1993
$T => 1993-09-27
wkdaynum(1993-09-27) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 4 October, 1993
$T => 1993-10-04
wkdaynum(1993-10-04) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 11 October, 1993
$T => 1993-10-11
wkdaynum(1993-10-11) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 18 October, 1993
$T => 1993-10-18
wkdaynum(1993-10-18) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 25 October, 1993
$T => 1993-10-25
wkdaynum(1993-10-25) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 1 November, 1993
$T => 1993-11-01
wkdaynum(1993-11-01) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 8 November, 1993
$T => 1993-11-08
wkdaynum(1993-11-08) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 15 November, 1993
$T => 1993-11-15
wkdaynum(1993-11-15) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 22 November, 1993
$T => 1993-11-22
wkdaynum(1993-11-22) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 29 November, 1993
$T => 1993-11-29
wkdaynum(1993-11-29) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 6 December, 1993
$T => 1993-12-06
wkdaynum(1993-12-06) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 13 December, 1993
$T => 1993-12-13
wkdaynum(1993-12-13) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 20 December, 1993
$T => 1993-12-20
wkdaynum(1993-12-20) => 1
1 == 3 => 0
../tests/test.rem(470): Trig = Monday, 27 December, 1993
$T => 1993-12-27
wkdaynum(1993-12-27) => 1
1 == 3 => 0

dump
Variable  Value

a017  29
a036  "bar"
a055  1
a074  "Tuesday, 5 May, 1992 In 444 days' time T"...
a093  0
a116  -4
a135  72:00
a008  "11:44"
a027  0
a046  "ies"
a065  1
a084  7
a107  3
a126  14:00
a018  1
a037  1991-02-15
a056  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a075  "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
a094  0
a117  -3
a136  "FILE"
a028  1
a047  -1
a066  0
a085  7
a108  14
a127  04:30
a019  0
a038  33
a057  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a076  "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
a095  -1
a118  0
a029  0
a048  "foo"
a067  "INT"
a086  4
a109  2012-01-01
a128  2018-02-03 at 16:45
a039  "February"
a058  "04.02.02"
a077  "1992 92\n"
a096  -4
a119  -1
a049  21
a068  "STRING"
a087  3
a129  2019-02-03 at 16:14
a059  "Saturday"
a078  1991-04-07
a097  -3
a069  "TIME"
a088  14
a079  1992-04-26
a098  0
a089  2012-01-01
a099  -1
a000  1
a010  12
a001  1
a020  "../tests/test.rem"
a100  2010-09-03
a011  704
a030  1
a110  1991-02-16
a002  102
a021  "foo bar baz"
a040  2
a101  2010-09-03
a120  2010-09-03
a012  411
a031  "foobarbaz"
a111  -1
a130  1991-02-16
a003  1990
a022  11
a041  "3rd"
a060  6
a102  5000
a121  2010-09-03
a013  1992-02-02
a032  34
a070  "DATE"
a112  7
a131  00:00
a004  "B7BMB"
a023  1
a042  "4th"
a061  1991
a080  2027-05-02
a103  0
a122  5000
a033  "foo"
a052  03:07
a071  2
a090  1991-02-16
a113  15
a132  1991-02-16 at 00:00
a005  "baz"
a024  0
a043  "UNIX"
a062  -19
a081  ""
a104  0
a123  0
a015  16
a034  1991-02-17
a053  1992-01-10
a072  0
a091  -1
a114  2
a133  16:00
a006  "1"
a025  4
a044  "s"
a063  0
a082  1991-03-13
a105  -1
a124  0
mltest  "a b"
a016  28
a035  1
a054  11:22
a092  7
a115  03:33
a134  1991-02-13 at 16:00
a007  "1991-02-16"
a026  7
a045  "iess"
a064  1
a083  1991-03-24
a106  4
a125  -1
dump $
Variable  Value

  $AddBlankLines  1           [0, 1]
            $Ago  "ago"
             $Am  "am"
            $And  "and"
          $April  "April"
             $At  "at"
         $August  "August"
        $CalcUTC  0           [0, 1]
        $CalMode  0
         $Daemon  0
        $DateSep  "-"
    $DateTimeSep  "@"
       $December  "December"
   $DefaultColor  "-1 -1 -1"
    $DefaultPrio  5000        [0, 9999]
  $DefaultTDelta  0           [0, 1440]
    $DeltaOffset  0
       $DontFork  0
      $DontQueue  1
    $DontTrigAts  0
        $EndSent  ".?!"
      $EndSentIg  "\"')]}>"
       $February  "February"
    $FirstIndent  0           [0, 132]
       $FoldYear  0           [0, 1]
      $FormWidth  72          [20, 500]
         $Friday  "Friday"
        $Fromnow  "from now"
           $Hour  "hour"
           $Hplu  "s"
       $HushMode  0
     $IgnoreOnce  1
       $InfDelta  0
         $IntMax  2147483647
         $IntMin  -2147483648
             $Is  "is"
        $January  "January"
           $July  "July"
           $June  "June"
         $LatDeg  30
       $Latitude  "30.500000"
         $LatMin  30
         $LatSec  0
       $Location  "Ottawa"
        $LongDeg  -25
      $Longitude  "24.750000"
        $LongMin  15
        $LongSec  0
          $March  "March"
     $MaxSatIter  150         [10, Inf)
   $MaxStringLen  65535       [-1, Inf)
            $May  "May"
    $MinsFromUTC  -300        [-780, 780]
         $Minute  "minute"
         $Monday  "Monday"
           $Mplu  "s"
       $NextMode  0
       $November  "November"
            $Now  "now"
      $NumQueued  0
        $NumTrig  41
        $October  "October"
             $On  "on"
             $Pm  "pm"
   $PrefixLineNo  0
          $PSCal  0
         $RunOff  0
       $Saturday  "Saturday"
      $September  "September"
      $SimpleCal  0
     $SortByDate  0
     $SortByPrio  0
     $SortByTime  0
     $SubsIndent  0           [0, 132]
         $Sunday  "Sunday"
    $SuppressLRM  0           [0, 1]
              $T  0
             $Td  -1
$TerminalBackground  -1
       $Thursday  "Thursday"
        $TimeSep  ":"
             $Tm  -1
          $Today  "today"
       $Tomorrow  "tomorrow"
        $Tuesday  "Tuesday"
             $Tw  -1
             $Ty  -1
              $U  1991-02-16
             $Ud  16
             $Um  2
   $UntimedFirst  0
   $Use256Colors  0
  $UseBGVTColors  0
  $UseTrueColors  0
    $UseVTColors  0
             $Uw  6
             $Uy  1991
            $Was  "was"
      $Wednesday  "Wednesday"
msg [$April]%
../tests/test.rem(474): Trig = Saturday, 16 February, 1991
$April => "April"
April
msg [$August]%
../tests/test.rem(475): Trig = Saturday, 16 February, 1991
$August => "August"
August
msg [$CalcUTC]%
../tests/test.rem(476): Trig = Saturday, 16 February, 1991
$CalcUTC => 0
0
msg [$CalMode]%
../tests/test.rem(477): Trig = Saturday, 16 February, 1991
$CalMode => 0
0
msg [$Daemon]%
../tests/test.rem(478): Trig = Saturday, 16 February, 1991
$Daemon => 0
0
msg [$DateSep]%
../tests/test.rem(479): Trig = Saturday, 16 February, 1991
$DateSep => "-"
-
msg [$DateTimeSep]%
../tests/test.rem(480): Trig = Saturday, 16 February, 1991
$DateTimeSep => "@"
@
msg [$December]%
../tests/test.rem(481): Trig = Saturday, 16 February, 1991
$December => "December"
December
msg [$DefaultColor]%
../tests/test.rem(482): Trig = Saturday, 16 February, 1991
$DefaultColor => "-1 -1 -1"
-1 -1 -1
msg [$DefaultPrio]%
../tests/test.rem(483): Trig = Saturday, 16 February, 1991
$DefaultPrio => 5000
5000
msg [$DefaultTDelta]%
../tests/test.rem(484): Trig = Saturday, 16 February, 1991
$DefaultTDelta => 0
0
msg [$DeltaOffset]%
../tests/test.rem(485): Trig = Saturday, 16 February, 1991
$DeltaOffset => 0
0
msg [$DontFork]%
../tests/test.rem(486): Trig = Saturday, 16 February, 1991
$DontFork => 0
0
msg [$DontQueue]%
../tests/test.rem(487): Trig = Saturday, 16 February, 1991
$DontQueue => 1
1
msg [$DontTrigAts]%
../tests/test.rem(488): Trig = Saturday, 16 February, 1991
$DontTrigAts => 0
0
msg [$EndSent]%
../tests/test.rem(489): Trig = Saturday, 16 February, 1991
$EndSent => ".?!"
.?!
msg [$EndSentIg]%
../tests/test.rem(490): Trig = Saturday, 16 February, 1991
$EndSentIg => "\"')]}>"
"')]}>
msg [$February]%
../tests/test.rem(491): Trig = Saturday, 16 February, 1991
$February => "February"
February
msg [$FirstIndent]%
../tests/test.rem(492): Trig = Saturday, 16 February, 1991
$FirstIndent => 0
0
msg [$FoldYear]%
../tests/test.rem(493): Trig = Saturday, 16 February, 1991
$FoldYear => 0
0
msg [$FormWidth]%
../tests/test.rem(494): Trig = Saturday, 16 February, 1991
$FormWidth => 72
72
msg [$Friday]%
../tests/test.rem(495): Trig = Saturday, 16 February, 1991
$Friday => "Friday"
Friday
msg [$HushMode]%
../tests/test.rem(496): Trig = Saturday, 16 February, 1991
$HushMode => 0
0
msg [$IgnoreOnce]%
../tests/test.rem(497): Trig = Saturday, 16 February, 1991
$IgnoreOnce => 1
1
msg [$InfDelta]%
../tests/test.rem(498): Trig = Saturday, 16 February, 1991
$InfDelta => 0
0
msg [$IntMax]%
../tests/test.rem(499): Trig = Saturday, 16 February, 1991
$IntMax => 2147483647
2147483647
msg [$IntMin]%
../tests/test.rem(500): Trig = Saturday, 16 February, 1991
$IntMin => -2147483648
-2147483648
msg [$January]%
../tests/test.rem(501): Trig = Saturday, 16 February, 1991
$January => "January"
January
msg [$July]%
../tests/test.rem(502): Trig = Saturday, 16 February, 1991
$July => "July"
July
msg [$June]%
../tests/test.rem(503): Trig = Saturday, 16 February, 1991
$June => "June"
June
msg [$LatDeg]%
../tests/test.rem(504): Trig = Saturday, 16 February, 1991
$LatDeg => 30
30
msg [$Latitude]%
../tests/test.rem(505): Trig = Saturday, 16 February, 1991
$Latitude => "30.500000"
30.500000
msg [$LatMin]%
../tests/test.rem(506): Trig = Saturday, 16 February, 1991
$LatMin => 30
30
msg [$LatSec]%
../tests/test.rem(507): Trig = Saturday, 16 February, 1991
$LatSec => 0
0
msg [$Location]%
../tests/test.rem(508): Trig = Saturday, 16 February, 1991
$Location => "Ottawa"
Ottawa
msg [$LongDeg]%
../tests/test.rem(509): Trig = Saturday, 16 February, 1991
$LongDeg => -25
-25
msg [$Longitude]%
../tests/test.rem(510): Trig = Saturday, 16 February, 1991
$Longitude => "24.750000"
24.750000
msg [$LongMin]%
../tests/test.rem(511): Trig = Saturday, 16 February, 1991
$LongMin => 15
15
msg [$LongSec]%
../tests/test.rem(512): Trig = Saturday, 16 February, 1991
$LongSec => 0
0
msg [$March]%
../tests/test.rem(513): Trig = Saturday, 16 February, 1991
$March => "March"
March
msg [$MaxSatIter]%
../tests/test.rem(514): Trig = Saturday, 16 February, 1991
$MaxSatIter => 150
150
msg [$MaxStringLen]%
../tests/test.rem(515): Trig = Saturday, 16 February, 1991
$MaxStringLen => 65535
65535
msg [$May]%
../tests/test.rem(516): Trig = Saturday, 16 February, 1991
$May => "May"
May
msg [$MinsFromUTC]%
../tests/test.rem(517): Trig = Saturday, 16 February, 1991
$MinsFromUTC => -300
-300
msg [$Monday]%
../tests/test.rem(518): Trig = Saturday, 16 February, 1991
$Monday => "Monday"
Monday
msg [$NextMode]%
../tests/test.rem(519): Trig = Saturday, 16 February, 1991
$NextMode => 0
0
msg [$November]%
../tests/test.rem(520): Trig = Saturday, 16 February, 1991
$November => "November"
November
msg [$NumQueued]%
../tests/test.rem(521): Trig = Saturday, 16 February, 1991
$NumQueued => 0
0
msg [$NumTrig]%
../tests/test.rem(522): Trig = Saturday, 16 February, 1991
$NumTrig => 89
89
msg [$October]%
../tests/test.rem(523): Trig = Saturday, 16 February, 1991
$October => "October"
October
msg [$PrefixLineNo]%
../tests/test.rem(524): Trig = Saturday, 16 February, 1991
$PrefixLineNo => 0
0
msg [$PSCal]%
../tests/test.rem(525): Trig = Saturday, 16 February, 1991
$PSCal => 0
0
msg [$RunOff]%
../tests/test.rem(526): Trig = Saturday, 16 February, 1991
$RunOff => 0
0
msg [$Saturday]%
../tests/test.rem(527): Trig = Saturday, 16 February, 1991
$Saturday => "Saturday"
Saturday
msg [$September]%
../tests/test.rem(528): Trig = Saturday, 16 February, 1991
$September => "September"
September
msg [$SimpleCal]%
../tests/test.rem(529): Trig = Saturday, 16 February, 1991
$SimpleCal => 0
0
msg [$SortByDate]%
../tests/test.rem(530): Trig = Saturday, 16 February, 1991
$SortByDate => 0
0
msg [$SortByPrio]%
../tests/test.rem(531): Trig = Saturday, 16 February, 1991
$SortByPrio => 0
0
msg [$SortByTime]%
../tests/test.rem(532): Trig = Saturday, 16 February, 1991
$SortByTime => 0
0
msg [$SubsIndent]%
../tests/test.rem(533): Trig = Saturday, 16 February, 1991
$SubsIndent => 0
0
msg [$Sunday]%
../tests/test.rem(534): Trig = Saturday, 16 February, 1991
$Sunday => "Sunday"
Sunday
msg [$T]%
../tests/test.rem(535): Trig = Saturday, 16 February, 1991
$T => 1991-02-16
1991-02-16
msg [$Td]%
../tests/test.rem(536): Trig = Saturday, 16 February, 1991
$Td => 16
16
msg [$Thursday]%
../tests/test.rem(537): Trig = Saturday, 16 February, 1991
$Thursday => "Thursday"
Thursday
msg [$TimeSep]%
../tests/test.rem(538): Trig = Saturday, 16 February, 1991
$TimeSep => ":"
:
msg [$Tm]%
../tests/test.rem(539): Trig = Saturday, 16 February, 1991
$Tm => 2
2
msg [$Tuesday]%
../tests/test.rem(540): Trig = Saturday, 16 February, 1991
$Tuesday => "Tuesday"
Tuesday
msg [$Tw]%
../tests/test.rem(541): Trig = Saturday, 16 February, 1991
$Tw => 6
6
msg [$Ty]%
../tests/test.rem(542): Trig = Saturday, 16 February, 1991
$Ty => 1991
1991
msg [$U]%
../tests/test.rem(543): Trig = Saturday, 16 February, 1991
$U => 1991-02-16
1991-02-16
msg [$Ud]%
../tests/test.rem(544): Trig = Saturday, 16 February, 1991
$Ud => 16
16
msg [$Um]%
../tests/test.rem(545): Trig = Saturday, 16 February, 1991
$Um => 2
2
msg [$UntimedFirst]%
../tests/test.rem(546): Trig = Saturday, 16 February, 1991
$UntimedFirst => 0
0
msg [$Uw]%
../tests/test.rem(547): Trig = Saturday, 16 February, 1991
$Uw => 6
6
msg [$Uy]%
../tests/test.rem(548): Trig = Saturday, 16 February, 1991
$Uy => 1991
1991
msg [$Wednesday]%
../tests/test.rem(549): Trig = Saturday, 16 February, 1991
$Wednesday => "Wednesday"
Wednesday

# Diagnose until before start date, only for non-constant expressions and
# fully-specified start date
REM Mon 1992 UNTIL 1991-01-01 MSG Not diagnosed - not fully-specified start
../tests/test.rem(553): Expired
REM 1992-01-01 *1 UNTIL 1991-12-31 MSG Diagnosed
../tests/test.rem(554): Warning: UNTIL/THROUGH date earlier than start date
../tests/test.rem(554): Trig = Wednesday, 1 January, 1992
set x '1992-01-01'
REM [x] *1 UNTIL 1991-12-31 MSG Not diagnosed - nonconst expression
x => 1992-01-01
../tests/test.rem(556): Trig = Wednesday, 1 January, 1992

REM MON FROM 1992-01-01 UNTIL 1991-12-31 Diagnosed
../tests/test.rem(558): Warning: UNTIL/THROUGH date earlier than FROM date
../tests/test.rem(558): Expired
REM MON SCANFROM 1992-01-01 UNTIL 1991-12-31 Diagnosed
../tests/test.rem(559): Warning: UNTIL/THROUGH date earlier than SCANFROM date
../tests/test.rem(559): Expired

REM MON FROM [x] UNTIL 1991-12-31 Not diagnosed
x => 1992-01-01
../tests/test.rem(561): Expired
REM MON SCANFROM [x] UNTIL 1991-12-31 Not diagnosed
x => 1992-01-01
../tests/test.rem(562): Expired

REM 1992-01-01 UNTIL 1992-02-02 MSG Diagnosed
../tests/test.rem(564): Warning: Useless use of UNTIL with fully-specified date and no *rep
../tests/test.rem(564): Trig = Wednesday, 1 January, 1992
REM [x] UNTIL 1992-02-02 MSG Diagnosed
x => 1992-01-01
../tests/test.rem(565): Warning: Useless use of UNTIL with fully-specified date and no *rep
../tests/test.rem(565): Trig = Wednesday, 1 January, 1992

dump $aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Variable  Value

$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: Name too long
OMIT 2010-09-03 THROUGH 2010-09-15
OMIT December 25 MSG X
../tests/test.rem(569): Trig = Wednesday, 25 December, 1991
# Next should give a parse error
OMIT 26 Dec 2010 THROUGH 27 Dec 2010 MSG This is not legal
../tests/test.rem(571): Trig = Sunday, 26 December, 2010
OMIT DUMP
Global Full OMITs (16 of maximum allowed 1000):
	1991-03-11
	2010-09-03
	2010-09-04
	2010-09-05
	2010-09-06
	2010-09-07
	2010-09-08
	2010-09-09
	2010-09-10
	2010-09-11
	2010-09-12
	2010-09-13
	2010-09-14
	2010-09-15
	2010-12-26
	2010-12-27
Global Partial OMITs (1 of maximum allowed 366):
	12-25
Global Weekday OMITs:
	None.
# Regression test for bugfix in Hebrew calendar Adar jahrzeit
[_i(14, "Adar", today(), 5761)] MSG Purim
today() => 1991-02-16
Entering UserFN _i(14, "Adar", 1991-02-16, 5761)
x => 14
y => "Adar"
z => 1991-02-16
a => 5761
hebdate(14, "Adar", 1991-02-16, 5761) => 1991-02-28
trigger(1991-02-28) => "28 February 1991"
Leaving UserFN _i() => "28 February 1991"
../tests/test.rem(574): Trig = Thursday, 28 February, 1991

# Regression test for bug found by Larry Hynes
REM SATISFY [day(trigdate()-25) == 14] MSG Foo
../tests/test.rem(577): Trig = Saturday, 16 February, 1991
trigdate() => 1991-02-16
1991-02-16 - 25 => 1991-01-22
day(1991-01-22) => 22
22 == 14 => 0
../tests/test.rem(577): Trig = Sunday, 17 February, 1991
trigdate() => 1991-02-17
1991-02-17 - 25 => 1991-01-23
day(1991-01-23) => 23
23 == 14 => 0
../tests/test.rem(577): Trig = Monday, 18 February, 1991
trigdate() => 1991-02-18
1991-02-18 - 25 => 1991-01-24
day(1991-01-24) => 24
24 == 14 => 0
../tests/test.rem(577): Trig = Tuesday, 19 February, 1991
trigdate() => 1991-02-19
1991-02-19 - 25 => 1991-01-25
day(1991-01-25) => 25
25 == 14 => 0
../tests/test.rem(577): Trig = Wednesday, 20 February, 1991
trigdate() => 1991-02-20
1991-02-20 - 25 => 1991-01-26
day(1991-01-26) => 26
26 == 14 => 0
../tests/test.rem(577): Trig = Thursday, 21 February, 1991
trigdate() => 1991-02-21
1991-02-21 - 25 => 1991-01-27
day(1991-01-27) => 27
27 == 14 => 0
../tests/test.rem(577): Trig = Friday, 22 February, 1991
trigdate() => 1991-02-22
1991-02-22 - 25 => 1991-01-28
day(1991-01-28) => 28
28 == 14 => 0
../tests/test.rem(577): Trig = Saturday, 23 February, 1991
trigdate() => 1991-02-23
1991-02-23 - 25 => 1991-01-29
day(1991-01-29) => 29
29 == 14 => 0
../tests/test.rem(577): Trig = Sunday, 24 February, 1991
trigdate() => 1991-02-24
1991-02-24 - 25 => 1991-01-30
day(1991-01-30) => 30
30 == 14 => 0
../tests/test.rem(577): Trig = Monday, 25 February, 1991
trigdate() => 1991-02-25
1991-02-25 - 25 => 1991-01-31
day(1991-01-31) => 31
31 == 14 => 0
../tests/test.rem(577): Trig = Tuesday, 26 February, 1991
trigdate() => 1991-02-26
1991-02-26 - 25 => 1991-02-01
day(1991-02-01) => 1
1 == 14 => 0
../tests/test.rem(577): Trig = Wednesday, 27 February, 1991
trigdate() => 1991-02-27
1991-02-27 - 25 => 1991-02-02
day(1991-02-02) => 2
2 == 14 => 0
../tests/test.rem(577): Trig = Thursday, 28 February, 1991
trigdate() => 1991-02-28
1991-02-28 - 25 => 1991-02-03
day(1991-02-03) => 3
3 == 14 => 0
../tests/test.rem(577): Trig = Friday, 1 March, 1991
trigdate() => 1991-03-01
1991-03-01 - 25 => 1991-02-04
day(1991-02-04) => 4
4 == 14 => 0
../tests/test.rem(577): Trig = Saturday, 2 March, 1991
trigdate() => 1991-03-02
1991-03-02 - 25 => 1991-02-05
day(1991-02-05) => 5
5 == 14 => 0
../tests/test.rem(577): Trig = Sunday, 3 March, 1991
trigdate() => 1991-03-03
1991-03-03 - 25 => 1991-02-06
day(1991-02-06) => 6
6 == 14 => 0
../tests/test.rem(577): Trig = Monday, 4 March, 1991
trigdate() => 1991-03-04
1991-03-04 - 25 => 1991-02-07
day(1991-02-07) => 7
7 == 14 => 0
../tests/test.rem(577): Trig = Tuesday, 5 March, 1991
trigdate() => 1991-03-05
1991-03-05 - 25 => 1991-02-08
day(1991-02-08) => 8
8 == 14 => 0
../tests/test.rem(577): Trig = Wednesday, 6 March, 1991
trigdate() => 1991-03-06
1991-03-06 - 25 => 1991-02-09
day(1991-02-09) => 9
9 == 14 => 0
../tests/test.rem(577): Trig = Thursday, 7 March, 1991
trigdate() => 1991-03-07
1991-03-07 - 25 => 1991-02-10
day(1991-02-10) => 10
10 == 14 => 0
../tests/test.rem(577): Trig = Friday, 8 March, 1991
trigdate() => 1991-03-08
1991-03-08 - 25 => 1991-02-11
day(1991-02-11) => 11
11 == 14 => 0
../tests/test.rem(577): Trig = Saturday, 9 March, 1991
trigdate() => 1991-03-09
1991-03-09 - 25 => 1991-02-12
day(1991-02-12) => 12
12 == 14 => 0
../tests/test.rem(577): Trig = Sunday, 10 March, 1991
trigdate() => 1991-03-10
1991-03-10 - 25 => 1991-02-13
day(1991-02-13) => 13
13 == 14 => 0
../tests/test.rem(577): Trig = Monday, 11 March, 1991
trigdate() => 1991-03-11
1991-03-11 - 25 => 1991-02-14
day(1991-02-14) => 14
14 == 14 => 1
../tests/test.rem(577): Trig(satisfied) = Monday, 11 March, 1991

# Check combo of SATISFY and long-duration events
REM 14 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(580): Trig = Thursday, 14 March, 1991
$Tw => 4
4 == 4 => 1
../tests/test.rem(580): Trig(satisfied) = Thursday, 14 March, 1991
REM 14 AT 16:00 DURATION 8:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(581): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(581): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
REM 14 AT 16:00 DURATION 8:01 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(582): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
../tests/test.rem(582): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
$Tw => 4
4 == 4 => 1
../tests/test.rem(582): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
REM 14 AT 16:00 DURATION 32:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(583): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
../tests/test.rem(583): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(583): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
REM 14 AT 16:00 DURATION 32:01 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(584): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:01
../tests/test.rem(584): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 32:01
$Tw => 4
4 == 4 => 1
../tests/test.rem(584): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
../tests/test.rem(584): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
Thursday, the 14th

REM 14 AT 16:00 DURATION 40:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(585): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 40:00
../tests/test.rem(585): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 40:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(585): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
../tests/test.rem(585): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
Thursday, the 14th


# This is now an error
REM DURATION 15:00 MSG Should fail... need AT if you have DURATION.
../tests/test.rem(588): Cannot specify DURATION without specifying AT

# Parsing of AM/PM times
REM AT 0:00am MSG foo 0a
../tests/test.rem(591): Expecting time after AT
REM AT 1:00AM MSG foo 1a
../tests/test.rem(592): Trig = Saturday, 16 February, 1991 AT 01:00
foo 1a

REM AT 2:00am MSG foo 2a
../tests/test.rem(593): Trig = Saturday, 16 February, 1991 AT 02:00
foo 2a

REM AT 3:00AM MSG foo 3a
../tests/test.rem(594): Trig = Saturday, 16 February, 1991 AT 03:00
foo 3a

REM AT 4:00am MSG foo 4a
../tests/test.rem(595): Trig = Saturday, 16 February, 1991 AT 04:00
foo 4a

REM AT 5:00AM MSG foo 5a
../tests/test.rem(596): Trig = Saturday, 16 February, 1991 AT 05:00
foo 5a

REM AT 6:00am MSG foo 6a
../tests/test.rem(597): Trig = Saturday, 16 February, 1991 AT 06:00
foo 6a

REM AT 7:00AM MSG foo 7a
../tests/test.rem(598): Trig = Saturday, 16 February, 1991 AT 07:00
foo 7a

REM AT 8:00am MSG foo 8a
../tests/test.rem(599): Trig = Saturday, 16 February, 1991 AT 08:00
foo 8a

REM AT 9:00AM MSG foo 9a
../tests/test.rem(600): Trig = Saturday, 16 February, 1991 AT 09:00
foo 9a

REM AT 10:00am MSG foo 10a
../tests/test.rem(601): Trig = Saturday, 16 February, 1991 AT 10:00
foo 10a

REM AT 11:00AM MSG foo 11a
../tests/test.rem(602): Trig = Saturday, 16 February, 1991 AT 11:00
foo 11a

REM AT 12:00am MSG foo 12a
../tests/test.rem(603): Trig = Saturday, 16 February, 1991 AT 00:00
foo 12a

REM AT 13:00AM MSG foo 13a
../tests/test.rem(604): Expecting time after AT
REM AT 0:00pm MSG foo 0p
../tests/test.rem(605): Expecting time after AT
REM AT 1:00PM MSG foo 1p
../tests/test.rem(606): Trig = Saturday, 16 February, 1991 AT 13:00
foo 1p

REM AT 2:00pm MSG foo 2p
../tests/test.rem(607): Trig = Saturday, 16 February, 1991 AT 14:00
foo 2p

REM AT 3:00PM MSG foo 3p
../tests/test.rem(608): Trig = Saturday, 16 February, 1991 AT 15:00
foo 3p

REM AT 4:00pm MSG foo 4p
../tests/test.rem(609): Trig = Saturday, 16 February, 1991 AT 16:00
foo 4p

REM AT 5:00PM MSG foo 5p
../tests/test.rem(610): Trig = Saturday, 16 February, 1991 AT 17:00
foo 5p

REM AT 6:00pm MSG foo 6p
../tests/test.rem(611): Trig = Saturday, 16 February, 1991 AT 18:00
foo 6p

REM AT 7:00PM MSG foo 7p
../tests/test.rem(612): Trig = Saturday, 16 February, 1991 AT 19:00
foo 7p

REM AT 8:00pm MSG foo 8p
../tests/test.rem(613): Trig = Saturday, 16 February, 1991 AT 20:00
foo 8p

REM AT 9:00PM MSG foo 9p
../tests/test.rem(614): Trig = Saturday, 16 February, 1991 AT 21:00
foo 9p

REM AT 10:00pm MSG foo 10p
../tests/test.rem(615): Trig = Saturday, 16 February, 1991 AT 22:00
foo 10p

REM AT 11:00PM MSG foo 11p
../tests/test.rem(616): Trig = Saturday, 16 February, 1991 AT 23:00
foo 11p

REM AT 12:00pm MSG foo 12p
../tests/test.rem(617): Trig = Saturday, 16 February, 1991 AT 12:00
foo 12p

REM AT 13:00PM MSG foo 13p
../tests/test.rem(618): Expecting time after AT

DEBUG +x
SET x 0:00am + 0
../tests/test.rem(621): Ill-formed time
SET x 1:00AM + 0
01:00 + 0 => 01:00
SET x 2:00am + 0
02:00 + 0 => 02:00
SET x 3:00AM + 0
03:00 + 0 => 03:00
SET x 4:00am + 0
04:00 + 0 => 04:00
SET x 5:00AM + 0
05:00 + 0 => 05:00
SET x 6:00am + 0
06:00 + 0 => 06:00
SET x 7:00AM + 0
07:00 + 0 => 07:00
SET x 8:00am + 0
08:00 + 0 => 08:00
SET x 9:00AM + 0
09:00 + 0 => 09:00
SET x 10:00am + 0
10:00 + 0 => 10:00
SET x 11:00AM + 0
11:00 + 0 => 11:00
SET x 12:00am + 0
00:00 + 0 => 00:00
SET x 13:00AM + 0
../tests/test.rem(634): Ill-formed time

SET x 0:00pm + 0
../tests/test.rem(636): Ill-formed time
SET x 1:00PM + 0
13:00 + 0 => 13:00
SET x 2:00pm + 0
14:00 + 0 => 14:00
SET x 3:00PM + 0
15:00 + 0 => 15:00
SET x 4:00pm + 0
16:00 + 0 => 16:00
SET x 5:00PM + 0
17:00 + 0 => 17:00
SET x 6:00pm + 0
18:00 + 0 => 18:00
SET x 7:00PM + 0
19:00 + 0 => 19:00
SET x 8:00pm + 0
20:00 + 0 => 20:00
SET x 9:00PM + 0
21:00 + 0 => 21:00
SET x 10:00pm + 0
22:00 + 0 => 22:00
SET x 11:00PM + 0
23:00 + 0 => 23:00
SET x 12:00pm + 0
12:00 + 0 => 12:00
SET x 13:00PM + 0
../tests/test.rem(649): Ill-formed time

SET x '2015-02-03 at 0:00am' + 0
../tests/test.rem(651): Ill-formed time
SET x '2015-02-03 at 1:00AM' + 0
2015-02-03 at 01:00 + 0 => 2015-02-03 at 01:00
SET x '2015-02-03 at 2:00am' + 0
2015-02-03 at 02:00 + 0 => 2015-02-03 at 02:00
SET x '2015-02-03 at 3:00AM' + 0
2015-02-03 at 03:00 + 0 => 2015-02-03 at 03:00
SET x '2015-02-03 at 4:00am' + 0
2015-02-03 at 04:00 + 0 => 2015-02-03 at 04:00
SET x '2015-02-03 at 5:00AM' + 0
2015-02-03 at 05:00 + 0 => 2015-02-03 at 05:00
SET x '2015-02-03 at 6:00am' + 0
2015-02-03 at 06:00 + 0 => 2015-02-03 at 06:00
SET x '2015-02-03 at 7:00AM' + 0
2015-02-03 at 07:00 + 0 => 2015-02-03 at 07:00
SET x '2015-02-03 at 8:00am' + 0
2015-02-03 at 08:00 + 0 => 2015-02-03 at 08:00
SET x '2015-02-03 at 9:00AM' + 0
2015-02-03 at 09:00 + 0 => 2015-02-03 at 09:00
SET x '2015-02-03 at 10:00am' + 0
2015-02-03 at 10:00 + 0 => 2015-02-03 at 10:00
SET x '2015-02-03 at 11:00AM' + 0
2015-02-03 at 11:00 + 0 => 2015-02-03 at 11:00
SET x '2015-02-03 at 12:00am' + 0
2015-02-03 at 00:00 + 0 => 2015-02-03 at 00:00
SET x '2015-02-03 at 13:00AM' + 0
../tests/test.rem(664): Ill-formed time

SET x '2015-02-03 at 0:00pm' + 0
../tests/test.rem(666): Ill-formed time
SET x '2015-02-03 at 1:00PM' + 0
2015-02-03 at 13:00 + 0 => 2015-02-03 at 13:00
SET x '2015-02-03 at 2:00pm' + 0
2015-02-03 at 14:00 + 0 => 2015-02-03 at 14:00
SET x '2015-02-03 at 3:00PM' + 0
2015-02-03 at 15:00 + 0 => 2015-02-03 at 15:00
SET x '2015-02-03 at 4:00pm' + 0
2015-02-03 at 16:00 + 0 => 2015-02-03 at 16:00
SET x '2015-02-03 at 5:00PM' + 0
2015-02-03 at 17:00 + 0 => 2015-02-03 at 17:00
SET x '2015-02-03 at 6:00pm' + 0
2015-02-03 at 18:00 + 0 => 2015-02-03 at 18:00
SET x '2015-02-03 at 7:00PM' + 0
2015-02-03 at 19:00 + 0 => 2015-02-03 at 19:00
SET x '2015-02-03 at 8:00pm' + 0
2015-02-03 at 20:00 + 0 => 2015-02-03 at 20:00
SET x '2015-02-03 at 9:00PM' + 0
2015-02-03 at 21:00 + 0 => 2015-02-03 at 21:00
SET x '2015-02-03 at 10:00pm' + 0
2015-02-03 at 22:00 + 0 => 2015-02-03 at 22:00
SET x '2015-02-03 at 11:00PM' + 0
2015-02-03 at 23:00 + 0 => 2015-02-03 at 23:00
SET x '2015-02-03 at 12:00pm' + 0
2015-02-03 at 12:00 + 0 => 2015-02-03 at 12:00
SET x '2015-02-03 at 13:00PM' + 0
../tests/test.rem(679): Ill-formed time

# Test the ampm function
set x ampm(0:12) + ""
ampm(00:12) => "12:12AM"
"12:12AM" + "" => "12:12AM"
set x ampm(1:12) + ""
ampm(01:12) => "1:12AM"
"1:12AM" + "" => "1:12AM"
set x ampm(2:12) + ""
ampm(02:12) => "2:12AM"
"2:12AM" + "" => "2:12AM"
set x ampm(3:12) + ""
ampm(03:12) => "3:12AM"
"3:12AM" + "" => "3:12AM"
set x ampm(4:12) + ""
ampm(04:12) => "4:12AM"
"4:12AM" + "" => "4:12AM"
set x ampm(5:12) + ""
ampm(05:12) => "5:12AM"
"5:12AM" + "" => "5:12AM"
set x ampm(6:12) + ""
ampm(06:12) => "6:12AM"
"6:12AM" + "" => "6:12AM"
set x ampm(7:12) + ""
ampm(07:12) => "7:12AM"
"7:12AM" + "" => "7:12AM"
set x ampm(8:12) + ""
ampm(08:12) => "8:12AM"
"8:12AM" + "" => "8:12AM"
set x ampm(9:12) + ""
ampm(09:12) => "9:12AM"
"9:12AM" + "" => "9:12AM"
set x ampm(10:12) + ""
ampm(10:12) => "10:12AM"
"10:12AM" + "" => "10:12AM"
set x ampm(11:12) + ""
ampm(11:12) => "11:12AM"
"11:12AM" + "" => "11:12AM"
set x ampm(12:12) + ""
ampm(12:12) => "12:12PM"
"12:12PM" + "" => "12:12PM"
set x ampm(13:12) + ""
ampm(13:12) => "1:12PM"
"1:12PM" + "" => "1:12PM"
set x ampm(14:12) + ""
ampm(14:12) => "2:12PM"
"2:12PM" + "" => "2:12PM"
set x ampm(15:12) + ""
ampm(15:12) => "3:12PM"
"3:12PM" + "" => "3:12PM"
set x ampm(16:12) + ""
ampm(16:12) => "4:12PM"
"4:12PM" + "" => "4:12PM"
set x ampm(17:12) + ""
ampm(17:12) => "5:12PM"
"5:12PM" + "" => "5:12PM"
set x ampm(18:12) + ""
ampm(18:12) => "6:12PM"
"6:12PM" + "" => "6:12PM"
set x ampm(19:12) + ""
ampm(19:12) => "7:12PM"
"7:12PM" + "" => "7:12PM"
set x ampm(20:12) + ""
ampm(20:12) => "8:12PM"
"8:12PM" + "" => "8:12PM"
set x ampm(21:12) + ""
ampm(21:12) => "9:12PM"
"9:12PM" + "" => "9:12PM"
set x ampm(22:12) + ""
ampm(22:12) => "10:12PM"
"10:12PM" + "" => "10:12PM"
set x ampm(23:12) + ""
ampm(23:12) => "11:12PM"
"11:12PM" + "" => "11:12PM"

# Coerce with am/pm
set x coerce("TIME", "12:45am")
coerce("TIME", "12:45am") => 00:45
set x coerce("TIME", "12:45")
coerce("TIME", "12:45") => 12:45
set x coerce("TIME", "1:45pm")
coerce("TIME", "1:45pm") => 13:45
set x coerce("DATETIME", "2020-05-05 at 12:45am")
coerce("DATETIME", "2020-05-05 at 12:45am") => 2020-05-05 at 00:45
set x coerce("DATETIME", "2020-05-05 at 12:45")
coerce("DATETIME", "2020-05-05 at 12:45") => 2020-05-05 at 12:45
set x coerce("DATETIME", "2020-05-05 at 1:45pm")
coerce("DATETIME", "2020-05-05 at 1:45pm") => 2020-05-05 at 13:45

# Overflow - these tests only work on machines with 32-bit
# twos-complement signed integers.  You may get test failures on
# machines with different architectures.
set a $IntMin - 1
$IntMin => -2147483648
-2147483648 - 1 => Number too high
../tests/test.rem(718): `-': Number too high
set a $IntMin - $IntMax
$IntMin => -2147483648
$IntMax => 2147483647
-2147483648 - 2147483647 => Number too high
../tests/test.rem(719): `-': Number too high
set a $IntMax - $IntMin
$IntMax => 2147483647
$IntMin => -2147483648
2147483647 - -2147483648 => Number too high
../tests/test.rem(720): `-': Number too high
set a $IntMax - (-1)
$IntMax => 2147483647
- 1 => -1
2147483647 - -1 => Number too high
../tests/test.rem(721): `-': Number too high
set a $IntMax + 1
$IntMax => 2147483647
2147483647 + 1 => Number too high
../tests/test.rem(722): `+': Number too high
set a $IntMax + $IntMax
$IntMax => 2147483647
$IntMax => 2147483647
2147483647 + 2147483647 => Number too high
../tests/test.rem(723): `+': Number too high
set a $IntMin + (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 + -1 => Number too high
../tests/test.rem(724): `+': Number too high
set a $IntMin + $IntMin
$IntMin => -2147483648
$IntMin => -2147483648
-2147483648 + -2147483648 => Number too high
../tests/test.rem(725): `+': Number too high
set a $IntMax * 2
$IntMax => 2147483647
2147483647 * 2 => Number too high
../tests/test.rem(726): `*': Number too high
set a $IntMax * $IntMax
$IntMax => 2147483647
$IntMax => 2147483647
2147483647 * 2147483647 => Number too high
../tests/test.rem(727): `*': Number too high
set a $IntMax * $IntMin
$IntMax => 2147483647
$IntMin => -2147483648
2147483647 * -2147483648 => Number too high
../tests/test.rem(728): `*': Number too high
set a $IntMin * 2
$IntMin => -2147483648
-2147483648 * 2 => Number too high
../tests/test.rem(729): `*': Number too high
set a $IntMin * $IntMin
$IntMin => -2147483648
$IntMin => -2147483648
-2147483648 * -2147483648 => Number too high
../tests/test.rem(730): `*': Number too high
set a $IntMin * $IntMax
$IntMin => -2147483648
$IntMax => 2147483647
-2147483648 * 2147483647 => Number too high
../tests/test.rem(731): `*': Number too high
set a $IntMin / (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 / -1 => Number too high
../tests/test.rem(732): `/': Number too high
set a $IntMin * (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 * -1 => Number too high
../tests/test.rem(733): `*': Number too high
set a (-1) * $IntMin
- 1 => -1
$IntMin => -2147483648
-1 * -2147483648 => Number too high
../tests/test.rem(734): `*': Number too high
set a abs($IntMin)
$IntMin => -2147483648
abs(-2147483648) => Number too high
../tests/test.rem(735): Number too high

# The "isany" function
set a isany(1)
isany(1) => 0
set a isany("foo")
isany("foo") => 0
set a isany(1:00)
isany(01:00) => 0
set a isany(1, 2)
isany(1, 2) => 0
set a isany("foo", 2)
isany("foo", 2) => 0
set a isany(1:00, 2)
isany(01:00, 2) => 0
set a isany(1, 2, 1, 3)
isany(1, 2, 1, 3) => 1
set a isany("foo", 2, 3, "foo")
isany("foo", 2, 3, "foo") => 1
set a isany(1:00, 2, "foo", 2:00, 1:00, 9:00)
isany(01:00, 2, "foo", 02:00, 01:00, 09:00) => 1

# Shellescape
set a shellescape(" !\"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
shellescape(" !\"#$%%&'()*+,-./0123456789:;<=>?@ABCDEF"...) => "\\ \\!\\\"\\#\\$\\%\\%\\&\\'\\(\\)\\*+,-./0123456789\\"...

msg [a]
../tests/test.rem(751): Trig = Saturday, 16 February, 1991
a => "\\ \\!\\\"\\#\\$\\%\\%\\&\\'\\(\\)\\*+,-./0123456789\\"...
\ \!\"\#\$\\\&\'\(\)\*+,-./0123456789\:\;\<=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~


# Deprecated functions
set x psshade(50)
psshade(50) => ../tests/test.rem(754): psshade() is deprecated; use SPECIAL SHADE instead.
"/_A LineWidth 2 div def _A _A moveto Box"...
set x psmoon(0)
psmoon(0) => ../tests/test.rem(755): psmoon() is deprecated; use SPECIAL MOON instead.
"gsave 0 setgray newpath Border DaySize 2"...

# Recursive expression evaluation
FSET _f(x) 0
SET tmp evaltrig("Wed SKIP OMITFUNC _f",date(1992,1,8))
date(1992, 1, 8) => 1992-01-08
evaltrig("Wed SKIP OMITFUNC _f", 1992-01-08) => Entering UserFN _f(1992-01-08)
Leaving UserFN _f() => 0
../tests/test.rem(759): Trig = Wednesday, 8 January, 1992
1992-01-08
REM MSG [tmp]
../tests/test.rem(760): Trig = Saturday, 16 February, 1991
tmp => 1992-01-08
1992-01-08


# Trig
IF trig("sun +1") || trig("thu +1")
trig("sun +1") => ../tests/test.rem(763): Trig = Sunday, 17 February, 1991
1991-02-17
trig("thu +1") => ../tests/test.rem(763): Trig = Thursday, 21 February, 1991
1990-01-01
1991-02-17 || 1990-01-01 => 1991-02-17
    REM [trig()] +1 MSG Foo %b
trig() => 1991-02-17
../tests/test.rem(764): Trig = Sunday, 17 February, 1991
Foo tomorrow

ENDIF

# Trig with a bad warnfunc
FSET w(x) x/0
IF trig("sun warn w") || trig("thu warn w")
trig("sun warn w") => ../tests/test.rem(769): Trig = Sunday, 17 February, 1991
Entering UserFN w(1)
x => 1
1 / 0 => Division by zero
../tests/test.rem(769): 
../tests/test.rem(768): In function `w': `/': Division by zero
Leaving UserFN w() => Division by zero
1990-01-01
trig("thu warn w") => ../tests/test.rem(769): Trig = Thursday, 21 February, 1991
Entering UserFN w(1)
x => 1
1 / 0 => Division by zero
Leaving UserFN w() => Division by zero
1990-01-01
1990-01-01 || 1990-01-01 => 1990-01-01
    REM [trig()] +1 MSG Foo %b
ENDIF

# Trig with a good warnfunc
FSET w(x) choose(x, 5, 3, 1, 0)

# Ugh.  This is where short-circuit logical operators
# would really come in handy.
IF trig("sun warn w") || trig("thu warn w")
trig("sun warn w") => ../tests/test.rem(778): Trig = Sunday, 17 February, 1991
Entering UserFN w(1)
x => 1
choose(1, 5, 3, 1, 0) => 5
Leaving UserFN w() => 5
Entering UserFN w(2)
x => 2
choose(2, 5, 3, 1, 0) => 3
Leaving UserFN w() => 3
Entering UserFN w(3)
x => 3
choose(3, 5, 3, 1, 0) => 1
Leaving UserFN w() => 1
1991-02-17
trig("thu warn w") => ../tests/test.rem(778): Trig = Thursday, 21 February, 1991
Entering UserFN w(1)
x => 1
choose(1, 5, 3, 1, 0) => 5
Leaving UserFN w() => 5
1991-02-21
1991-02-17 || 1991-02-21 => 1991-02-17
    REM [trig()] +5 MSG Foo %b
trig() => 1991-02-21
../tests/test.rem(779): Trig = Thursday, 21 February, 1991
Foo in 5 days' time

ENDIF

REM [trig("Mon", "Tue", "Wed", "Sat")] MSG foo
trig("Mon", "Tue", "Wed", "Sat") => ../tests/test.rem(782): Trig = Monday, 18 February, 1991
../tests/test.rem(782): Trig = Tuesday, 19 February, 1991
../tests/test.rem(782): Trig = Wednesday, 20 February, 1991
../tests/test.rem(782): Trig = Saturday, 16 February, 1991
1991-02-16
../tests/test.rem(782): Trig = Saturday, 16 February, 1991
foo

REM [trig("Mon", "Tue", "Wed")] MSG bar
trig("Mon", "Tue", "Wed") => ../tests/test.rem(783): Trig = Monday, 18 February, 1991
../tests/test.rem(783): Trig = Tuesday, 19 February, 1991
../tests/test.rem(783): Trig = Wednesday, 20 February, 1991
1990-01-01
../tests/test.rem(783): Expired

# The new syntactic sugar
REM First Monday January MSG x
../tests/test.rem(786): Trig = Monday, 6 January, 1992
REM Second Tuesday in April MSG x
../tests/test.rem(787): Trig = Tuesday, 9 April, 1991
REM Third Wednesday in October MSG x
../tests/test.rem(788): Trig = Wednesday, 16 October, 1991
REM Fourth Friday in July MSG x
../tests/test.rem(789): Trig = Friday, 26 July, 1991
REM Last Tuesday in August MSG x
../tests/test.rem(790): Trig = Tuesday, 27 August, 1991
REM Last Sunday in December MSG x
../tests/test.rem(791): Trig = Sunday, 29 December, 1991

REM First Monday January 2000 MSG x
../tests/test.rem(793): Trig = Monday, 3 January, 2000
REM Second Tuesday in April 2000 MSG x
../tests/test.rem(794): Trig = Tuesday, 11 April, 2000
REM Third Wednesday in October 2000 MSG x
../tests/test.rem(795): Trig = Wednesday, 18 October, 2000
REM Fourth Friday in July 2000 MSG x
../tests/test.rem(796): Trig = Friday, 28 July, 2000
REM Last Tuesday in August 2000 MSG x
../tests/test.rem(797): Trig = Tuesday, 29 August, 2000
REM Last Sunday in December 2000 MSG x
../tests/test.rem(798): Trig = Sunday, 31 December, 2000

REM January ~~1 MSG y
../tests/test.rem(800): Trig = Friday, 31 January, 1992
REM February ~~1 MSG y
../tests/test.rem(801): Trig = Thursday, 28 February, 1991
REM February ~~2 MSG y
../tests/test.rem(802): Trig = Wednesday, 27 February, 1991
REM February ~~3 MSG y
../tests/test.rem(803): Trig = Tuesday, 26 February, 1991
REM February ~~8 MSG y
../tests/test.rem(804): Trig = Thursday, 21 February, 1991
REM February ~~20 MSG y
../tests/test.rem(805): Trig = Monday, 10 February, 1992
PUSH
OMIT 31 March
REM March ~1 MSG y
../tests/test.rem(808): Trig = Saturday, 30 March, 1991
REM March ~~1 MSG y
../tests/test.rem(809): Trig = Sunday, 31 March, 1991
REM Lastday March MSG y
../tests/test.rem(810): Trig = Sunday, 31 March, 1991
REM Lastworkday March MSG y
../tests/test.rem(811): Trig = Saturday, 30 March, 1991
POP
REM Dec 2000 ~~1 MSG y
../tests/test.rem(813): Trig = Sunday, 31 December, 2000
REM Dec 2000 ~~2 MSG y
../tests/test.rem(814): Trig = Saturday, 30 December, 2000
REM Dec 2000 ~~3 MSG y
../tests/test.rem(815): Trig = Friday, 29 December, 2000
REM Dec 2000 ~~7 MSG y
../tests/test.rem(816): Trig = Monday, 25 December, 2000
REM Jan 2001 ~~1 MSG y
../tests/test.rem(817): Trig = Wednesday, 31 January, 2001

REM Lastday April 2022 OMIT SAT SUN MSG foo
../tests/test.rem(819): Trig = Saturday, 30 April, 2022
REM Lastworkday April 2022 OMIT SAT SUN MSG foo
../tests/test.rem(820): Trig = Friday, 29 April, 2022

SET a pad(1, "0", 2)
pad(1, "0", 2) => "01"
set a pad(1, "0", 2, 1)
pad(1, "0", 2, 1) => "10"
set a pad("foo", "quux", 14)
pad("foo", "quux", 14) => "quuxquuxquufoo"
set a pad("foo", "quux", 14, 1)
pad("foo", "quux", 14, 1) => "fooquuxquuxquu"
set a pad(11:33, " ", 12)
pad(11:33, " ", 12) => "       11:33"
set a pad(11:33, " ", 12, 1)
pad(11:33, " ", 12, 1) => "11:33       "
set a pad("foo", "0", $MaxStringLen+1)
$MaxStringLen => 65535
65535 + 1 => 65536
pad("foo", "0", 65536) => String too long
../tests/test.rem(828): String too long

# Test OMIT
CLEAR-OMIT-CONTEXT

OMIT Apr
OMIT Jun THROUGH July 15
OMIT Sep 5 THROUGH Sep 10
OMIT 2024-12-25 THROUGH 2025-01-04
OMIT Apr 2022 through July
../tests/test.rem(837): Bad date specification

OMIT DUMP
Global Full OMITs (11 of maximum allowed 1000):
	2024-12-25
	2024-12-26
	2024-12-27
	2024-12-28
	2024-12-29
	2024-12-30
	2024-12-31
	2025-01-01
	2025-01-02
	2025-01-03
	2025-01-04
Global Partial OMITs (81 of maximum allowed 366):
	04-01
	04-02
	04-03
	04-04
	04-05
	04-06
	04-07
	04-08
	04-09
	04-10
	04-11
	04-12
	04-13
	04-14
	04-15
	04-16
	04-17
	04-18
	04-19
	04-20
	04-21
	04-22
	04-23
	04-24
	04-25
	04-26
	04-27
	04-28
	04-29
	04-30
	06-01
	06-02
	06-03
	06-04
	06-05
	06-06
	06-07
	06-08
	06-09
	06-10
	06-11
	06-12
	06-13
	06-14
	06-15
	06-16
	06-17
	06-18
	06-19
	06-20
	06-21
	06-22
	06-23
	06-24
	06-25
	06-26
	06-27
	06-28
	06-29
	06-30
	07-01
	07-02
	07-03
	07-04
	07-05
	07-06
	07-07
	07-08
	07-09
	07-10
	07-11
	07-12
	07-13
	07-14
	07-15
	09-05
	09-06
	09-07
	09-08
	09-09
	09-10
Global Weekday OMITs:
	None.
CLEAR-OMIT-CONTEXT
OMIT 2000-01-01 THROUGH 2020-12-31
../tests/test.rem(841): Too many full OMITs

OMIT Dec 5 2029 through Dec 4 2029
../tests/test.rem(843): Error: THROUGH date earlier than start date

# Test MSF

REM MSF This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
../tests/test.rem(847): Trig = Saturday, 16 February, 1991
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?


# A ridiculously long line
REM MSF This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok? This is a very long reminder.  It should be wrapped.  Will it be wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
../tests/test.rem(850): Trig = Saturday, 16 February, 1991
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?
This is a very long reminder.  It should be wrapped.  Will it be
wrapped?  I'm interested to see it it's wrapped.  Please wrap this, ok?


# Custom substitution sequences
FSET subst_custom(a, d, t) "Custom: a=" + a + "; d=" + d + "; t=" + t

REM MSG Here: %{custom}
../tests/test.rem(855): Trig = Saturday, 16 February, 1991
Entering UserFN subst_custom(0, 1991-02-16, 12:13)
a => 0
"Custom: a=" + 0 => "Custom: a=0"
"Custom: a=0" + "; d=" => "Custom: a=0; d="
d => 1991-02-16
"Custom: a=0; d=" + 1991-02-16 => "Custom: a=0; d=1991-02-16"
"Custom: a=0; d=1991-02-16" + "; t=" => "Custom: a=0; d=1991-02-16; t="
t => 12:13
"Custom: a=0; d=1991-02-16; t=" + 12:13 => "Custom: a=0; d=1991-02-16; t=12:13"
Leaving UserFN subst_custom() => "Custom: a=0; d=1991-02-16; t=12:13"
Here: Custom: a=0; d=1991-02-16; t=12:13

REM MSG There: %*{custom}
../tests/test.rem(856): Trig = Saturday, 16 February, 1991
Entering UserFN subst_custom(1, 1991-02-16, 12:13)
a => 1
"Custom: a=" + 1 => "Custom: a=1"
"Custom: a=1" + "; d=" => "Custom: a=1; d="
d => 1991-02-16
"Custom: a=1; d=" + 1991-02-16 => "Custom: a=1; d=1991-02-16"
"Custom: a=1; d=1991-02-16" + "; t=" => "Custom: a=1; d=1991-02-16; t="
t => 12:13
"Custom: a=1; d=1991-02-16; t=" + 12:13 => "Custom: a=1; d=1991-02-16; t=12:13"
Leaving UserFN subst_custom() => "Custom: a=1; d=1991-02-16; t=12:13"
There: Custom: a=1; d=1991-02-16; t=12:13

REM MSG Bad: %{custom
../tests/test.rem(857): Trig = Saturday, 16 February, 1991
../tests/test.rem(857): Warning: Unterminated %{...} substitution sequence
Entering UserFN subst_custom(0, 1991-02-16, 12:13)
a => 0
"Custom: a=" + 0 => "Custom: a=0"
"Custom: a=0" + "; d=" => "Custom: a=0; d="
d => 1991-02-16
"Custom: a=0; d=" + 1991-02-16 => "Custom: a=0; d=1991-02-16"
"Custom: a=0; d=1991-02-16" + "; t=" => "Custom: a=0; d=1991-02-16; t="
t => 12:13
"Custom: a=0; d=1991-02-16; t=" + 12:13 => "Custom: a=0; d=1991-02-16; t=12:13"
Leaving UserFN subst_custom() => "Custom: a=0; d=1991-02-16; t=12:13"
Bad: Custom: a=0; d=1991-02-16; t=12:13


# Test FUNSET
FSET square(x) x*x
SET a square(5)
Entering UserFN square(5)
x => 5
x => 5
5 * 5 => 25
Leaving UserFN square() => 25

# FUNSET doesn't give an error if we funset nonexistent functions
FUNSET circle square rectangle

# Should fail
SET a square(5)
../tests/test.rem(867): Undefined function: `square'

# Don't want Remind to queue reminders
EXIT

Test 2

# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 17 ../tests/test2.rem
2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/01 * * * * 0 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/01 * * * * 0 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/02 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/02 * * * * 1 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/02 * * * * 1 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/03 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/03 * * * * 2 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/03 * * * * 2 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/04 * * * * 3 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/04 * * * * 3 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/05 * * * * 4 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/05 * * * * 3 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/06 * * * * 5 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/06 * * * * 3 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/06 * * * * Blort
# fileinfo 27 ../tests/test2.rem
2007/08/07 * * * * 6 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/07 * * * * 4 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/08 * * * * 7 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/08 * * * * 5 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/09 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/09 * * * * 8 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/09 * * * * 6 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/10 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/10 * * * * 9 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/10 * * * * 7 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/11 * * * * 10 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/11 * * * * 8 NonOmit-2
# fileinfo 24 ../tests/test2.rem
2007/08/12 MOON * * * 0
# fileinfo 27 ../tests/test2.rem
2007/08/12 * * * * 11 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/12 * * * * 8 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/13 * * * * 12 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/13 * * * * 8 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/14 * * * * 13 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/14 * * * * 9 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/15 * * * * 13 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/15 * * * * 9 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/16 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/16 * * * * 14 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/16 * * * * 10 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/17 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/17 * * * * 15 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/17 * * * * 11 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/18 * * * * 16 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/18 * * * * 12 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/19 * * * * 17 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/19 * * * * 12 NonOmit-2
# fileinfo 31 ../tests/test2.rem
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
# fileinfo 27 ../tests/test2.rem
2007/08/20 * * * * 18 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/20 * * * * 12 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/20 * * * * Blort
# fileinfo 34 ../tests/test2.rem
2007/08/21 PostScript * * 115 (wookie) show
# fileinfo 27 ../tests/test2.rem
2007/08/21 * * * * 19 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/21 * * * * 13 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/22 * * * * 20 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/22 * * * * 14 NonOmit-2
# fileinfo 35 ../tests/test2.rem
2007/08/22 PostScript * * * (cabbage) show
# fileinfo 38 ../tests/test2.rem
2007/08/23 blort * * 1004 snoo glup
# fileinfo 18 ../tests/test2.rem
2007/08/23 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/23 * * * * 21 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/23 * * * * 15 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/24 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/24 * * * * 22 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/24 * * * * 16 NonOmit-2
# fileinfo 39 ../tests/test2.rem
2007/08/24 blort * * * gulp wookie
# fileinfo 27 ../tests/test2.rem
2007/08/25 * * * * 23 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/25 * * * * 17 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/26 * * * * 24 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/26 * * * * 17 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/27 * * * * 25 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/27 * * * * 17 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/27 * * * * Blort
# fileinfo 27 ../tests/test2.rem
2007/08/28 * * * * 26 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/28 * * * * 18 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/29 * * * * 27 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/29 * * * * 19 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/30 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/30 * * * * 28 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/30 * * * * 20 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/31 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/31 * * * * 29 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/31 * * * * 21 NonOmit-2
# rem2ps end

Test 3

2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
2007/08/01 * * * * 0 NonOmit-1
2007/08/01 * * * * 0 NonOmit-2
2007/08/02 COLOR * * * 255 0 0 Red Thursday
2007/08/02 * * * * 1 NonOmit-1
2007/08/02 * * * * 1 NonOmit-2
2007/08/03 * * * * 2 NonOmit-1
2007/08/03 * * * * 2 NonOmit-2
2007/08/04 * * * * 3 NonOmit-1
2007/08/04 * * * * 3 NonOmit-2
2007/08/05 * * * * 4 NonOmit-1
2007/08/05 * * * * 3 NonOmit-2
2007/08/06 * * * * 5 NonOmit-1
2007/08/06 * * * * 3 NonOmit-2
2007/08/06 * * * * Blort
2007/08/07 * * * * 6 NonOmit-1
2007/08/07 * * * * 4 NonOmit-2
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
2007/08/08 * * * * 7 NonOmit-1
2007/08/08 * * * * 5 NonOmit-2
2007/08/09 COLOR * * * 255 0 0 Red Thursday
2007/08/09 * * * * 8 NonOmit-1
2007/08/09 * * * * 6 NonOmit-2
2007/08/10 * * * * 9 NonOmit-1
2007/08/10 * * * * 7 NonOmit-2
2007/08/11 * * * * 10 NonOmit-1
2007/08/11 * * * * 8 NonOmit-2
2007/08/12 * * * * 11 NonOmit-1
2007/08/12 * * * * 8 NonOmit-2
2007/08/13 * * * * 12 NonOmit-1
2007/08/13 * * * * 8 NonOmit-2
2007/08/14 * * * * 13 NonOmit-1
2007/08/14 * * * * 9 NonOmit-2
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
2007/08/15 * * * * 13 NonOmit-1
2007/08/15 * * * * 9 NonOmit-2
2007/08/16 COLOR * * * 255 0 0 Red Thursday
2007/08/16 * * * * 14 NonOmit-1
2007/08/16 * * * * 10 NonOmit-2
2007/08/17 * * * * 15 NonOmit-1
2007/08/17 * * * * 11 NonOmit-2
2007/08/18 * * * * 16 NonOmit-1
2007/08/18 * * * * 12 NonOmit-2
2007/08/19 * * * * 17 NonOmit-1
2007/08/19 * * * * 12 NonOmit-2
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
2007/08/20 * * * * 18 NonOmit-1
2007/08/20 * * * * 12 NonOmit-2
2007/08/20 * * * * Blort
2007/08/21 * * * * 19 NonOmit-1
2007/08/21 * * * * 13 NonOmit-2
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
2007/08/22 * * * * 20 NonOmit-1
2007/08/22 * * * * 14 NonOmit-2
2007/08/23 COLOR * * * 255 0 0 Red Thursday
2007/08/23 * * * * 21 NonOmit-1
2007/08/23 * * * * 15 NonOmit-2
2007/08/24 * * * * 22 NonOmit-1
2007/08/24 * * * * 16 NonOmit-2
2007/08/25 * * * * 23 NonOmit-1
2007/08/25 * * * * 17 NonOmit-2
2007/08/26 * * * * 24 NonOmit-1
2007/08/26 * * * * 17 NonOmit-2
2007/08/27 * * * * 25 NonOmit-1
2007/08/27 * * * * 17 NonOmit-2
2007/08/27 * * * * Blort
2007/08/28 * * * * 26 NonOmit-1
2007/08/28 * * * * 18 NonOmit-2
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
2007/08/29 * * * * 27 NonOmit-1
2007/08/29 * * * * 19 NonOmit-2
2007/08/30 COLOR * * * 255 0 0 Red Thursday
2007/08/30 * * * * 28 NonOmit-1
2007/08/30 * * * * 20 NonOmit-2
2007/08/31 * * * * 29 NonOmit-1
2007/08/31 * * * * 21 NonOmit-2

Test 4

2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
2007/08/01 * * * * 0 NonOmit-1
2007/08/01 * * * * 0 NonOmit-2
2007/08/02 COLOR * * * 255 0 0 Red Thursday
2007/08/02 * * * * 1 NonOmit-1
2007/08/02 * * * * 1 NonOmit-2
2007/08/03 * * * * 2 NonOmit-1
2007/08/03 * * * * 2 NonOmit-2
2007/08/04 * * * * 3 NonOmit-1
2007/08/04 * * * * 3 NonOmit-2
2007/08/05 * * * * 4 NonOmit-1
2007/08/05 * * * * 3 NonOmit-2
2007/08/06 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/06 * * * * 5 NonOmit-1
2007/08/06 * * * * 3 NonOmit-2
2007/08/06 * * * * Blort
2007/08/07 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/07 * * * * 6 NonOmit-1
2007/08/07 * * * * 4 NonOmit-2
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
2007/08/08 * * * * 7 NonOmit-1
2007/08/08 * * * * 5 NonOmit-2
2007/08/09 COLOR * * * 255 0 0 Red Thursday
2007/08/09 * * * * 8 NonOmit-1
2007/08/09 * * * * 6 NonOmit-2
2007/08/10 * * * * 9 NonOmit-1
2007/08/10 * * * * 7 NonOmit-2
2007/08/11 * * * * 10 NonOmit-1
2007/08/11 * * * * 8 NonOmit-2
2007/08/12 COLOR * * * 0 0 255 Blue Wednesday is in 3 days' time
2007/08/12 * * * * 11 NonOmit-1
2007/08/12 * * * * 8 NonOmit-2
2007/08/13 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/13 * * * * 12 NonOmit-1
2007/08/13 * * * * 8 NonOmit-2
2007/08/14 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/14 * * * * 13 NonOmit-1
2007/08/14 * * * * 9 NonOmit-2
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
2007/08/15 * * * * 13 NonOmit-1
2007/08/15 * * * * 9 NonOmit-2
2007/08/16 COLOR * * * 255 0 0 Red Thursday
2007/08/16 * * * * 14 NonOmit-1
2007/08/16 * * * * 10 NonOmit-2
2007/08/17 * * * * 15 NonOmit-1
2007/08/17 * * * * 11 NonOmit-2
2007/08/18 * * * * 16 NonOmit-1
2007/08/18 * * * * 12 NonOmit-2
2007/08/19 * * * * 17 NonOmit-1
2007/08/19 * * * * 12 NonOmit-2
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
2007/08/20 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/20 * * * * 18 NonOmit-1
2007/08/20 * * * * 12 NonOmit-2
2007/08/20 * * * * Blort
2007/08/21 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/21 * * * * 19 NonOmit-1
2007/08/21 * * * * 13 NonOmit-2
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
2007/08/22 * * * * 20 NonOmit-1
2007/08/22 * * * * 14 NonOmit-2
2007/08/23 COLOR * * * 255 0 0 Red Thursday
2007/08/23 * * * * 21 NonOmit-1
2007/08/23 * * * * 15 NonOmit-2
2007/08/24 * * * * 22 NonOmit-1
2007/08/24 * * * * 16 NonOmit-2
2007/08/25 * * * * 23 NonOmit-1
2007/08/25 * * * * 17 NonOmit-2
2007/08/26 * * * * 24 NonOmit-1
2007/08/26 * * * * 17 NonOmit-2
2007/08/27 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/27 * * * * 25 NonOmit-1
2007/08/27 * * * * 17 NonOmit-2
2007/08/27 * * * * Blort
2007/08/28 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/28 * * * * 26 NonOmit-1
2007/08/28 * * * * 18 NonOmit-2
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
2007/08/29 * * * * 27 NonOmit-1
2007/08/29 * * * * 19 NonOmit-2
2007/08/30 COLOR * * * 255 0 0 Red Thursday
2007/08/30 * * * * 28 NonOmit-1
2007/08/30 * * * * 20 NonOmit-2
2007/08/31 * * * * 29 NonOmit-1
2007/08/31 * * * * 21 NonOmit-2
Test 5

# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 11:00am Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 11:00-11:45am Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 11:00am-12:45pm Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 11:00am-1:45am+1 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 11:00am-11:45am+1 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 11:00am-11:45pm+1 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 11:00am-11:45am+2 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 12:00pm Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 12:00-12:45pm Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 12:00-2:45pm Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 12:00pm-2:45am+1 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 12:00pm-12:45pm+1 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 12:00pm-12:45am+2 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 12:00pm-12:45pm+2 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 1:00pm Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 1:00-1:45pm Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 1:00-4:45pm Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 1:00pm-3:45am+1 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 1:00pm-1:45pm+1 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 1:00pm-1:45am+2 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 1:00pm-1:45pm+2 Strange
# fileinfo 13 ../tests/test3.rem
2007/08/02 * * 105 0 12:00-1:45am Green
# fileinfo 14 ../tests/test3.rem
2007/08/02 * * 165 0 12:00-2:45am Blue
# fileinfo 15 ../tests/test3.rem
2007/08/02 * * 225 0 12:00-3:45am Red
# fileinfo 17 ../tests/test3.rem
2007/08/02 * * 705 0 12:00-11:45am Yellow
# fileinfo 18 ../tests/test3.rem
2007/08/02 * * 765 0 12:00am-12:45pm Orange
# fileinfo 19 ../tests/test3.rem
2007/08/02 * * 825 0 12:00am-1:45pm Magenta
# fileinfo 21 ../tests/test3.rem
2007/08/02 * * 1425 0 12:00am-11:45pm Purple
# fileinfo 22 ../tests/test3.rem
2007/08/02 * * 1485 0 12:00am-12:45am+1 Black
# fileinfo 23 ../tests/test3.rem
2007/08/02 * * 1545 0 12:00am-1:45am+1 Brown
# fileinfo 25 ../tests/test3.rem
2007/08/02 * * 2145 0 12:00am-11:45am+1 Sad
# fileinfo 26 ../tests/test3.rem
2007/08/02 * * 2205 0 12:00am-12:45pm+1 Happy
# fileinfo 27 ../tests/test3.rem
2007/08/02 * * 2265 0 12:00am-1:45pm+1 Strange
# fileinfo 22 ../tests/test3.rem
2007/08/03 * * 45 0 12:00-12:45am Black
# fileinfo 23 ../tests/test3.rem
2007/08/03 * * 105 0 12:00-1:45am Brown
# fileinfo 25 ../tests/test3.rem
2007/08/03 * * 705 0 12:00-11:45am Sad
# fileinfo 26 ../tests/test3.rem
2007/08/03 * * 765 0 12:00am-12:45pm Happy
# fileinfo 27 ../tests/test3.rem
2007/08/03 * * 825 0 12:00am-1:45pm Strange
# rem2ps end
Test 6

# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 11:00 Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 11:00-11:45 Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 11:00-12:45 Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 11:00-01:45+1 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 11:00-11:45+1 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 11:00-23:45+1 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 11:00-11:45+2 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 12:00 Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 12:00-12:45 Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 12:00-14:45 Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 12:00-02:45+1 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 12:00-12:45+1 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 12:00-00:45+2 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 12:00-12:45+2 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 13:00 Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 13:00-13:45 Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 13:00-16:45 Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 13:00-03:45+1 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 13:00-13:45+1 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 13:00-01:45+2 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 13:00-13:45+2 Strange
# fileinfo 13 ../tests/test3.rem
2007/08/02 * * 105 0 00:00-01:45 Green
# fileinfo 14 ../tests/test3.rem
2007/08/02 * * 165 0 00:00-02:45 Blue
# fileinfo 15 ../tests/test3.rem
2007/08/02 * * 225 0 00:00-03:45 Red
# fileinfo 17 ../tests/test3.rem
2007/08/02 * * 705 0 00:00-11:45 Yellow
# fileinfo 18 ../tests/test3.rem
2007/08/02 * * 765 0 00:00-12:45 Orange
# fileinfo 19 ../tests/test3.rem
2007/08/02 * * 825 0 00:00-13:45 Magenta
# fileinfo 21 ../tests/test3.rem
2007/08/02 * * 1425 0 00:00-23:45 Purple
# fileinfo 22 ../tests/test3.rem
2007/08/02 * * 1485 0 00:00-00:45+1 Black
# fileinfo 23 ../tests/test3.rem
2007/08/02 * * 1545 0 00:00-01:45+1 Brown
# fileinfo 25 ../tests/test3.rem
2007/08/02 * * 2145 0 00:00-11:45+1 Sad
# fileinfo 26 ../tests/test3.rem
2007/08/02 * * 2205 0 00:00-12:45+1 Happy
# fileinfo 27 ../tests/test3.rem
2007/08/02 * * 2265 0 00:00-13:45+1 Strange
# fileinfo 22 ../tests/test3.rem
2007/08/03 * * 45 0 00:00-00:45 Black
# fileinfo 23 ../tests/test3.rem
2007/08/03 * * 105 0 00:00-01:45 Brown
# fileinfo 25 ../tests/test3.rem
2007/08/03 * * 705 0 00:00-11:45 Sad
# fileinfo 26 ../tests/test3.rem
2007/08/03 * * 765 0 00:00-12:45 Happy
# fileinfo 27 ../tests/test3.rem
2007/08/03 * * 825 0 00:00-13:45 Strange
# rem2ps end
Test 7

# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 Strange
# fileinfo 13 ../tests/test3.rem
2007/08/02 * * 105 0 Green
# fileinfo 14 ../tests/test3.rem
2007/08/02 * * 165 0 Blue
# fileinfo 15 ../tests/test3.rem
2007/08/02 * * 225 0 Red
# fileinfo 17 ../tests/test3.rem
2007/08/02 * * 705 0 Yellow
# fileinfo 18 ../tests/test3.rem
2007/08/02 * * 765 0 Orange
# fileinfo 19 ../tests/test3.rem
2007/08/02 * * 825 0 Magenta
# fileinfo 21 ../tests/test3.rem
2007/08/02 * * 1425 0 Purple
# fileinfo 22 ../tests/test3.rem
2007/08/02 * * 1485 0 Black
# fileinfo 23 ../tests/test3.rem
2007/08/02 * * 1545 0 Brown
# fileinfo 25 ../tests/test3.rem
2007/08/02 * * 2145 0 Sad
# fileinfo 26 ../tests/test3.rem
2007/08/02 * * 2205 0 Happy
# fileinfo 27 ../tests/test3.rem
2007/08/02 * * 2265 0 Strange
# fileinfo 22 ../tests/test3.rem
2007/08/03 * * 45 0 Black
# fileinfo 23 ../tests/test3.rem
2007/08/03 * * 105 0 Brown
# fileinfo 25 ../tests/test3.rem
2007/08/03 * * 705 0 Sad
# fileinfo 26 ../tests/test3.rem
2007/08/03 * * 765 0 Happy
# fileinfo 27 ../tests/test3.rem
2007/08/03 * * 825 0 Strange
# rem2ps end
Test 8

Scanning directory `../tests/include_dir' for *.rem files
Caching directory `../tests/include_dir' listing
Reading `../tests/include_dir/01.rem': Opening file on disk
Caching file `../tests/include_dir/01.rem' in memory
Reading `../tests/include_dir/02.rem': Opening file on disk
Caching file `../tests/include_dir/02.rem' in memory
Reading `../tests/include_dir/subdir/04.rem': Opening file on disk
Caching file `../tests/include_dir/subdir/04.rem' in memory
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
../tests/include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/include_dir/01.rem
2007/08/15 * * * * 01
# fileinfo 1 ../tests/include_dir/02.rem
2007/08/15 * * * * 02
# fileinfo 1 ../tests/include_dir/subdir/04.rem
2007/08/16 * * * * Should be included by 02.rem
# rem2ps end
Test 9

Reading `../tests/nonexistent_include_dir': Opening file on disk
Can't open file: ../tests/nonexistent_include_dir
Error reading ../tests/nonexistent_include_dir: Can't open file
Scanning directory `../tests/include_dir_no_rems' for *.rem files
Caching directory `../tests/include_dir_no_rems' listing
../tests/include_dir_no_rems: No files matching *.rem
Error reading ../tests/include_dir_no_rems: No files matching *.rem
Reading `../tests/include_test.rem': Opening file on disk
Caching file `../tests/include_test.rem' in memory
Scanning directory `include_dir' for *.rem files
Caching directory `include_dir' listing
Reading `include_dir/01.rem': Opening file on disk
Caching file `include_dir/01.rem' in memory
Reading `include_dir/02.rem': Opening file on disk
Caching file `include_dir/02.rem' in memory
Reading `include_dir/subdir/04.rem': Opening file on disk
Caching file `include_dir/subdir/04.rem' in memory
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Scanning directory `include_dir_no_rems' for *.rem files
Caching directory `include_dir_no_rems' listing
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/subdir/04.rem': Found in cache
Reading `subdir/04.rem': Opening file on disk
include_dir/02.rem(3): Can't open file: subdir/04.rem
Reading `include_dir/04cantread.rem': Opening file on disk
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 include_dir/01.rem
2007/08/15 * * * * 01
# fileinfo 1 include_dir/02.rem
2007/08/15 * * * * 02
# fileinfo 5 ../tests/include_test.rem
2007/08/15 * * * * Whee!!!!
# fileinfo 1 include_dir/subdir/04.rem
2007/08/16 * * * * Should be included by 02.rem
# rem2ps end
Feb 29 Bug Test
-(1): Trig = Sunday, 3 March, 2024
No reminders.
Mon 31 Dec Bug Test
-(1): Expired
No reminders.
Color Test
(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B
(0x(B                                August 2007???                                 (0x(B
(0tqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqu(B
(0x(B  Sunday???  (0x(B  Monday???  (0x(B Tuesday???  (0x(BWednesday??? (0x(B Thursday??? (0x(B  Friday???  (0x(B Saturday??? (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B          (0x(B          (0x(B          (0x(B1 ???        (0x(B2 ???        (0x(B3 ???        (0x(B4 ???        (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B5 ???        (0x(B6 ???        (0x(B7 ???        (0x(B8 ???        (0x(B9 ???        (0x(B10 ???       (0x(B11 ???       (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B12 ???       (0x(B13 ???       (0x(B14 ???       (0x(B15 ???       (0x(B16 ???       (0x(B17 ???       (0x(B18 ???       (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B19 ???       (0x(B20 ???       (0x(B21 ???       (0x(B22 ???       (0x(B23 ???       (0x(B24 ???       (0x(B25 ???       (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(BDefaultCol???(0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(Bor_Yellow??? (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B26 ???       (0x(B27 ???       (0x(B28 ???       (0x(B29 ???       (0x(B30 ???       (0x(B31 ???       (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBlack???     (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim Red???   (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim Green??? (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim Blue???  (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim Cyan???  (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim???       (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BMagenta???   (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim Yellow???(0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BDim White??? (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright Red???(0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BGreen???     (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBlue???      (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BCyan???      (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BMagenta???   (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BYellow???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BBright???    (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0x(B          (0x(B          (0x(BWhite???     (0x(B          (0x(B          (0x(B          (0x(B          (0x(B
(0mqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqj(B
ANSI Color Test
TerminalBackground  is: -1
UseVTColors is:         0
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       0
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: -1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 0
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        1
UseTrueColors is:       0
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

TerminalBackground  is: 1
UseVTColors is:         1
Use256Colors is:        0
UseTrueColors is:       1
UseBGVTColors is:       1
This is green, red and blue text.
This is black text on a green background
This is clamped black text
This is clamped white text

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.
Here we have a formatted reminder.  It should be word-wrapped nicely
and neatly by Remind.  Although it is very long and unwieldy, the MSF
keyword will wrap it so it's pleasantly readable.

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????
?????? ???????????? ?????? ?????????????????????????? ????????????????????.  ???? ???????????? ???? ?????????? ??????????????????
???? ???????????? ???????????? ?????? ?????????????????????????? ?????? ???? Remind.  ???? ?????? ?????????? ????????
?????????? ?????? ??????????????????, ?? ????????-???????????? ?????? ?????? ???? ???? ?????????????? ???????? ???????? ????
?????????? ?????????????????? ??????????????????????.  ???? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ????
???????? ???? ???? ???? ???????? ???? ???? ???? ???????? ???? ???? ???? ????

../tests/ansicolors.rem(33): ansicolor(): Not enough arguments
../tests/ansicolors.rem(34): ansicolor(): Number too low
../tests/ansicolors.rem(35): ansicolor(): Number too high
../tests/ansicolors.rem(36): ansicolor(): Type mismatch
../tests/ansicolors.rem(37): ansicolor(): Type mismatch
../tests/ansicolors.rem(38): ansicolor(): Number too low
../tests/ansicolors.rem(39): ansicolor(): Number too high
../tests/ansicolors.rem(40): ansicolor(): Number too high
../tests/ansicolors.rem(41): ansicolor(): Number too low
../tests/ansicolors.rem(42): ansicolor(): Number too high
../tests/ansicolors.rem(43): ansicolor(): Number too low
Width of foo: ???? is: 7

$AddBlankLines test
Reminders for Saturday, 1st January, 2022:

$AddBlankLines=1


Hello

Hi

How are you?

OK

Reminders for Saturday, 1st January, 2022:

$AddBlankLines=1


Hello

Hi

How are you?

OK

Reminders for Saturday, 1st January, 2022:
$AddBlankLines=0

Hello
Hi
How are you?
OK
MON WKDAY DAY across year test
-(1): Trig = Monday, 3 January, 2000
No reminders.
Sort Test
Reminders for Saturday, 1st January, 2000:

Untimed

Timed

Reminders for Saturday, 1st January, 2000:

Timed

Untimed

Purge Test
../tests/purge_dir/f3.rem(76): `/': Division by zero
../tests/purge_dir/f3.rem(76): `/': Division by zero
F1
# This is f1.rem
INCLUDE [filedir()]/f2.rem
INCLUDE [filedir()]/f2.rem

#!P: Expired: REM 1 Oct 1991 MSG old1.

#!P: Expired: REM Monday UNTIL 1 Oct 1991 MSG old2.
F2
# This is f2.rem

REM 3 feb 2012 MSG new
#!P: Expired: REM 3 1998 MSG old

INCLUDE [filedir()]/f3.rem
F3
# This is f3.rem

REM Mon MSG repeat

#!P: Cannot purge SATISFY-type reminders
REM Mon SATISFY [1] MSG repeat

#!P: The next IF evaluated false...
#!P: REM statements in IF block not checked for purging.
IF 0
REM 1991 MSG wookie
ENDIF

IF 1
#!P: Expired: REM 1991 MSG wookie
ENDIF

#!P: The next IFTRIG did not trigger.
#!P: REM statements in IFTRIG block not checked for purging.
IFTRIG 1991
REM MSG wookie
ENDIF

# More complex conditional statements
IF 1
#!P: The next IF evaluated false...
#!P: REM statements in IF block not checked for purging.
  IF 0
    REM 1991 MSG wookie
  ELSE
#!P: Expired:     REM 1991 MSG wookie
  ENDIF
#!P: The previous IF evaluated true.
#!P: REM statements in ELSE block not checked for purging
ELSE
  IF 1
    REM 1991 MSG wookie
  ELSE
    REM 1991 MSG wookie
  ENDIF
ENDIF

#!P: Next line has expired, but contains expression...  please verify
#!P: Expired: REM [1990+1] MSG old-with-constant-expression

#!P: Next line has expired, but contains expression...  please verify
#!P: Expired: REM [1990+1] \
  MSG Continued line-old-with-constant-expression

#!P: Expired: REM 1990 \
  MSG expired-continued-line

set y 1990

#!P: Next line may have expired, but contains non-constant expression
REM [y+1] MSG old-with-nonconstant-expression

# A comment that should be preserved


#!P: Next line may have expired, but contains non-constant expression
REM [y+1] \
  MSG Continued-line-old-with-nonconstant-expression

OMIT 25 Dec MSG woaaahh!
OMIT 24 Dec

#!P: Expired: OMIT 1 Jan 1992 MSG woaaahah... expired
OMIT 2 Jan 1992

# Complicated expressions
SET a 3
FSET const(x) x+3
FSET nonconst(x) x+a

#!P: Next line has expired, but contains expression...  please verify
#!P: Expired: REM [const(5)] Jan 1992 MSG expired... should be commented out
#!P: Next line may have expired, but contains non-constant expression
REM [const(a)] Jan 1992 MSG nonconstant expression
#!P: Next line may have expired, but contains non-constant expression
REM [nonconst(5)] Jan 1992 MSG nonconstant expression
#!P: Next line may have expired, but contains non-constant expression
REM [value("a")] Jan 1992 MSG nonconstant expression

#!P: The next IF evaluated false...
#!P: REM statements in IF block not checked for purging.
IF 0
# A comment in a false IF block
ENDIF

# Busted line
#!P! Could not parse next line: Division by zero
REM [0/0] Jan 1992 MSG ouch

ERRMSG blorky
FLUSH
SET a 1
FSET a(x) x*x
UNSET a
CLEAR-OMIT-CONTEXT
PUSH-OMIT-CONTEXT
POP-OMIT-CONTEXT
BANNER wow
DEBUG +x
DEBUG -x
DUMP $
EXIT 0
PRESERVE i

../tests/runtest.rem(2): shell(): RUN disabled
../tests/runinc.rem(1): shell(): RUN disabled
../tests/runinc.rem(3): shell(): RUN disabled
No reminders.
%!PS-Adobe-2.0
%%DocumentFonts: Helvetica Helvetica-BoldOblique
%%Creator: Rem2PS
%%Pages: (atend)
%%Orientation: Landscape
%%EndComments
<< /PageSize [612 792] >> setpagedevice
% This file was produced by Remind and Rem2PS, written by
% Dianne Skoll.
% Remind and Rem2PS are Copyright 1992-2023 Dianne Skoll.
/ISOLatin1Encoding where { pop save true }{ false } ifelse
  /ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
    StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
    /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring
    /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent
    /sterling /currency /yen /brokenbar /section /dieresis /copyright
    /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
    /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph
    /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright
    /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute
    /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute
    /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth
    /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
    /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn
    /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae
    /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute
    /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex
    /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex
    /udieresis /yacute /thorn /ydieresis ] def
{ restore } if

/reencodeISO { %def
    findfont dup length dict begin
    { 1 index /FID ne { def }{ pop pop } ifelse } forall
    /Encoding ISOLatin1Encoding def
    currentdict end definefont pop
} bind def
/copyFont { %def
    findfont dup length dict begin
    { 1 index /FID ne { def } { pop pop } ifelse } forall
    currentdict end definefont pop
} bind def

% L - Draw a line
/L {
   newpath moveto lineto stroke
} bind def
% string1 string2 strcat string
% Function: Concatenates two strings together.
/strcat {
         2 copy length exch length add
         string dup
         4 2 roll
         2 index 0 3 index
         putinterval
         exch length exch putinterval
} bind def
% string doheading
/doheading
{
   /monthyr exch def

   /TitleFont findfont
   TitleSize scalefont setfont
   monthyr stringwidth
   /hgt exch def
   2 div MaxX MinX add 2 div exch sub /x exch def
   MaxY Border sub TitleSize sub /y exch def
   newpath x y moveto monthyr show
   newpath x y moveto monthyr false charpath flattenpath pathbbox
   pop pop Border sub /y exch def pop
   MinX y MaxX y L
   /topy y def
   /HeadFont findfont HeadSize scalefont setfont
% Do the days of the week
   MaxX MinX sub 7 div /xincr exch def
   /x MinX def
[(Sunday) (Monday) (Tuesday) (Wednesday) (Thursday) (Friday) (Saturday)]
  {
     HeadSize x y HeadSize 2 mul sub x xincr add y CenterText
     x xincr add /x exch def
  } forall
  y HeadSize 2 mul sub /y exch def
  MinX y MaxX y L
  /ytop y def /ymin y def
}
def
/CenterText
{
   /maxy exch def
   /maxx exch def
   /miny exch def
   /minx exch def
   /sz exch def
   /str exch def
   str stringwidth pop
   2 div maxx minx add 2 div exch sub
   sz 2 div maxy miny add 2 div exch sub
   moveto str show
} def
% Variables:
% curline - a string holding the current line
% y - current y pos
% yincr - increment to next line
% xleft - left margin
% width - max width.
% EnterOneWord - given a word, enter it into the box.
% string EnterOneWord
/EnterOneWord {
   { EnterOneWordAux
     {exit} if }
   loop
} bind def
% EnterOneWordAux - if the word fits, enter it into box and return true.
% If it doesn't fit, put as much as will fit and return the string and false.
/EnterOneWordAux {
   /word exch def
   /tmpline curline word strcat def
   tmpline stringwidth pop width gt
   {MoveToNewLine}
   {/curline tmpline ( ) strcat def /word () def}
   ifelse
   word () eq
   {true}
   {word false}
   ifelse
} bind def
% MoveToNewLine - move to a new line, resetting word as appropriate
/MoveToNewLine {
   curline () ne
   {newpath xleft y moveto curline show /curline () def /y y yincr add def}   
   {ChopWord}
   ifelse
} bind def
% ChopWord - word won't fit.  Chop it and find biggest piece that will fit
/ChopWord {
   /curline () def
   /len word length def
   /Fcount len 1 sub def

   {
     word 0 Fcount getinterval stringwidth pop width le
     {exit} if
     /Fcount Fcount 1 sub def
   } loop
% Got the count.  Display it and reset word
   newpath xleft y moveto word 0 Fcount getinterval show
   /y y yincr add def
   /word word Fcount len Fcount sub getinterval def
} bind def
/FinishFormatting {
   word () ne
   {newpath xleft y moveto word show /word () def
    /curline () def /y y yincr add def}
   {curline () ne
     {newpath xleft y moveto curline show /word () def
      /curline () def /y y yincr add def} if}
   ifelse
} bind def
% FillBoxWithText - fill a box with text
% text-array xleft width yincr y FillBoxWithText new-y
% Returns the new Y-coordinate.
/FillBoxWithText {
   /y exch def
   /yincr exch def
   /width exch def
   /xleft exch def
   /curline () def
   % The last two strings in the word array are actually the PostScript
   % code to execute before and after the entry is printed.
   dup dup
   length 1 sub
   get
   exch
   dup dup
   length 2 sub
   get
   dup length 0 gt
   {cvx exec} {pop} ifelse
   dup length 2 sub 0 exch getinterval
   {EnterOneWord} forall
   FinishFormatting
   dup length 0 gt
   {cvx exec} {pop} ifelse
   y
} bind def
% Variables for calendar boxes:
% ytop - current top position
% ymin - minimum y reached for current row
% border ytop xleft width textarray daynum onright DoCalBox ybot
% Do the entries for one calendar box.  Returns lowest Y-coordinate reached
/DoCalBox {
   /onright exch def
   /daynum exch def
   /textarr exch def
   /wid exch def
   /xl exch def
   /yt exch def
   /border exch def
% Do the day number
   /DayFont findfont DaySize scalefont setfont
   onright 1 eq
   {xl wid add border sub daynum stringwidth pop sub yt border sub DaySize sub moveto daynum show}
   {xl border add yt border sub DaySize sub moveto daynum show}
   ifelse
% Do the text entries.  Precharge the stack with current y pos.
   /ycur yt border sub DaySize sub DaySize sub 2 add def
   /EntryFont findfont EntrySize scalefont setfont
   ycur
   textarr
   { exch 2 sub /ycur exch def xl border add wid border sub border sub EntrySize 2 add neg
     ycur FillBoxWithText }
    forall
} bind def
2 setlinecap
% Define a default PreCal procedure
/PreCal { pop pop } bind def
/HeadFont /Helvetica copyFont
/SmallFont /Helvetica copyFont
/DayFont /Helvetica-BoldOblique copyFont
/EntryFont /Helvetica copyFont
/TitleFont /Helvetica copyFont
/HeadSize 14 def
/DaySize 14 def
/EntrySize 8 def
/TitleSize 14 def
/XSIZE 612 def
/MinX 36 def
/MinY 36 def
/MaxX 756 def
/MaxY 576 def
/Border 6 def
/LineWidth 1 def
1 setlinewidth
/SmallFont findfont /FontInfo get /isFixedPitch get
{/SmallString (WW ) def}
{/SmallString (WW) def}
ifelse
%%EndProlog
%%Page: Aug09 1
%%PageBoundingBox: 0 0 612 792
90 rotate 0 XSIZE neg translate
/SAVESTATE save def (August) (2009) PreCal SAVESTATE restore
(August 2009) doheading
/MinBoxSize ytop MinY sub 6 div def
/ysmalltop ytop def
/CAL1 {
Border ytop 6 xincr mul MinX add xincr
[
]
(1) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL1
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL1
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL2 {
Border ytop 0 xincr mul MinX add xincr
[
]
(2) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL3 {
Border ytop 1 xincr mul MinX add xincr
[
]
(3) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL4 {
Border ytop 2 xincr mul MinX add xincr
[
]
(4) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL5 {
Border ytop 3 xincr mul MinX add xincr
[
]
(5) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL6 {
Border ytop 4 xincr mul MinX add xincr
[
]
(6) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL7 {
Border ytop 5 xincr mul MinX add xincr
[
]
(7) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL8 {
Border ytop 6 xincr mul MinX add xincr
[
]
(8) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
(First-Bit-Of-PS)
(Second-Bit-Of-PS)
(Third-Bit-Of-PS)
(Fourth-Bit-Of-PS)
 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (20:56) show
grestore

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL9 {
Border ytop 0 xincr mul MinX add xincr
[
]
(9) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL10 {
Border ytop 1 xincr mul MinX add xincr
[
]
(10) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL11 {
Border ytop 2 xincr mul MinX add xincr
[
]
(11) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL12 {
Border ytop 3 xincr mul MinX add xincr
[
]
(12) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL13 {
Border ytop 4 xincr mul MinX add xincr
[
]
(13) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL14 {
Border ytop 5 xincr mul MinX add xincr
[
]
(14) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL15 {
Border ytop 6 xincr mul MinX add xincr
[
]
(15) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 270 90 arc closepath fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (14:56) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL16 {
Border ytop 0 xincr mul MinX add xincr
[
]
(16) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL17 {
Border ytop 1 xincr mul MinX add xincr
[
]
(17) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL18 {
Border ytop 2 xincr mul MinX add xincr
[
]
(18) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL19 {
Border ytop 3 xincr mul MinX add xincr
[
]
(19) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL20 {
Border ytop 4 xincr mul MinX add xincr
[
]
(20) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL21 {
Border ytop 5 xincr mul MinX add xincr
[
]
(21) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL22 {
Border ytop 6 xincr mul MinX add xincr
[
]
(22) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (06:02) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL23 {
Border ytop 0 xincr mul MinX add xincr
[
]
(23) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL24 {
Border ytop 1 xincr mul MinX add xincr
[
]
(24) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL25 {
Border ytop 2 xincr mul MinX add xincr
[
]
(25) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL26 {
Border ytop 3 xincr mul MinX add xincr
[
]
(26) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL27 {
Border ytop 4 xincr mul MinX add xincr
[
]
(27) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL28 {
Border ytop 5 xincr mul MinX add xincr
[
]
(28) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL29 {
Border ytop 6 xincr mul MinX add xincr
[
]
(29) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 90 270 arc closepath fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (07:42) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL30 {
Border ytop 0 xincr mul MinX add xincr
[
]
(30) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL31 {
Border ytop 1 xincr mul MinX add xincr
[
]
(31) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL30
CAL31
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL30
CAL31
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/ysmallbot ylast def
/ysmall1 ysmalltop def /ysmall2 ysmallbot def
0 xincr mul MinX add ymin 0 xincr mul MinX add topy L
1 xincr mul MinX add ymin 1 xincr mul MinX add topy L
2 xincr mul MinX add ymin 2 xincr mul MinX add topy L
3 xincr mul MinX add ymin 3 xincr mul MinX add topy L
4 xincr mul MinX add ymin 4 xincr mul MinX add topy L
5 xincr mul MinX add ymin 5 xincr mul MinX add topy L
6 xincr mul MinX add ymin 6 xincr mul MinX add topy L
7 xincr mul MinX add ymin 7 xincr mul MinX add topy L
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
0 xincr mul MinX add ysmall1 translate
SmallWidth 7 mul (July) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (July) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (5) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (12) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (19) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (26) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (31) show
grestore
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
6 xincr mul MinX add ysmall2 translate
SmallWidth 7 mul (September) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (September) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (5) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (12) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (19) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (26) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
grestore
showpage
%%Trailer
%%Pages: 1
%!PS-Adobe-2.0
%%DocumentFonts: Helvetica Helvetica-BoldOblique
%%Creator: Rem2PS
%%Pages: (atend)
%%Orientation: Landscape
%%EndComments
<< /PageSize [612 792] >> setpagedevice
% This file was produced by Remind and Rem2PS, written by
% Dianne Skoll.
% Remind and Rem2PS are Copyright 1992-2023 Dianne Skoll.
/ISOLatin1Encoding where { pop save true }{ false } ifelse
  /ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
    StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
    /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring
    /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent
    /sterling /currency /yen /brokenbar /section /dieresis /copyright
    /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
    /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph
    /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright
    /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute
    /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute
    /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth
    /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
    /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn
    /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae
    /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute
    /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex
    /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex
    /udieresis /yacute /thorn /ydieresis ] def
{ restore } if

/reencodeISO { %def
    findfont dup length dict begin
    { 1 index /FID ne { def }{ pop pop } ifelse } forall
    /Encoding ISOLatin1Encoding def
    currentdict end definefont pop
} bind def
/copyFont { %def
    findfont dup length dict begin
    { 1 index /FID ne { def } { pop pop } ifelse } forall
    currentdict end definefont pop
} bind def

% L - Draw a line
/L {
   newpath moveto lineto stroke
} bind def
% string1 string2 strcat string
% Function: Concatenates two strings together.
/strcat {
         2 copy length exch length add
         string dup
         4 2 roll
         2 index 0 3 index
         putinterval
         exch length exch putinterval
} bind def
% string doheading
/doheading
{
   /monthyr exch def

   /TitleFont findfont
   TitleSize scalefont setfont
   monthyr stringwidth
   /hgt exch def
   2 div MaxX MinX add 2 div exch sub /x exch def
   MaxY Border sub TitleSize sub /y exch def
   newpath x y moveto monthyr show
   newpath x y moveto monthyr false charpath flattenpath pathbbox
   pop pop Border sub /y exch def pop
   MinX y MaxX y L
   /topy y def
   /HeadFont findfont HeadSize scalefont setfont
% Do the days of the week
   MaxX MinX sub 7 div /xincr exch def
   /x MinX def
[(Sunday) (Monday) (Tuesday) (Wednesday) (Thursday) (Friday) (Saturday)]
  {
     HeadSize x y HeadSize 2 mul sub x xincr add y CenterText
     x xincr add /x exch def
  } forall
  y HeadSize 2 mul sub /y exch def
  MinX y MaxX y L
  /ytop y def /ymin y def
}
def
/CenterText
{
   /maxy exch def
   /maxx exch def
   /miny exch def
   /minx exch def
   /sz exch def
   /str exch def
   str stringwidth pop
   2 div maxx minx add 2 div exch sub
   sz 2 div maxy miny add 2 div exch sub
   moveto str show
} def
% Variables:
% curline - a string holding the current line
% y - current y pos
% yincr - increment to next line
% xleft - left margin
% width - max width.
% EnterOneWord - given a word, enter it into the box.
% string EnterOneWord
/EnterOneWord {
   { EnterOneWordAux
     {exit} if }
   loop
} bind def
% EnterOneWordAux - if the word fits, enter it into box and return true.
% If it doesn't fit, put as much as will fit and return the string and false.
/EnterOneWordAux {
   /word exch def
   /tmpline curline word strcat def
   tmpline stringwidth pop width gt
   {MoveToNewLine}
   {/curline tmpline ( ) strcat def /word () def}
   ifelse
   word () eq
   {true}
   {word false}
   ifelse
} bind def
% MoveToNewLine - move to a new line, resetting word as appropriate
/MoveToNewLine {
   curline () ne
   {newpath xleft y moveto curline show /curline () def /y y yincr add def}   
   {ChopWord}
   ifelse
} bind def
% ChopWord - word won't fit.  Chop it and find biggest piece that will fit
/ChopWord {
   /curline () def
   /len word length def
   /Fcount len 1 sub def

   {
     word 0 Fcount getinterval stringwidth pop width le
     {exit} if
     /Fcount Fcount 1 sub def
   } loop
% Got the count.  Display it and reset word
   newpath xleft y moveto word 0 Fcount getinterval show
   /y y yincr add def
   /word word Fcount len Fcount sub getinterval def
} bind def
/FinishFormatting {
   word () ne
   {newpath xleft y moveto word show /word () def
    /curline () def /y y yincr add def}
   {curline () ne
     {newpath xleft y moveto curline show /word () def
      /curline () def /y y yincr add def} if}
   ifelse
} bind def
% FillBoxWithText - fill a box with text
% text-array xleft width yincr y FillBoxWithText new-y
% Returns the new Y-coordinate.
/FillBoxWithText {
   /y exch def
   /yincr exch def
   /width exch def
   /xleft exch def
   /curline () def
   % The last two strings in the word array are actually the PostScript
   % code to execute before and after the entry is printed.
   dup dup
   length 1 sub
   get
   exch
   dup dup
   length 2 sub
   get
   dup length 0 gt
   {cvx exec} {pop} ifelse
   dup length 2 sub 0 exch getinterval
   {EnterOneWord} forall
   FinishFormatting
   dup length 0 gt
   {cvx exec} {pop} ifelse
   y
} bind def
% Variables for calendar boxes:
% ytop - current top position
% ymin - minimum y reached for current row
% border ytop xleft width textarray daynum onright DoCalBox ybot
% Do the entries for one calendar box.  Returns lowest Y-coordinate reached
/DoCalBox {
   /onright exch def
   /daynum exch def
   /textarr exch def
   /wid exch def
   /xl exch def
   /yt exch def
   /border exch def
% Do the day number
   /DayFont findfont DaySize scalefont setfont
   onright 1 eq
   {xl wid add border sub daynum stringwidth pop sub yt border sub DaySize sub moveto daynum show}
   {xl border add yt border sub DaySize sub moveto daynum show}
   ifelse
% Do the text entries.  Precharge the stack with current y pos.
   /ycur yt border sub DaySize sub DaySize sub 2 add def
   /EntryFont findfont EntrySize scalefont setfont
   ycur
   textarr
   { exch 2 sub /ycur exch def xl border add wid border sub border sub EntrySize 2 add neg
     ycur FillBoxWithText }
    forall
} bind def
2 setlinecap
% Define a default PreCal procedure
/PreCal { pop pop } bind def
/HeadFont /Helvetica copyFont
/SmallFont /Helvetica copyFont
/DayFont /Helvetica-BoldOblique copyFont
/EntryFont /Helvetica copyFont
/TitleFont /Helvetica copyFont
/HeadSize 14 def
/DaySize 14 def
/EntrySize 8 def
/TitleSize 14 def
/XSIZE 612 def
/MinX 36 def
/MinY 36 def
/MaxX 756 def
/MaxY 576 def
/Border 6 def
/LineWidth 1 def
1 setlinewidth
/SmallFont findfont /FontInfo get /isFixedPitch get
{/SmallString (WW ) def}
{/SmallString (WW) def}
ifelse
%%EndProlog
%%Page: Aug09 1
%%PageBoundingBox: 0 0 612 792
90 rotate 0 XSIZE neg translate
/SAVESTATE save def (August) (2009) PreCal SAVESTATE restore
(August 2009) doheading
/MinBoxSize ytop MinY sub 6 div def
/ysmalltop ytop def
/CAL1 {
Border ytop 6 xincr mul MinX add xincr
[
]
(1) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL1
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL1
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL2 {
Border ytop 0 xincr mul MinX add xincr
[
]
(2) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL3 {
Border ytop 1 xincr mul MinX add xincr
[
]
(3) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL4 {
Border ytop 2 xincr mul MinX add xincr
[
]
(4) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL5 {
Border ytop 3 xincr mul MinX add xincr
[
]
(5) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL6 {
Border ytop 4 xincr mul MinX add xincr
[
]
(6) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL7 {
Border ytop 5 xincr mul MinX add xincr
[
]
(7) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL8 {
Border ytop 6 xincr mul MinX add xincr
[
]
(8) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
(First-Bit-Of-PS)
(Second-Bit-Of-PS)
(Third-Bit-Of-PS)
(Fourth-Bit-Of-PS)
 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (20:56) show
grestore

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL9 {
Border ytop 0 xincr mul MinX add xincr
[
]
(9) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL10 {
Border ytop 1 xincr mul MinX add xincr
[
]
(10) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL11 {
Border ytop 2 xincr mul MinX add xincr
[
]
(11) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL12 {
Border ytop 3 xincr mul MinX add xincr
[
]
(12) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL13 {
Border ytop 4 xincr mul MinX add xincr
[
]
(13) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL14 {
Border ytop 5 xincr mul MinX add xincr
[
]
(14) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL15 {
Border ytop 6 xincr mul MinX add xincr
[
]
(15) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 270 90 arc closepath fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (14:56) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL16 {
Border ytop 0 xincr mul MinX add xincr
[
]
(16) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL17 {
Border ytop 1 xincr mul MinX add xincr
[
]
(17) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL18 {
Border ytop 2 xincr mul MinX add xincr
[
]
(18) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL19 {
Border ytop 3 xincr mul MinX add xincr
[
]
(19) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL20 {
Border ytop 4 xincr mul MinX add xincr
[
]
(20) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL21 {
Border ytop 5 xincr mul MinX add xincr
[
]
(21) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL22 {
Border ytop 6 xincr mul MinX add xincr
[
]
(22) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (06:02) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL23 {
Border ytop 0 xincr mul MinX add xincr
[
]
(23) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL24 {
Border ytop 1 xincr mul MinX add xincr
[
]
(24) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL25 {
Border ytop 2 xincr mul MinX add xincr
[
]
(25) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL26 {
Border ytop 3 xincr mul MinX add xincr
[
]
(26) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL27 {
Border ytop 4 xincr mul MinX add xincr
[
]
(27) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL28 {
Border ytop 5 xincr mul MinX add xincr
[
]
(28) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL29 {
Border ytop 6 xincr mul MinX add xincr
[
]
(29) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
 DaySize 2 div 0 360 arc closepath
stroke
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 90 270 arc closepath fill
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (07:42) show
grestore

 SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL30 {
Border ytop 0 xincr mul MinX add xincr
[
]
(30) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL31 {
Border ytop 1 xincr mul MinX add xincr
[
]
(31) 1
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL30
CAL31
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def 
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray

 SAVESTATE restore
/ytop ylast def
CAL30
CAL31
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/ysmallbot ylast def
/ysmall1 ysmalltop def /ysmall2 ysmallbot def
0 xincr mul MinX add ymin 0 xincr mul MinX add topy L
1 xincr mul MinX add ymin 1 xincr mul MinX add topy L
2 xincr mul MinX add ymin 2 xincr mul MinX add topy L
3 xincr mul MinX add ymin 3 xincr mul MinX add topy L
4 xincr mul MinX add ymin 4 xincr mul MinX add topy L
5 xincr mul MinX add ymin 5 xincr mul MinX add topy L
6 xincr mul MinX add ymin 6 xincr mul MinX add topy L
7 xincr mul MinX add ymin 7 xincr mul MinX add topy L
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
0 xincr mul MinX add ysmall1 translate
SmallWidth 7 mul (July) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (July) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (5) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (12) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (19) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (26) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (31) show
grestore
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
6 xincr mul MinX add ysmall2 translate
SmallWidth 7 mul (September) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (September) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (5) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (12) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (19) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (26) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
grestore
showpage
%%Trailer
%%Pages: 1
Reminders for Sunday, 1st January, 2012:

1

Reminders for Sunday, 1st January, 2012:

9am: Should show up

10am: Should show up

2

# rem2ps2 begin
January 2012 31 0 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
December 31
February 29
{"date":"2012-01-02","filename":"-","lineno":1,"wd":["Monday"],"nonconst_expr":1,"priority":5000,"body":"bar"}
{"date":"2012-01-09","filename":"-","lineno":1,"wd":["Monday"],"nonconst_expr":1,"priority":5000,"body":"bar"}
{"date":"2012-01-16","filename":"-","lineno":1,"wd":["Monday"],"nonconst_expr":1,"priority":5000,"body":"bar"}
{"date":"2012-01-23","filename":"-","lineno":1,"wd":["Monday"],"nonconst_expr":1,"priority":5000,"body":"bar"}
{"date":"2012-01-30","filename":"-","lineno":1,"wd":["Monday"],"nonconst_expr":1,"priority":5000,"body":"bar"}
# rem2ps2 end
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
-stdin-(7): Number too high
[
{
"monthname":"January","year":2012,"daysinmonth":31,"firstwkday":0,"mondayfirst":0,"daynames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"prevmonthname":"December","daysinprevmonth":31,"prevmonthyear":2011,"nextmonthname":"February","daysinnextmonth":29,"nextmonthyear":2012,"entries":[
{"date":"2012-01-02","filename":"-","lineno":1,"d":2,"priority":5000,"body":"Normal"},
{"date":"2012-01-03","filename":"-","lineno":3,"passthru":"COLOR","d":3,"priority":5000,"r":255,"g":0,"b":0,"rawbody":"%\"Red%\" on the calendar!","calendar_body":"Red","plain_body":"Red on the calendar!","body":"255 0 0 %\"Red%\" on the calendar!"},
{"date":"2012-01-04","filename":"-","lineno":5,"d":4,"priority":5000,"body":"Normal"}
]
}
]
STDOUT is a: FILE
STDOUT is a: PIPE
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 0???       |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 0,0???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 0,1???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 1???       |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 1,0???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 1,1???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 2???       |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 2,0???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+----------------------------------------------------------------------------+
|                                January 2020???                                |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |BLACK???     |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|- at 2,1???     |          |          |BLACK???     |BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |BLUE???      |GREEN???     |CYAN???      |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |RED???       |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |BRIGHT RED???|BRIGHT???    |BRIGHT???    |BRIGHT???    |
|          |          |          |          |MAGENTA???   |YELLOW???    |WHITE???     |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |31 ???       |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
+-----------------------------------------------------------------------------------------------------------------------------+
|                                                        November 2019???                                                        |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|     Sunday???      |     Monday???      |     Tuesday???     |    Wednesday???    |    Thursday???     |     Friday???      |    Saturday???     |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|                 |                 |                 |                 |                 |1 ???               |2 ???               |
|                 |                 |                 |                 |                 |                 |                 |
|                 |                 |                 |                 |                 |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |                 |                 |
|                 |                 |                 |                 |                 |???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|3 ???               |4 ???               |5 ???               |6 ???               |7 ???               |8 ???               |9 ???               |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |                 |                 |
|                 |???? woo???           |                 |With tabs  and  ??? |                 |                 |                 |
|                 |                 |                 |spaces???           |                 |                 |                 |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|10 ???              |11 ???              |12 ???              |13 ???              |14 ???              |15 ???              |16 ???              |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |                 |                 |
|                 |                 |???? blech bo???      |With tabs  and  ??? |                 |                 |                 |
|                 |                 |                 |spaces???           |                 |                 |                 |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|17 ???              |18 ???              |19 ???              |20 ???              |21 ???              |22 ???              |23 ???              |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |                 |                 |
|                 |                 |???? zo zo oz???      |With tabs  and  ??? |                 |                 |                 |
|                 |                 |                 |spaces???           |                 |                 |                 |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|24 ???              |25 ???              |26 ???              |27 ???              |28 ???              |29 ???              |30 ???              |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |???????????????? ???????????????????  |
|                 |                 |                 |                 |                 |                 |                 |
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|???????????????? ???????????????? ???????????????????|
|                 |                 |                 |                 |                 |                 |                 |
|                 |                 |???????               |With tabs  and  ??? |                 |                 |                 |
|                 |                 |                 |spaces???           |                 |                 |                 |
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
+----------------------------------------------------------------------------+
|                               September 2021???                               |
+----------+----------+----------+----------+----------+----------+----------+
|  Sunday???  |  Monday???  | Tuesday???  |Wednesday??? | Thursday??? |  Friday???  | Saturday??? |
+----------+----------+----------+----------+----------+----------+----------+
|          |          |          |1 ???        |2 ???        |3 ???        |4 ???        |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
|5 ???        |6 ???        |7 ???        |8 ???        |9 ???        |10 ???       |11 ???       |
|          |          |          |          |          |          |          |
|          |Labour Day???|Should be??? |          |          |          |          |
|          |          |bumped to??? |          |          |          |          |
|          |          |Tuesday???   |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
|12 ???       |13 ???       |14 ???       |15 ???       |16 ???       |17 ???       |18 ???       |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
|19 ???       |20 ???       |21 ???       |22 ???       |23 ???       |24 ???       |25 ???       |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
|26 ???       |27 ???       |28 ???       |29 ???       |30 ???       |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???                               November 2019???                                ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???  Sunday???  ???  Monday???  ??? Tuesday???  ???Wednesday??? ??? Thursday??? ???  Friday???  ??? Saturday??? ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???          ???          ???          ???          ???          ???1 ???        ???2 ???        ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ??????????????????????     ??????????????????????     ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???3 ???        ???4 ???        ???5 ???        ???6 ???        ???7 ???        ???8 ???        ???9 ???        ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ??????? woo???    ???          ???With tabs ??????          ???          ???          ???
???          ???          ???          ???and  ???     ???          ???          ???          ???
???          ???          ???          ???spaces???    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???10 ???       ???11 ???       ???12 ???       ???13 ???       ???14 ???       ???15 ???       ???16 ???       ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ??????? blech???  ???With tabs ??????          ???          ???          ???
???          ???          ???bo???        ???and  ???     ???          ???          ???          ???
???          ???          ???          ???spaces???    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???17 ???       ???18 ???       ???19 ???       ???20 ???       ???21 ???       ???22 ???       ???23 ???       ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ??????? zo zo???  ???With tabs ??????          ???          ???          ???
???          ???          ???oz???        ???and  ???     ???          ???          ???          ???
???          ???          ???          ???spaces???    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???24 ???       ???25 ???       ???26 ???       ???27 ???       ???28 ???       ???29 ???       ???30 ???       ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ??????????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ??????????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ??????????        ???With tabs ??????          ???          ???          ???
???          ???          ???          ???and  ???     ???          ???          ???          ???
???          ???          ???          ???spaces???    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???                               November 2019                                ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???  Sunday  ???  Monday  ??? Tuesday  ???Wednesday ??? Thursday ???  Friday  ??? Saturday ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???          ???          ???          ???          ???          ???1         ???2         ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???????????????????     ???????????????????     ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???3         ???4         ???5         ???6         ???7         ???8         ???9         ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ??????? woo    ???          ???With tabs ???          ???          ???          ???
???          ???          ???          ???and       ???          ???          ???          ???
???          ???          ???          ???spaces    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???10        ???11        ???12        ???13        ???14        ???15        ???16        ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ??????? blech  ???With tabs ???          ???          ???          ???
???          ???          ???bo        ???and       ???          ???          ???          ???
???          ???          ???          ???spaces    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???17        ???18        ???19        ???20        ???21        ???22        ???23        ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ??????? zo zo  ???With tabs ???          ???          ???          ???
???          ???          ???oz        ???and       ???          ???          ???          ???
???          ???          ???          ???spaces    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???24        ???25        ???26        ???27        ???28        ???29        ???30        ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???????????????????   ???
???          ???          ???          ???          ???          ???          ???          ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???????????????????     ???
???          ???          ???          ???          ???          ???          ???          ???
???          ???          ???????        ???With tabs ???          ???          ???          ???
???          ???          ???          ???and       ???          ???          ???          ???
???          ???          ???          ???spaces    ???          ???          ???          ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
# Test conversion between local time and UTC

set a localtoutc('2022-01-01 at 12:00')
localtoutc(2022-01-01 at 12:00) => 2022-01-01 at 17:00
set a localtoutc('2022-03-13 at 03:59')
localtoutc(2022-03-13 at 03:59) => 2022-03-13 at 07:59
set a localtoutc('2022-03-13 at 04:00')
localtoutc(2022-03-13 at 04:00) => 2022-03-13 at 08:00
set a localtoutc('2022-03-13 at 04:01')
localtoutc(2022-03-13 at 04:01) => 2022-03-13 at 08:01
set a localtoutc('2022-06-01 at 12:00')
localtoutc(2022-06-01 at 12:00) => 2022-06-01 at 16:00
set a localtoutc('2022-11-06 at 02:59')
localtoutc(2022-11-06 at 02:59) => 2022-11-06 at 07:59
set a localtoutc('2022-11-06 at 03:00')
localtoutc(2022-11-06 at 03:00) => 2022-11-06 at 08:00
set a localtoutc('2022-11-06 at 03:01')
localtoutc(2022-11-06 at 03:01) => 2022-11-06 at 08:01
set a localtoutc('2022-12-01 at 12:00')
localtoutc(2022-12-01 at 12:00) => 2022-12-01 at 17:00

set b utctolocal('2022-01-01 at 17:00')
utctolocal(2022-01-01 at 17:00) => 2022-01-01 at 12:00
set b utctolocal('2022-03-13 at 06:00')
utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 06:00
set b utctolocal('2022-03-13 at 07:01')
utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
set b utctolocal('2022-03-13 at 07:59')
utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
set b utctolocal('2022-03-13 at 07:00')
utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 07:00
set b utctolocal('2022-03-13 at 07:01')
utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
set b utctolocal('2022-03-13 at 07:59')
utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
set b utctolocal('2022-06-01 at 16:00')
utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 16:00
set b utctolocal('2022-11-06 at 03:59')
utctolocal(2022-11-06 at 03:59) => 2022-11-06 at 03:59
set b utctolocal('2022-11-06 at 07:00')
utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 07:00
set b utctolocal('2022-11-06 at 07:01')
utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 07:01
set b utctolocal('2022-11-06 at 07:59')
utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 07:59
set b utctolocal('2022-11-06 at 08:00')
utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 08:00
set b utctolocal('2022-11-06 at 08:01')
utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 08:01
set b utctolocal('2022-12-01 at 18:00')
utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 18:00

set c timezone('2022-07-01')
timezone(2022-07-01) => "UTC"
set c timezone('2022-12-01')
timezone(2022-12-01) => "UTC"

No reminders.
# Test conversion between local time and UTC

set a localtoutc('2022-01-01 at 12:00')
localtoutc(2022-01-01 at 12:00) => 2022-01-01 at 11:00
set a localtoutc('2022-03-13 at 03:59')
localtoutc(2022-03-13 at 03:59) => 2022-03-13 at 02:59
set a localtoutc('2022-03-13 at 04:00')
localtoutc(2022-03-13 at 04:00) => 2022-03-13 at 03:00
set a localtoutc('2022-03-13 at 04:01')
localtoutc(2022-03-13 at 04:01) => 2022-03-13 at 03:01
set a localtoutc('2022-06-01 at 12:00')
localtoutc(2022-06-01 at 12:00) => 2022-06-01 at 10:00
set a localtoutc('2022-11-06 at 02:59')
localtoutc(2022-11-06 at 02:59) => 2022-11-06 at 01:59
set a localtoutc('2022-11-06 at 03:00')
localtoutc(2022-11-06 at 03:00) => 2022-11-06 at 02:00
set a localtoutc('2022-11-06 at 03:01')
localtoutc(2022-11-06 at 03:01) => 2022-11-06 at 02:01
set a localtoutc('2022-12-01 at 12:00')
localtoutc(2022-12-01 at 12:00) => 2022-12-01 at 11:00

set b utctolocal('2022-01-01 at 17:00')
utctolocal(2022-01-01 at 17:00) => 2022-01-01 at 18:00
set b utctolocal('2022-03-13 at 06:00')
utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 06:00
set b utctolocal('2022-03-13 at 07:01')
utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
set b utctolocal('2022-03-13 at 07:59')
utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
set b utctolocal('2022-03-13 at 07:00')
utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 07:00
set b utctolocal('2022-03-13 at 07:01')
utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
set b utctolocal('2022-03-13 at 07:59')
utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
set b utctolocal('2022-06-01 at 16:00')
utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 16:00
set b utctolocal('2022-11-06 at 03:59')
utctolocal(2022-11-06 at 03:59) => 2022-11-06 at 03:59
set b utctolocal('2022-11-06 at 07:00')
utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 07:00
set b utctolocal('2022-11-06 at 07:01')
utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 07:01
set b utctolocal('2022-11-06 at 07:59')
utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 07:59
set b utctolocal('2022-11-06 at 08:00')
utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 08:00
set b utctolocal('2022-11-06 at 08:01')
utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 08:01
set b utctolocal('2022-12-01 at 18:00')
utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 18:00

set c timezone('2022-07-01')
timezone(2022-07-01) => "UTC"
set c timezone('2022-12-01')
timezone(2022-12-01) => "UTC"

No reminders.
Solstice/Equinox Tests
March Solstice 2022 is 2022-03-20 at 15:34 UTC
June Equinox 2022 is 2022-06-21 at 09:14 UTC
September Solstice 2022 is 2022-09-23 at 01:05 UTC
December Equinox 2022 is 2022-12-21 at 21:49 UTC
March Solstice 2023 is 2023-03-20 at 21:25 UTC
June Equinox 2023 is 2023-06-21 at 14:58 UTC
September Solstice 2023 is 2023-09-23 at 06:51 UTC
December Equinox 2023 is 2023-12-22 at 03:28 UTC
March Solstice 2024 is 2024-03-20 at 03:07 UTC
June Equinox 2024 is 2024-06-20 at 20:52 UTC
September Solstice 2024 is 2024-09-22 at 12:44 UTC
December Equinox 2024 is 2024-12-21 at 09:21 UTC
March Solstice 2025 is 2025-03-20 at 09:02 UTC
June Equinox 2025 is 2025-06-21 at 02:43 UTC
September Solstice 2025 is 2025-09-22 at 18:20 UTC
December Equinox 2025 is 2025-12-21 at 15:04 UTC
March Solstice 2026 is 2026-03-20 at 14:46 UTC
June Equinox 2026 is 2026-06-21 at 08:26 UTC
September Solstice 2026 is 2026-09-23 at 00:06 UTC
December Equinox 2026 is 2026-12-21 at 20:51 UTC
March Solstice 2030 is 2030-03-20 at 13:53 UTC
June Equinox 2030 is 2030-06-21 at 07:32 UTC
September Solstice 2030 is 2030-09-22 at 23:28 UTC
December Equinox 2030 is 2030-12-21 at 20:10 UTC
March Solstice 2050 is 2050-03-20 at 10:21 UTC
June Equinox 2050 is 2050-06-21 at 03:34 UTC
September Solstice 2050 is 2050-09-22 at 19:29 UTC
December Equinox 2050 is 2050-12-21 at 16:39 UTC
Next March Solstice is 2045-03-20 at 05:08 UTC
Next June Equinox is 2044-06-20 at 16:51 UTC
Next September Solstice is 2044-09-22 at 08:49 UTC
Next December Equinox is 2044-12-21 at 05:45 UTC
Reminders for Thursday, 20th October, 2022:

Should be three banners.

Reminders for Friday, 21st October, 2022:

Should be three banners.

Reminders for Saturday, 22nd October, 2022:

Should be three banners.

SECURITY: Won't read world-writable file or directory!
Can't open file: include_dir/ww
Error reading include_dir/ww: Can't open file
SECURITY: Won't read world-writable file or directory!
Error reading include_dir/ww: No files matching *.rem
-------------- next part --------------
--- test.cmp	2023-02-02 14:04:07.356041000 -0600
+++ test.out	2023-02-07 13:38:47.584866000 -0600
@@ -10371,38 +10371,38 @@
 set b utctolocal('2022-01-01 at 17:00')
 utctolocal(2022-01-01 at 17:00) => 2022-01-01 at 12:00
 set b utctolocal('2022-03-13 at 06:00')
-utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 01:00
+utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 06:00
 set b utctolocal('2022-03-13 at 07:01')
-utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 03:01
+utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
 set b utctolocal('2022-03-13 at 07:59')
-utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 03:59
+utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
 set b utctolocal('2022-03-13 at 07:00')
-utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 03:00
+utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 07:00
 set b utctolocal('2022-03-13 at 07:01')
-utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 03:01
+utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
 set b utctolocal('2022-03-13 at 07:59')
-utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 03:59
+utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
 set b utctolocal('2022-06-01 at 16:00')
-utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 12:00
+utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 16:00
 set b utctolocal('2022-11-06 at 03:59')
-utctolocal(2022-11-06 at 03:59) => 2022-11-05 at 23:59
+utctolocal(2022-11-06 at 03:59) => 2022-11-06 at 03:59
 set b utctolocal('2022-11-06 at 07:00')
-utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 02:00
+utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 07:00
 set b utctolocal('2022-11-06 at 07:01')
-utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 02:01
+utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 07:01
 set b utctolocal('2022-11-06 at 07:59')
-utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 02:59
+utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 07:59
 set b utctolocal('2022-11-06 at 08:00')
-utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 03:00
+utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 08:00
 set b utctolocal('2022-11-06 at 08:01')
-utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 03:01
+utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 08:01
 set b utctolocal('2022-12-01 at 18:00')
-utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 13:00
+utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 18:00
 
 set c timezone('2022-07-01')
-timezone(2022-07-01) => "EDT"
+timezone(2022-07-01) => "UTC"
 set c timezone('2022-12-01')
-timezone(2022-12-01) => "EST"
+timezone(2022-12-01) => "UTC"
 
 No reminders.
 # Test conversion between local time and UTC
@@ -10429,38 +10429,38 @@
 set b utctolocal('2022-01-01 at 17:00')
 utctolocal(2022-01-01 at 17:00) => 2022-01-01 at 18:00
 set b utctolocal('2022-03-13 at 06:00')
-utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 07:00
+utctolocal(2022-03-13 at 06:00) => 2022-03-13 at 06:00
 set b utctolocal('2022-03-13 at 07:01')
-utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 08:01
+utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
 set b utctolocal('2022-03-13 at 07:59')
-utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 08:59
+utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
 set b utctolocal('2022-03-13 at 07:00')
-utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 08:00
+utctolocal(2022-03-13 at 07:00) => 2022-03-13 at 07:00
 set b utctolocal('2022-03-13 at 07:01')
-utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 08:01
+utctolocal(2022-03-13 at 07:01) => 2022-03-13 at 07:01
 set b utctolocal('2022-03-13 at 07:59')
-utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 08:59
+utctolocal(2022-03-13 at 07:59) => 2022-03-13 at 07:59
 set b utctolocal('2022-06-01 at 16:00')
-utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 18:00
+utctolocal(2022-06-01 at 16:00) => 2022-06-01 at 16:00
 set b utctolocal('2022-11-06 at 03:59')
-utctolocal(2022-11-06 at 03:59) => 2022-11-06 at 04:59
+utctolocal(2022-11-06 at 03:59) => 2022-11-06 at 03:59
 set b utctolocal('2022-11-06 at 07:00')
-utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 08:00
+utctolocal(2022-11-06 at 07:00) => 2022-11-06 at 07:00
 set b utctolocal('2022-11-06 at 07:01')
-utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 08:01
+utctolocal(2022-11-06 at 07:01) => 2022-11-06 at 07:01
 set b utctolocal('2022-11-06 at 07:59')
-utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 08:59
+utctolocal(2022-11-06 at 07:59) => 2022-11-06 at 07:59
 set b utctolocal('2022-11-06 at 08:00')
-utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 09:00
+utctolocal(2022-11-06 at 08:00) => 2022-11-06 at 08:00
 set b utctolocal('2022-11-06 at 08:01')
-utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 09:01
+utctolocal(2022-11-06 at 08:01) => 2022-11-06 at 08:01
 set b utctolocal('2022-12-01 at 18:00')
-utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 19:00
+utctolocal(2022-12-01 at 18:00) => 2022-12-01 at 18:00
 
 set c timezone('2022-07-01')
-timezone(2022-07-01) => "CEST"
+timezone(2022-07-01) => "UTC"
 set c timezone('2022-12-01')
-timezone(2022-12-01) => "CET"
+timezone(2022-12-01) => "UTC"
 
 No reminders.
 Solstice/Equinox Tests


More information about the Remind-fans mailing list