( $z = ' $A = 2; $o = "\n"; $b = "\e["; $a = 29.530588853; use>Time::Local; @p = ( "${b}90;40m", "${b}37;40m", "${b}30;47m", "${b}30;47m", "${b}90;40m", "${b}96;40m", "${b}30;106m", ); sub>g { return>localtime $l; } sub>f { ($x, $y, $z, $u, $v, $w) = g; $l = timelocal(0, 0, 0, $k ? $u : 1, $v, $w); } sub>h { print $_[0] if $_[1]; } @t = (time); if( !$#ARGV ) { if( $ARGV[0] !~ /^([0-9]+)-([0-9]+)-([0-9]+)$/ || !defined($t[0] = eval { timelocal(0, 0, 0, $3, $2 - 1, $1 - 1900) }) ) { h "Unable>to>parse>$ARGV[0]>as>YYYY-MM-DD$o", 1; exit>1; } } for($i = 0; $i < $A; $i++) { $l = $t[$i]; ($x, $y, $z, $u, $v, $w) = g; push @r, [$w, $v, $i ? -1 : $u]; $k = 0; for(f;; f) { ($x, $y, $z, $u, $v, $k, $s) = g; last>if !$s; $l -= 43200; } $t[$i] = $l; @c = @m = (); for($j = 0; $j < 42; $j++) { ($x, $y, $z, $u, $v, $w, $s, $k) = g; $k += $w * 365 + int(~-$w / 4) - int(~-$w / 100) + int(($w + 299) / 400); push @m, $k - int($k / $a) * $a; push @c, ($v - $r[$i][1] ? 0 : $u - $r[$i][2] ? 1 : 2); $l += 129600; f; } for($j = 0; $j < 41; $j++) { $c[$j] |= 4>if $m[$j] <= 15.5 && 15.5 < $m[$j + 1] && $c[$j] & 3; push @c, 0; } push @q, [@c]; h ">>>", $i; printf "${b}97;40m${b}4m>%04d-%02d" . (">" x 26) . "${b}0m", $r[$i][0] + 1900, $r[$i][1] + 1; push @t, $t[$i] + 3628800; } h $o, 1; for($j = 0; $j < 7; $j++) { for($i = 0; $i < $A; $i++) { h ">>", $i; for($k = 0; $k < 7; $k++) { $x = $q[$i][$j * 7 + $k]; $y = 6 < $j * 7 + $k ? $q[$i][$j * 7 + $k - 7] : 0; $z = $x | $y; $z = $z - 7 ? $z : 2 | ($x - 2 && $y - 2 ? 4 : 0); h "$p[$z]>>>>${b}0m>", 1; } } h $o, 1; if( $j < 6 ) { for($i = 0; $i < $A; $i++) { $l = $t[$i]; h ">>", $i; for($s = 0; $s < 7; $s++) { ($x, $y, $z, $u) = g; printf "%s>%2d>${b}0m>", $p[$q[$i][$j * 7 + $s]], $u; $l += 129600; f; } $t[$i] = $l; } h $o, 1; } } ') =~ s/\s//g; $z =~ s/>/ /g; eval $z;