/* Generated by Nim Compiler v1.6.14 */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <time.h>
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA;
typedef struct tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA;
typedef struct tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct RootObj RootObj;
typedef struct tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA;
typedef struct tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg;
typedef struct tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw;
typedef struct tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g;
typedef struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA tyObject_CellSeq__nav876ELHgxScHhs30CKiA;
typedef struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ;
typedef struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ;
typedef struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ;
typedef struct tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw;
typedef struct tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA;
typedef struct tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA;
typedef struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A;
typedef struct tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg;
typedef struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw;
typedef struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw;
typedef struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA;
typedef struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg;
typedef struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA;
typedef struct tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ;
typedef struct tyTuple__pfrdooyxJsC6cg34ebuBag tyTuple__pfrdooyxJsC6cg34ebuBag;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA x, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result, void* ClE_0);
void* ClE_0;
} tyProc__OEy1a11UFMwWa67yhySCdg;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA {
tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromTimeImpl;
tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromAdjTimeImpl;
NimStringDesc* name;
};
typedef NU8 tyEnum_TNimKind__pspQAsqJLrw3jEKBD9bxmyQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__pspQAsqJLrw3jEKBD9bxmyQ kind;
tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw;
struct TNimNode {
tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg {
  RootObj Sup;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA {
NI64 seconds;
NI nanosecond;
};
struct tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
NimStringDesc* formatStr;
};
typedef NU8 tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ;
typedef NU8 tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ;
struct tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA {
  RootObj Sup;
NI nanosecond;
NI second;
NI minute;
NI hour;
NI monthdayZero;
NI monthZero;
NI year;
tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ weekday;
NI yearday;
NIM_BOOL isDst;
tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* timezone;
NI utcOffset;
};
typedef NimStringDesc* tyArray__X9aa9cSBqWIp6gAqhgx4DTYQ[12];
typedef NimStringDesc* tyArray__5ZC9bS1XKAhcm9chN4yFmvsg[7];
struct tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg {
tyArray__X9aa9cSBqWIp6gAqhgx4DTYQ MMM;
tyArray__X9aa9cSBqWIp6gAqhgx4DTYQ MMMM;
tyArray__5ZC9bS1XKAhcm9chN4yFmvsg ddd;
tyArray__5ZC9bS1XKAhcm9chN4yFmvsg dddd;
};
typedef NU8 tyEnum_Month__6neZRljfhvkBQQuKbGcGrg;
typedef NU8 tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw;
typedef NI64 tyArray__tTCLtItDpsfzz9cl1Z9c51bw[8];
struct tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw {
NI64 seconds;
NI nanosecond;
};
struct tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw {
tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time;
NI utcOffset;
NIM_BOOL isDst;
};
struct tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag {
NI Field0;
tyEnum_Month__6neZRljfhvkBQQuKbGcGrg Field1;
NI Field2;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NI tyArray__1dDEgRqLGrkHaSac6gluvw[12];
typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_58) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA x, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result);
struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ {
void* bottom;
};
struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA {
NI len;
NI cap;
tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g** d;
};
typedef tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw* tyArray__1eFxjkcKGHnofywkmCV8oQ[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* tyArray__KxTmKT9a3kTkdwYfqXhEYSw[32];
typedef tyArray__KxTmKT9a3kTkdwYfqXhEYSw tyArray__ATT5LBefmjy9bg8ApRmg3rw[24];
typedef tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg* tyArray__RxhBwkGQwTHLKhoK685Xfg[256];
struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A {
tyArray__RxhBwkGQwTHLKhoK685Xfg data;
};
typedef tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* tyArray__DrxDrI9bg9apB70ydOoNZrWw[2];
struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw {
tyArray__DrxDrI9bg9apB70ydOoNZrWw link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA {
tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* Field0;
NI Field1;
};
typedef tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyArray__wsokuoa9bVBSU4gPLKbFaaw[30];
struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw {
NI len;
tyArray__wsokuoa9bVBSU4gPLKbFaaw chunks;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw* next;
};
struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ {
NI minLargeObj;
NI maxLargeObj;
tyArray__1eFxjkcKGHnofywkmCV8oQ freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__ATT5LBefmjy9bg8ApRmg3rw matrix;
tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A chunkStarts;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* root;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* deleted;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* last;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw bottomData;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw heapLinks;
};
struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA {
NI counter;
NI max;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ* head;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ** data;
};
struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ {
tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA zct;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA decStack;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA tempStack;
NI recGcLock;
tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ region;
tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg stat;
tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA marked;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA additionalRoots;
NI gcThreadId;
};
typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_59) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_60) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA adjTime, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result, void* ClE_0);
struct tyTuple__pfrdooyxJsC6cg34ebuBag {
NI Field0;
NIM_BOOL Field1;
};
typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_64) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_65) (tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA adjTime, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result, void* ClE_0);
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
  TGenericSeq Sup;
  NU8 data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__0qXiCyw3E21Ww0D12h9b9cog)(void* p, NI op);
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(NF, toFloat__system_1702)(NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2998)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt, tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA f, tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg* loc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1872)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt, tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg* loc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1733)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x, NI minchars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__6neZRljfhvkBQQuKbGcGrg, month__pureZtimes_1113)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt);
static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI quantity);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone1, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone2);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1741)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* zt, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, ntSubTime)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA a, tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw b);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds);
static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI64 quantity);
static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI quantity);
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks);
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds);
N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y);
N_LIB_PRIVATE N_NIMCALL(tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag, fromEpochDay__pureZtimes_187)(NI64 epochday);
N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year);
static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year);
N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year);
N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year);
N_LIB_PRIVATE N_NIMCALL(void, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, utc__pureZtimes_1436)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromTimeImpl, tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromAdjTimeImpl);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5326)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5324)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5275)(tyObject_CellSeq__nav876ELHgxScHhs30CKiA* s, tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5281)(void* usr);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5319)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, utcTzInfo__pureZtimes_1430)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result);
static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA t, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, local__pureZtimes_1450)(void);
N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result);
N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0);
N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm);
N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA adjTime, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, getTime__pureZtimes_961)(void);
N_LIB_PRIVATE TNimType NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_;
N_LIB_PRIVATE TNimType NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_;
N_LIB_PRIVATE TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIobject__diB2NTuAIWY0FO9c5IUJRGg_;
N_LIB_PRIVATE TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_6, "12", 2);
N_LIB_PRIVATE NIM_CONST tyArray__tTCLtItDpsfzz9cl1Z9c51bw unitWeights__pureZtimes_109 = {IL64(1),
IL64(1000),
IL64(1000000),
IL64(1000000000),
IL64(60000000000),
IL64(3600000000000),
IL64(86400000000000),
IL64(604800000000000)}
;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_7, "P", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_8, "A", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_9, "PM", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_10, "AM", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_11, "Etc/UTC", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_12, ":", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_13, "BC", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_14, "AD", 2);
static NIM_CONST struct {
  TGenericSeq Sup;
  NU8 data[9];
} TM__6NbDwwj5FY059b1gz2AsAZQ_15 = {{9, 9 | NIM_STRLIT_FLAG}, {((NU8) 22),
((NU8) 33),
((NU8) 1),
((NU8) 45),
((NU8) 11),
((NU8) 33),
((NU8) 1),
((NU8) 45),
((NU8) 1)}};
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_16, "yyyy-MM-dd", 10);
N_LIB_PRIVATE NIM_CONST tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA f2__options_603 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__6NbDwwj5FY059b1gz2AsAZQ_15), ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_16)}
;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_17, "Jan", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_18, "Feb", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_19, "Mar", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_20, "Apr", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_21, "May", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_22, "Jun", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_23, "Jul", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_24, "Aug", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_25, "Sep", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_26, "Oct", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_27, "Nov", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_28, "Dec", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_29, "January", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_30, "February", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_31, "March", 5);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_32, "April", 5);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_33, "June", 4);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_34, "July", 4);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_35, "August", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_36, "September", 9);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_37, "October", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_38, "November", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_39, "December", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_40, "Mon", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_41, "Tue", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_42, "Wed", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_43, "Thu", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_44, "Fri", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_45, "Sat", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_46, "Sun", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_47, "Monday", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_48, "Tuesday", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_49, "Wednesday", 9);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_50, "Thursday", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_51, "Friday", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_52, "Saturday", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_53, "Sunday", 6);
N_LIB_PRIVATE NIM_CONST tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg DefaultLocale__pureZtimes_1628 = {{((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_17),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_18),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_20),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_22),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_24),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_25),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_26),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_27),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_28)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_29),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_30),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_31),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_32),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_33),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_34),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_35),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_36),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_37),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_38),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_39)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_40),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_41),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_42),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_43),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_44),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_45),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_46)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_47),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_48),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_49),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_50),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_51),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_52),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_53)}
}
;
N_LIB_PRIVATE TNimType NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_;
N_LIB_PRIVATE TNimType NTIint__PpavWgyrx5odXyR89aNlcWA_;
N_LIB_PRIVATE TNimType NTIint__rUuqTvFmkC6KKRqDAazGEA_;
N_LIB_PRIVATE TNimType NTIint__LBgXxpmYOpS8xroRZgNvbg_;
N_LIB_PRIVATE TNimType NTIint__Gz6vwaK0PZQIDIwfuvKsOg_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_;
N_LIB_PRIVATE TNimType NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE NIM_CONST tyArray__1dDEgRqLGrkHaSac6gluvw daysUntilMonthLeap__pureZtimes_233 = {((NI) 0),
((NI) 31),
((NI) 60),
((NI) 91),
((NI) 121),
((NI) 152),
((NI) 182),
((NI) 213),
((NI) 244),
((NI) 274),
((NI) 305),
((NI) 335)}
;
N_LIB_PRIVATE NIM_CONST tyArray__1dDEgRqLGrkHaSac6gluvw daysUntilMonth__pureZtimes_232 = {((NI) 0),
((NI) 31),
((NI) 59),
((NI) 90),
((NI) 120),
((NI) 151),
((NI) 181),
((NI) 212),
((NI) 243),
((NI) 273),
((NI) 304),
((NI) 334)}
;
static NIM_CONST struct {
  TGenericSeq Sup;
  NU8 data[9];
} TM__6NbDwwj5FY059b1gz2AsAZQ_61 = {{9, 9 | NIM_STRLIT_FLAG}, {((NU8) 7),
((NU8) 33),
((NU8) 1),
((NU8) 58),
((NU8) 9),
((NU8) 33),
((NU8) 1),
((NU8) 58),
((NU8) 15)}};
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_62, "HH:mm:ss", 8);
N_LIB_PRIVATE NIM_CONST tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA f2__options_611 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__6NbDwwj5FY059b1gz2AsAZQ_61), ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_62)}
;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_63, "LOCAL", 5);
static NIM_CONST struct {
  TGenericSeq Sup;
  NU8 data[16];
} TM__6NbDwwj5FY059b1gz2AsAZQ_66 = {{16, 16 | NIM_STRLIT_FLAG}, {((NU8) 13),
((NU8) 33),
((NU8) 1),
((NU8) 45),
((NU8) 22),
((NU8) 33),
((NU8) 1),
((NU8) 45),
((NU8) 7),
((NU8) 33),
((NU8) 1),
((NU8) 45),
((NU8) 9),
((NU8) 33),
((NU8) 1),
((NU8) 45)}};
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_67, "MMMM-yyyy-HH-mm-", 16);
N_LIB_PRIVATE NIM_CONST tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA f2__extccomp_1132 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__6NbDwwj5FY059b1gz2AsAZQ_66), ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_67)}
;
N_LIB_PRIVATE tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* utcInstance__pureZtimes_1433;
N_LIB_PRIVATE tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* localInstance__pureZtimes_1434;
extern tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ gch__system_5228;
static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op) {
	tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* a;
	a = (tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*)p;
}
static N_NIMCALL(void, Marker_tyRef__0qXiCyw3E21Ww0D12h9b9cog)(void* p, NI op) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* a;
	a = (tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*)p;
	nimGCvisit((void*)(*a).zonedTimeFromTimeImpl.ClE_0, op);
	nimGCvisit((void*)(*a).zonedTimeFromAdjTimeImpl.ClE_0, op);
	nimGCvisit((void*)(*a).name, op);
}
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void) {
	nimGCvisit((void*)utcInstance__pureZtimes_1433, 0);
}
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void) {
	nimGCvisit((void*)localInstance__pureZtimes_1434, 0);
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_INLINE(NF, toFloat__system_1702)(NI i) {
	NF result;
	result = (NF)0;
	result = ((NF) (i));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__pureZtimes_3614)(void) {
	NF result;
	struct timespec ts;
	int T1_;
	NF T2_;
	NF T3_;
	result = (NF)0;
	nimZeroMem((void*)(&ts), sizeof(struct timespec));
	T1_ = (int)0;
	T1_ = clock_gettime(CLOCK_THREAD_CPUTIME_ID, (&ts));
	(void)(T1_);
	T2_ = (NF)0;
	T2_ = toFloat__system_1702(((NI) (ts.tv_sec)));
	T3_ = (NF)0;
	T3_ = toFloat__system_1702(ts.tv_nsec);
	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA));
	result.seconds = unix_0;
	result.nanosecond = nanosecond;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, getTime__pureZtimes_961)(void) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA result;
	struct timespec ts;
	int T1_;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA));
	T1_ = (int)0;
	T1_ = clock_gettime(CLOCK_REALTIME, (&ts));
	(void)(T1_);
	result = initTime__pureZtimes_895(ts.tv_sec, ((NI) (ts.tv_nsec)));
	return result;
}
static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt) {
	NI result;
	result = (NI)0;
	result = ((NI) ((*dt).monthdayZero));
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1733)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1733(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__6neZRljfhvkBQQuKbGcGrg, month__pureZtimes_1113)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt) {
	tyEnum_Month__6neZRljfhvkBQQuKbGcGrg result;
	result = (tyEnum_Month__6neZRljfhvkBQQuKbGcGrg)0;
	result = ((tyEnum_Month__6neZRljfhvkBQQuKbGcGrg) ((*dt).monthZero));
	return result;
}
static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI quantity) {
	NI result;
	result = (NI)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1741)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__system_1741(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone1, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone2) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!(zone1 == zone2)) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = (zone1 == 0);
		if (T7_) goto LA8_;
		T7_ = (zone2 == 0);
		LA8_: ;
		if (!T7_) goto LA9_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA9_: ;
	result = eqStrings((*zone1).name, (*zone2).name);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1872)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt, tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg* loc) {
	switch (pattern) {
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 0):
	{
		NI T2_;
		NimStringDesc* T3_;
		T2_ = (NI)0;
		T2_ = monthday__pureZtimes_1107(dt);
		T3_ = NIM_NIL;
		T3_ = dollar___systemZdollars_3(((NI) (T2_)));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T3_ ? T3_->Sup.len : 0) + 0));
appendString((*result), T3_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 1):
	{
		NI T5_;
		NimStringDesc* T6_;
		T5_ = (NI)0;
		T5_ = monthday__pureZtimes_1107(dt);
		T6_ = NIM_NIL;
		T6_ = nsuIntToStr(((NI) (T5_)), ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T6_ ? T6_->Sup.len : 0) + 0));
appendString((*result), T6_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 2):
	{
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).ddd[((*dt).weekday)- 0] ? (*loc).ddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
appendString((*result), (*loc).ddd[((*dt).weekday)- 0]);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 3):
	{
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).dddd[((*dt).weekday)- 0] ? (*loc).dddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
appendString((*result), (*loc).dddd[((*dt).weekday)- 0]);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 4):
	{
		NimStringDesc* T10_;
		T10_ = NIM_NIL;
		{
			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA13_;
			T10_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
		}
		goto LA11_;
		LA13_: ;
		{
			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA16_;
			T10_ = dollar___systemZdollars_3((NI)(((NI) ((*dt).hour)) - ((NI) 12)));
		}
		goto LA11_;
		LA16_: ;
		{
			T10_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
		}
		LA11_: ;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T10_ ? T10_->Sup.len : 0) + 0));
appendString((*result), T10_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 5):
	{
		NimStringDesc* T20_;
		T20_ = NIM_NIL;
		{
			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA23_;
			T20_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
		}
		goto LA21_;
		LA23_: ;
		{
			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA26_;
			T20_ = nsuIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)), ((NI) 2));
		}
		goto LA21_;
		LA26_: ;
		{
			T20_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
		}
		LA21_: ;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T20_ ? T20_->Sup.len : 0) + 0));
appendString((*result), T20_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 6):
	{
		NimStringDesc* T30_;
		T30_ = NIM_NIL;
		T30_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T30_ ? T30_->Sup.len : 0) + 0));
appendString((*result), T30_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 7):
	{
		NimStringDesc* T32_;
		T32_ = NIM_NIL;
		T32_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T32_ ? T32_->Sup.len : 0) + 0));
appendString((*result), T32_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 8):
	{
		NimStringDesc* T34_;
		T34_ = NIM_NIL;
		T34_ = dollar___systemZdollars_3(((NI) ((*dt).minute)));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T34_ ? T34_->Sup.len : 0) + 0));
appendString((*result), T34_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 9):
	{
		NimStringDesc* T36_;
		T36_ = NIM_NIL;
		T36_ = nsuIntToStr(((NI) ((*dt).minute)), ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T36_ ? T36_->Sup.len : 0) + 0));
appendString((*result), T36_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 10):
	{
		tyEnum_Month__6neZRljfhvkBQQuKbGcGrg T38_;
		NimStringDesc* T39_;
		T38_ = (tyEnum_Month__6neZRljfhvkBQQuKbGcGrg)0;
		T38_ = month__pureZtimes_1113(dt);
		T39_ = NIM_NIL;
		T39_ = dollar___systemZdollars_3(T38_);
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T39_ ? T39_->Sup.len : 0) + 0));
appendString((*result), T39_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 11):
	{
		tyEnum_Month__6neZRljfhvkBQQuKbGcGrg T41_;
		NimStringDesc* T42_;
		T41_ = (tyEnum_Month__6neZRljfhvkBQQuKbGcGrg)0;
		T41_ = month__pureZtimes_1113(dt);
		T42_ = NIM_NIL;
		T42_ = nsuIntToStr(T41_, ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T42_ ? T42_->Sup.len : 0) + 0));
appendString((*result), T42_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 12):
	{
		tyEnum_Month__6neZRljfhvkBQQuKbGcGrg T44_;
		T44_ = (tyEnum_Month__6neZRljfhvkBQQuKbGcGrg)0;
		T44_ = month__pureZtimes_1113(dt);
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMM[(T44_)- 1] ? (*loc).MMM[(T44_)- 1]->Sup.len : 0) + 0));
appendString((*result), (*loc).MMM[(T44_)- 1]);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 13):
	{
		tyEnum_Month__6neZRljfhvkBQQuKbGcGrg T46_;
		T46_ = (tyEnum_Month__6neZRljfhvkBQQuKbGcGrg)0;
		T46_ = month__pureZtimes_1113(dt);
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMMM[(T46_)- 1] ? (*loc).MMMM[(T46_)- 1]->Sup.len : 0) + 0));
appendString((*result), (*loc).MMMM[(T46_)- 1]);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 14):
	{
		NimStringDesc* T48_;
		T48_ = NIM_NIL;
		T48_ = dollar___systemZdollars_3(((NI) ((*dt).second)));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T48_ ? T48_->Sup.len : 0) + 0));
appendString((*result), T48_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 15):
	{
		NimStringDesc* T50_;
		T50_ = NIM_NIL;
		T50_ = nsuIntToStr(((NI) ((*dt).second)), ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
appendString((*result), T50_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 16):
	{
		NI T52_;
		NimStringDesc* T53_;
		T52_ = (NI)0;
		T52_ = convert__pureZtimes_635(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 2), (*dt).nanosecond);
		T53_ = NIM_NIL;
		T53_ = nsuIntToStr(((NI) (T52_)), ((NI) 3));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T53_ ? T53_->Sup.len : 0) + 0));
appendString((*result), T53_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 17):
	{
		NI T55_;
		NimStringDesc* T56_;
		T55_ = (NI)0;
		T55_ = convert__pureZtimes_635(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 1), (*dt).nanosecond);
		T56_ = NIM_NIL;
		T56_ = nsuIntToStr(((NI) (T55_)), ((NI) 6));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T56_ ? T56_->Sup.len : 0) + 0));
appendString((*result), T56_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 18):
	{
		NimStringDesc* T58_;
		T58_ = NIM_NIL;
		T58_ = nsuIntToStr(((NI) ((*dt).nanosecond)), ((NI) 9));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T58_ ? T58_->Sup.len : 0) + 0));
appendString((*result), T58_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 19):
	{
		NimStringDesc* T60_;
		T60_ = NIM_NIL;
		{
			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA63_;
			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_7));
		}
		goto LA61_;
		LA63_: ;
		{
			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_8));
		}
		LA61_: ;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T60_ ? T60_->Sup.len : 0) + 0));
appendString((*result), T60_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 20):
	{
		NimStringDesc* T67_;
		T67_ = NIM_NIL;
		{
			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA70_;
			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_9));
		}
		goto LA68_;
		LA70_: ;
		{
			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_10));
		}
		LA68_: ;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T67_ ? T67_->Sup.len : 0) + 0));
appendString((*result), T67_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 21):
	{
		NI T74_;
		NimStringDesc* T80_;
		T74_ = (NI)0;
		{
			if (!((*dt).year <= ((NI) 0))) goto LA77_;
			T74_ = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
		}
		goto LA75_;
		LA77_: ;
		{
			T74_ = (*dt).year;
		}
		LA75_: ;
		T80_ = NIM_NIL;
		T80_ = nsuIntToStr((NI)(T74_ % ((NI) 100)), ((NI) 2));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T80_ ? T80_->Sup.len : 0) + 0));
appendString((*result), T80_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 22):
	{
		NI year;
		{
			if (!((*dt).year <= ((NI) 0))) goto LA84_;
			year = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
		}
		goto LA82_;
		LA84_: ;
		{
			year = (*dt).year;
		}
		LA82_: ;
		{
			NimStringDesc* T91_;
			if (!(year < ((NI) 10000))) goto LA89_;
			T91_ = NIM_NIL;
			T91_ = nsuIntToStr(year, ((NI) 4));
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T91_ ? T91_->Sup.len : 0) + 0));
appendString((*result), T91_);
		}
		goto LA87_;
		LA89_: ;
		{
			NimStringDesc* T93_;
			NimStringDesc* T94_;
			T93_ = NIM_NIL;
			T94_ = NIM_NIL;
			T94_ = dollar___systemZdollars_3(year);
			T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 1);
appendChar(T93_, 43);
appendString(T93_, T94_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T93_ ? T93_->Sup.len : 0) + 0));
appendString((*result), T93_);
		}
		LA87_: ;
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 23):
	{
		{
			NimStringDesc* T100_;
			if (!((*dt).year < ((NI) 1))) goto LA98_;
			T100_ = NIM_NIL;
			T100_ = dollar___systemZdollars_3((NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1)));
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T100_ ? T100_->Sup.len : 0) + 0));
appendString((*result), T100_);
		}
		goto LA96_;
		LA98_: ;
		{
			NimStringDesc* T102_;
			T102_ = NIM_NIL;
			T102_ = dollar___systemZdollars_3((*dt).year);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T102_ ? T102_->Sup.len : 0) + 0));
appendString((*result), T102_);
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 24):
	{
		NI year_2;
		year_2 = (*dt).year;
		{
			NIM_BOOL T106_;
			NimStringDesc* T110_;
			T106_ = (NIM_BOOL)0;
			T106_ = (year_2 < ((NI) 10000));
			if (T106_) goto LA107_;
			T106_ = (year_2 < ((NI) 0));
			LA107_: ;
			if (!T106_) goto LA108_;
			T110_ = NIM_NIL;
			T110_ = nsuIntToStr(year_2, ((NI) 4));
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T110_ ? T110_->Sup.len : 0) + 0));
appendString((*result), T110_);
		}
		goto LA104_;
		LA108_: ;
		{
			NimStringDesc* T112_;
			NimStringDesc* T113_;
			T112_ = NIM_NIL;
			T113_ = NIM_NIL;
			T113_ = dollar___systemZdollars_3(year_2);
			T112_ = rawNewString((T113_ ? T113_->Sup.len : 0) + 1);
appendChar(T112_, 43);
appendString(T112_, T113_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T112_ ? T112_->Sup.len : 0) + 0));
appendString((*result), T112_);
		}
		LA104_: ;
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 25):
	{
		NimStringDesc* T115_;
		T115_ = NIM_NIL;
		T115_ = dollar___systemZdollars_3((*dt).year);
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T115_ ? T115_->Sup.len : 0) + 0));
appendString((*result), T115_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 26):
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 27):
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 28):
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 29):
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 30):
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 31):
	{
		{
			NIM_BOOL T119_;
			NIM_BOOL T120_;
			T119_ = (NIM_BOOL)0;
			T120_ = (NIM_BOOL)0;
			T120_ = eqeq___pureZtimes_1293((*dt).timezone, ((tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*) NIM_NIL));
			T119_ = !(T120_);
			if (!(T119_)) goto LA121_;
			T119_ = eqStrings((*(*dt).timezone).name, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11));
			LA121_: ;
			if (!T119_) goto LA122_;
			unsureAsgnRef((void**) (&(*result)), addChar((*result), 90));
		}
		goto LA117_;
		LA122_: ;
		{
			NIM_CHAR T125_;
			NI absOffset;
			T125_ = (NIM_CHAR)0;
			{
				if (!(((NI) 0) <= ((NI64)-((*dt).utcOffset)))) goto LA128_;
				T125_ = 43;
			}
			goto LA126_;
			LA128_: ;
			{
				T125_ = 45;
			}
			LA126_: ;
			unsureAsgnRef((void**) (&(*result)), addChar((*result), T125_));
			absOffset = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
			switch (pattern) {
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 26):
			{
				NimStringDesc* T132_;
				T132_ = NIM_NIL;
				T132_ = dollar___systemZdollars_3((NI)(absOffset / ((NI) 3600)));
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T132_ ? T132_->Sup.len : 0) + 0));
appendString((*result), T132_);
			}
			break;
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 27):
			{
				NimStringDesc* T134_;
				T134_ = NIM_NIL;
				T134_ = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T134_ ? T134_->Sup.len : 0) + 0));
appendString((*result), T134_);
			}
			break;
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 28):
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 30):
			{
				NimStringDesc* h;
				NimStringDesc* m;
				NimStringDesc* sep;
				NimStringDesc* T141_;
				h = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
				m = nsuIntToStr((NI)((NI)(absOffset / ((NI) 60)) % ((NI) 60)), ((NI) 2));
				{
					if (!(pattern == ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 28))) goto LA138_;
					sep = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
				}
				goto LA136_;
				LA138_: ;
				{
					sep = ((NimStringDesc*) NIM_NIL);
				}
				LA136_: ;
				T141_ = NIM_NIL;
				T141_ = rawNewString((h ? h->Sup.len : 0) + (sep ? sep->Sup.len : 0) + (m ? m->Sup.len : 0) + 0);
appendString(T141_, h);
appendString(T141_, sep);
appendString(T141_, m);
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T141_ ? T141_->Sup.len : 0) + 0));
appendString((*result), T141_);
			}
			break;
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 29):
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 31):
			{
				NI absOffset_2;
				NimStringDesc* h_2;
				NimStringDesc* m_2;
				NimStringDesc* s;
				NimStringDesc* sep_2;
				NimStringDesc* T148_;
				absOffset_2 = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
				h_2 = nsuIntToStr((NI)(absOffset_2 / ((NI) 3600)), ((NI) 2));
				m_2 = nsuIntToStr((NI)((NI)(absOffset_2 / ((NI) 60)) % ((NI) 60)), ((NI) 2));
				s = nsuIntToStr((NI)(absOffset_2 % ((NI) 60)), ((NI) 2));
				{
					if (!(pattern == ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 29))) goto LA145_;
					sep_2 = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
				}
				goto LA143_;
				LA145_: ;
				{
					sep_2 = ((NimStringDesc*) NIM_NIL);
				}
				LA143_: ;
				T148_ = NIM_NIL;
				T148_ = rawNewString((h_2 ? h_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (m_2 ? m_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (s ? s->Sup.len : 0) + 0);
appendString(T148_, h_2);
appendString(T148_, sep_2);
appendString(T148_, m_2);
appendString(T148_, sep_2);
appendString(T148_, s);
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T148_ ? T148_->Sup.len : 0) + 0));
appendString((*result), T148_);
			}
			break;
			default:
			{
			}
			break;
			}
		}
		LA117_: ;
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 32):
	{
		NimStringDesc* T151_;
		T151_ = NIM_NIL;
		{
			if (!((*dt).year < ((NI) 1))) goto LA154_;
			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_13));
		}
		goto LA152_;
		LA154_: ;
		{
			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_14));
		}
		LA152_: ;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T151_ ? T151_->Sup.len : 0) + 0));
appendString((*result), T151_);
	}
	break;
	case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 33):
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2998)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt, tyObject_TimeFormat__sGu3dJHG3q0e3zWhlCHYpA f, tyObject_DateTimeLocale__QfZFScw5TnV7mc82HTpdcg* loc) {
	NimStringDesc* result;
	NI idx;
	result = NIM_NIL;
	result = ((NimStringDesc*) NIM_NIL);
	idx = ((NI) 0);
	{
		while (1) {
			NI T3_;
			T3_ = ((f.patterns ? f.patterns->Sup.len : 0)-1);
			if (!(idx <= T3_)) goto LA2;
			switch (((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) (f.patterns->data[idx]))) {
			case ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) 33):
			{
				NU8 len;
				idx += ((NI) 1);
				len = f.patterns->data[idx];
				{
					NU8 i;
					NI res;
					i = (NU8)0;
					res = ((NI) 1);
					{
						while (1) {
							if (!(res <= ((NI) (len)))) goto LA7;
							i = ((NU8) (res));
							idx += ((NI) 1);
							result = addChar(result, ((NIM_CHAR) (f.patterns->data[idx])));
							res += ((NI) 1);
						} LA7: ;
					}
				}
				idx += ((NI) 1);
			}
			break;
			default:
			{
				formatPattern__pureZtimes_1872(dt, ((tyEnum_FormatPattern__7FQon114ofANvpAkXUNupQ) (f.patterns->data[idx])), (&result), loc);
				idx += ((NI) 1);
			}
			break;
			}
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__options_598)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = format__pureZtimes_2998(dt, f2__options_603, (&DefaultLocale__pureZtimes_1628));
	return result;
}
static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI64 quantity) {
	NI64 result;
	result = (NI64)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = (NI64)(quantity / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]));
	}
	goto LA1_;
	LA3_: ;
	{
		result = (NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * quantity);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitFrom, tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw unitTo, NI quantity) {
	NI result;
	result = (NI)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA result;
	NI64 T1_;
	NI64 nanosecond;
	NI T2_;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA));
	T1_ = (NI64)0;
	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), nanoseconds);
	result.seconds = (NI64)(seconds + T1_);
	T2_ = (NI)0;
	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((NI) 1));
	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
	{
		NI T7_;
		if (!(nanosecond < IL64(0))) goto LA5_;
		T7_ = (NI)0;
		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((NI) 1));
		nanosecond += ((NI64) (T7_));
		result.seconds -= ((NI) 1);
	}
	LA5_: ;
	result.nanosecond = ((NI) (((NI) (nanosecond))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, ntSubTime)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA a, tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw b) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA));
	result = normalize__pureZtimes_991((NI64)(a.seconds - b.seconds), ((NI64) ((NI)(((NI) (a.nanosecond)) - ((NI) (b.nanosecond))))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds) {
	tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw result;
	NI64 T1_;
	NI64 nanosecond;
	NI T2_;
	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw));
	T1_ = (NI64)0;
	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), nanoseconds);
	result.seconds = (NI64)(seconds + T1_);
	T2_ = (NI)0;
	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((NI) 1));
	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
	{
		NI T7_;
		if (!(nanosecond < IL64(0))) goto LA5_;
		T7_ = (NI)0;
		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((NI) 1));
		nanosecond += ((NI64) (T7_));
		result.seconds -= ((NI) 1);
	}
	LA5_: ;
	result.nanosecond = ((NI) (((NI) (nanosecond))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks) {
	tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw result;
	NI64 seconds_2;
	NI64 T1_;
	NI64 T2_;
	NI64 T3_;
	NI64 T4_;
	NI64 T5_;
	NI64 T6_;
	NI64 T7_;
	NI64 T8_;
	NI nanoseconds_2;
	NI64 T9_;
	NI64 T10_;
	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw));
	T1_ = (NI64)0;
	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 7), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), weeks);
	T2_ = (NI64)0;
	T2_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 6), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), days);
	T3_ = (NI64)0;
	T3_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 4), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), minutes);
	T4_ = (NI64)0;
	T4_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 5), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), hours);
	T5_ = (NI64)0;
	T5_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), seconds);
	T6_ = (NI64)0;
	T6_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 2), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), milliseconds);
	T7_ = (NI64)0;
	T7_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 1), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), microseconds);
	T8_ = (NI64)0;
	T8_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 3), nanoseconds);
	seconds_2 = (NI64)((NI64)((NI64)((NI64)((NI64)((NI64)((NI64)(T1_ + T2_) + T3_) + T4_) + T5_) + T6_) + T7_) + T8_);
	T9_ = (NI64)0;
	T9_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 2), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), (NI64)(milliseconds % IL64(1000)));
	T10_ = (NI64)0;
	T10_ = convert__pureZtimes_376(((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 1), ((tyEnum_TimeUnit__qPjPo79aZSocPv78lYCHabw) 0), (NI64)(microseconds % IL64(1000000)));
	nanoseconds_2 = ((NI) ((NI64)((NI64)(T9_ + T10_) + (NI64)(nanoseconds % IL64(1000000000)))));
	result = normalize__pureZtimes_433(seconds_2, ((NI64) (nanoseconds_2)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag, fromEpochDay__pureZtimes_187)(NI64 epochday) {
	tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag result;
	NI64 z;
	NI64 era;
	NI64 T1_;
	NI64 doe;
	NI64 yoe;
	NI64 y;
	NI64 doy;
	NI64 mp;
	NI64 d;
	NI64 m;
	NI T7_;
	NI colontmp_;
	tyEnum_Month__6neZRljfhvkBQQuKbGcGrg colontmp__2;
	NI colontmp__3;
{	nimZeroMem((void*)(&result), sizeof(tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag));
	z = epochday;
	z += ((NI) 719468);
	T1_ = (NI64)0;
	{
		if (!(IL64(0) <= z)) goto LA4_;
		T1_ = z;
	}
	goto LA2_;
	LA4_: ;
	{
		T1_ = (NI64)(z - IL64(146096));
	}
	LA2_: ;
	era = (NI64)(T1_ / IL64(146097));
	doe = (NI64)(z - (NI64)(era * IL64(146097)));
	yoe = (NI64)((NI64)((NI64)((NI64)(doe - (NI64)(doe / IL64(1460))) + (NI64)(doe / IL64(36524))) - (NI64)(doe / IL64(146096))) / IL64(365));
	y = (NI64)(yoe + (NI64)(era * IL64(400)));
	doy = (NI64)(doe - (NI64)((NI64)((NI64)(IL64(365) * yoe) + (NI64)(yoe / IL64(4))) - (NI64)(yoe / IL64(100))));
	mp = (NI64)((NI64)((NI64)(IL64(5) * doy) + IL64(2)) / IL64(153));
	d = (NI64)((NI64)(doy - (NI64)((NI64)((NI64)(IL64(153) * mp) + IL64(2)) / IL64(5))) + IL64(1));
	T7_ = (NI)0;
	{
		if (!(mp < IL64(10))) goto LA10_;
		T7_ = ((NI) 3);
	}
	goto LA8_;
	LA10_: ;
	{
		T7_ = ((NI) -9);
	}
	LA8_: ;
	m = (NI64)(mp + ((NI64) (T7_)));
	colontmp_ = ((NI) (d));
	colontmp__2 = ((tyEnum_Month__6neZRljfhvkBQQuKbGcGrg) (m));
	colontmp__3 = ((NI) ((NI64)(y + ((NI64) ((m <= IL64(2)))))));
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	result.Field2 = colontmp__3;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year) {
}
N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year) {
	NI64 result;
	tyTuple__47w2DboNEPf69aPgubZdd7Q T1_;
	NI y;
	NI m;
	NI d;
	NI era;
	NI T6_;
	NI yoe;
	NI doy;
	NI T12_;
	NI doe;
{	result = (NI64)0;
	assertValidDate__pureZtimes_139(monthday, month, year);
	T1_.Field0 = year;
	T1_.Field1 = month;
	T1_.Field2 = ((NI) (monthday));
	y = T1_.Field0;
	m = T1_.Field1;
	d = T1_.Field2;
	{
		if (!(m <= ((NI) 2))) goto LA4_;
		y -= ((NI) 1);
	}
	LA4_: ;
	T6_ = (NI)0;
	{
		if (!(((NI) 0) <= y)) goto LA9_;
		T6_ = y;
	}
	goto LA7_;
	LA9_: ;
	{
		T6_ = (NI)(y - ((NI) 399));
	}
	LA7_: ;
	era = (NI)(T6_ / ((NI) 400));
	yoe = (NI)(y - (NI)(era * ((NI) 400)));
	T12_ = (NI)0;
	{
		if (!(((NI) 2) < m)) goto LA15_;
		T12_ = ((NI) -3);
	}
	goto LA13_;
	LA15_: ;
	{
		T12_ = ((NI) 9);
	}
	LA13_: ;
	doy = (NI)((NI)((NI)((NI)((NI)(((NI) 153) * (NI)(m + T12_)) + ((NI) 2)) / ((NI) 5)) + d) - ((NI) 1));
	doe = (NI)((NI)((NI)((NI)(yoe * ((NI) 365)) + (NI)(yoe / ((NI) 4))) - (NI)(yoe / ((NI) 100))) + doy);
	result = ((NI64) ((NI)((NI)((NI)(era * ((NI) 146097)) + doe) - ((NI) 719468))));
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year) {
	tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ result;
	NI64 days;
	NI64 T1_;
	NI64 weeks;
	NI64 wd;
	result = (tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ)0;
	assertValidDate__pureZtimes_139(monthday, month, year);
	T1_ = (NI64)0;
	T1_ = toEpochDay__pureZtimes_150(monthday, month, year);
	days = (NI64)(T1_ - IL64(3));
	weeks = floorDiv__pureZtimes_258(days, ((NI) 7));
	wd = (NI64)(days - (NI64)(weeks * IL64(7)));
	{
		if (!(wd == IL64(0))) goto LA4_;
		result = ((tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ) 6);
	}
	goto LA2_;
	LA4_: ;
	{
		result = ((tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ) ((NI64)(wd - IL64(1))));
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(year % ((NI) 4)) == ((NI) 0));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = !(((NI)(year % ((NI) 100)) == ((NI) 0)));
	if (T3_) goto LA4_;
	T3_ = ((NI)(year % ((NI) 400)) == ((NI) 0));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__6neZRljfhvkBQQuKbGcGrg month, NI year) {
	NI result;
	result = (NI)0;
	assertValidDate__pureZtimes_139(monthday, month, year);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isLeapYear__pureZtimes_132(year);
		if (!T3_) goto LA4_;
		result = ((NI) ((NI)((NI)(daysUntilMonthLeap__pureZtimes_233[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((NI) ((NI)((NI)(daysUntilMonth__pureZtimes_232[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* zt, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA adjTime;
	tyObject_Duration__WV1kUj9aHpqTaja6fspm0Jw T1_;
	NI64 s;
	NI64 epochday;
	NI64 rem;
	NI64 hour;
	NI64 minute;
	NI64 second;
	tyTuple__WOI4H9abg9cj5rw1fBnSCA9ag T2_;
	NI d;
	tyEnum_Month__6neZRljfhvkBQQuKbGcGrg m;
	NI y;
	T1_ = initDuration__pureZtimes_366(IL64(0), IL64(0), IL64(0), ((NI64) ((*zt).utcOffset)), IL64(0), IL64(0), IL64(0), IL64(0));
	adjTime = ntSubTime((*zt).time, T1_);
	s = adjTime.seconds;
	epochday = floorDiv__pureZtimes_258(s, ((NI) 86400));
	rem = (NI64)(s - (NI64)(epochday * IL64(86400)));
	hour = (NI64)(rem / IL64(3600));
	rem = (NI64)(rem - (NI64)(hour * IL64(3600)));
	minute = (NI64)(rem / IL64(60));
	rem = (NI64)(rem - (NI64)(minute * IL64(60)));
	second = rem;
	T2_ = fromEpochDay__pureZtimes_187(epochday);
	d = T2_.Field0;
	m = T2_.Field1;
	y = T2_.Field2;
	(*Result).monthdayZero = 0;
	(*Result).monthZero = 0;
	(*Result).year = 0;
	(*Result).weekday = 0;
	(*Result).isDst = 0;
	unsureAsgnRef((void**)&(*Result).timezone, NIM_NIL);
	(*Result).utcOffset = 0;
	(*Result).Sup.m_type = (&NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_);
	(*Result).year = y;
	(*Result).monthZero = ((NI) (m));
	(*Result).monthdayZero = ((NI) (d));
	(*Result).hour = ((NI) (hour));
	(*Result).minute = ((NI) (minute));
	(*Result).second = ((NI) (second));
	(*Result).nanosecond = (*zt).time.nanosecond;
	(*Result).weekday = getDayOfWeek__pureZtimes_252(d, m, y);
	(*Result).yearday = getDayOfYear__pureZtimes_227(d, m, y);
	(*Result).isDst = (*zt).isDst;
	unsureAsgnRef((void**) (&(*Result).timezone), zone);
	(*Result).utcOffset = (*zt).utcOffset;
}
N_LIB_PRIVATE N_NIMCALL(void, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result) {
	(*zone).zonedTimeFromTimeImpl.ClE_0? (*zone).zonedTimeFromTimeImpl.ClP_0(time, Result, (*zone).zonedTimeFromTimeImpl.ClE_0):((TM__6NbDwwj5FY059b1gz2AsAZQ_58)((*zone).zonedTimeFromTimeImpl.ClP_0))(time, Result);
}
N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* zone, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result) {
	tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw));
	zonedTimeFromTime__pureZtimes_1267(zone, time, (&T1_));
	initDateTime__pureZtimes_1210((&T1_), zone, Result);
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5324)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	addZCT__system_5275((&gch__system_5228.zct), c);
}
static N_INLINE(void, decRef__system_5326)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5324(c);
	}
	LA4_: ;
}
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5281)(void* usr) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* result;
	NI T1_;
	result = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*) (T1_));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T1_;
	T1_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = usrToCell__system_5281(p);
	decRef__system_5326(T1_);
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5319)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T5_ = usrToCell__system_5281(src);
		incRef__system_5319(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T10_ = usrToCell__system_5281((*dest));
		decRef__system_5326(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromTimeImpl, tyProc__OEy1a11UFMwWa67yhySCdg zonedTimeFromAdjTimeImpl) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* result;
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*) newObj((&NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_), sizeof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA));
	T2_ = NIM_NIL;
	T2_ = (*T1_).name; (*T1_).name = copyStringRC1(name);
	if (T2_) nimGCunrefNoCycle(T2_);
	asgnRef((void**) (&(*T1_).zonedTimeFromTimeImpl.ClE_0), zonedTimeFromTimeImpl.ClE_0);
	(*T1_).zonedTimeFromTimeImpl.ClP_0 = zonedTimeFromTimeImpl.ClP_0;
	asgnRef((void**) (&(*T1_).zonedTimeFromAdjTimeImpl.ClE_0), zonedTimeFromAdjTimeImpl.ClE_0);
	(*T1_).zonedTimeFromAdjTimeImpl.ClP_0 = zonedTimeFromAdjTimeImpl.ClP_0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, utcTzInfo__pureZtimes_1430)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw));
	(*Result).utcOffset = ((NI) 0);
	(*Result).isDst = NIM_FALSE;
	(*Result).time = time;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, utc__pureZtimes_1436)(void) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* result;
	result = NIM_NIL;
	{
		tyProc__OEy1a11UFMwWa67yhySCdg T5_;
		tyProc__OEy1a11UFMwWa67yhySCdg T6_;
		if (!(utcInstance__pureZtimes_1433 == 0)) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyProc__OEy1a11UFMwWa67yhySCdg));
		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_59) (utcTzInfo__pureZtimes_1430)); T5_.ClE_0 = NIM_NIL;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__OEy1a11UFMwWa67yhySCdg));
		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_60) (utcTzInfo__pureZtimes_1430)); T6_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&utcInstance__pureZtimes_1433), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11), T5_, T6_));
	}
	LA3_: ;
	result = utcInstance__pureZtimes_1433;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, utc__pureZtimes_1461)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA t, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* T1_;
	T1_ = NIM_NIL;
	T1_ = utc__pureZtimes_1436();
	inZone__pureZtimes_1307(t, T1_, Result);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA, fromUnix__pureZtimes_902)(NI64 unix_0) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA));
	result = initTime__pureZtimes_895(unix_0, ((NI) 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__options_606)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = format__pureZtimes_2998(dt, f2__options_611, (&DefaultLocale__pureZtimes_1628));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, toUnix__pureZtimes_914)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA t) {
	NI64 result;
	result = (NI64)0;
	result = t.seconds;
	return result;
}
static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i) {
	NF result;
	result = (NF)0;
	result = ((NF) (i));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NF, epochTime__pureZtimes_3608)(void) {
	NF result;
	struct timespec ts;
	int T1_;
	NF T2_;
	NF T3_;
	result = (NF)0;
	T1_ = (int)0;
	T1_ = clock_gettime(CLOCK_REALTIME, (&ts));
	(void)(T1_);
	T2_ = (NF)0;
	T2_ = toBiggestFloat__system_1705(ts.tv_sec);
	T3_ = (NF)0;
	T3_ = toBiggestFloat__system_1705(((NI64) (ts.tv_nsec)));
	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ntLtTime)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA a, tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA b) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (a.seconds < b.seconds);
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = (a.seconds == b.seconds);
	if (!(T3_)) goto LA4_;
	T3_ = (((NI) (a.nanosecond)) < ((NI) (b.nanosecond)));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm) {
	NI64 result;
	NI64 epochDay;
	result = (NI64)0;
	epochDay = toEpochDay__pureZtimes_150(((NI) (tm.tm_mday)), ((tyEnum_Month__6neZRljfhvkBQQuKbGcGrg) ((NI32)(tm.tm_mon + ((NI32) 1)))), (NI)(((NI) (tm.tm_year)) + ((NI) 1900)));
	result = (NI64)(epochDay * IL64(86400));
	result += ((NI) ((NI32)(tm.tm_hour * ((NI32) 3600))));
	result += ((NI) ((NI32)(tm.tm_min * ((NI32) 60))));
	result += ((NI) (tm.tm_sec));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0) {
	tyTuple__pfrdooyxJsC6cg34ebuBag result;
	NI64 a;
	struct tm* tmPtr;
	NI colontmp__3;
	NIM_BOOL colontmp__4;
{	nimZeroMem((void*)(&result), sizeof(tyTuple__pfrdooyxJsC6cg34ebuBag));
	a = clamp__pureZtimes_1364(unix_0, (IL64(-9223372036854775807) - IL64(1)), IL64(9223372036854775807));
	tmPtr = localtime((&a));
	{
		struct tm tm;
		NI colontmp_;
		NI64 T5_;
		NIM_BOOL colontmp__2;
		if (!!((tmPtr == 0))) goto LA3_;
		tm = (*tmPtr);
		T5_ = (NI64)0;
		T5_ = toAdjUnix__pureZtimes_1335(tm);
		colontmp_ = ((NI) ((NI64)(a - T5_)));
		colontmp__2 = (((NI32) 0) < tm.tm_isdst);
		result.Field0 = colontmp_;
		result.Field1 = colontmp__2;
		goto BeforeRet_;
	}
	LA3_: ;
	colontmp__3 = ((NI) 0);
	colontmp__4 = NIM_FALSE;
	result.Field0 = colontmp__3;
	result.Field1 = colontmp__4;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA time, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result) {
	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
	NI offset;
	NIM_BOOL dst;
	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw));
	T1_ = getLocalOffsetAndDst__pureZtimes_1351(time.seconds);
	offset = T1_.Field0;
	dst = T1_.Field1;
	(*Result).time = time;
	(*Result).utcOffset = offset;
	(*Result).isDst = dst;
}
N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA adjTime, tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw* Result) {
	NI64 adjUnix;
	NI64 past;
	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
	NI pastOffset;
	NIM_BOOL _;
	NI64 future;
	tyTuple__pfrdooyxJsC6cg34ebuBag T2_;
	NI futureOffset;
	NIM_BOOL __2;
	NI utcOffset;
	NI64 utcUnix;
	tyTuple__pfrdooyxJsC6cg34ebuBag T13_;
	NI finalOffset;
	NIM_BOOL dst;
	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__jprT0glB9aD12dL7l6V5RFw));
	adjUnix = adjTime.seconds;
	past = (NI64)(adjUnix - IL64(86400));
	T1_ = getLocalOffsetAndDst__pureZtimes_1351(past);
	pastOffset = T1_.Field0;
	_ = T1_.Field1;
	future = (NI64)(adjUnix + IL64(86400));
	T2_ = getLocalOffsetAndDst__pureZtimes_1351(future);
	futureOffset = T2_.Field0;
	__2 = T2_.Field1;
	utcOffset = (NI)0;
	{
		if (!(pastOffset == futureOffset)) goto LA5_;
		utcOffset = pastOffset;
	}
	goto LA3_;
	LA5_: ;
	{
		tyTuple__pfrdooyxJsC6cg34ebuBag T12_;
		{
			if (!(futureOffset < pastOffset)) goto LA10_;
			adjUnix -= ((NI) 3600);
		}
		LA10_: ;
		adjUnix += ((NI64) (pastOffset));
		T12_ = getLocalOffsetAndDst__pureZtimes_1351(adjUnix);
		utcOffset = T12_.Field0;
	}
	LA3_: ;
	utcUnix = (NI64)(adjTime.seconds + ((NI64) (utcOffset)));
	T13_ = getLocalOffsetAndDst__pureZtimes_1351(utcUnix);
	finalOffset = T13_.Field0;
	dst = T13_.Field1;
	(*Result).time = initTime__pureZtimes_895(utcUnix, adjTime.nanosecond);
	(*Result).utcOffset = finalOffset;
	(*Result).isDst = dst;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*, local__pureZtimes_1450)(void) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* result;
	result = NIM_NIL;
	{
		tyProc__OEy1a11UFMwWa67yhySCdg T5_;
		tyProc__OEy1a11UFMwWa67yhySCdg T6_;
		if (!(localInstance__pureZtimes_1434 == 0)) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyProc__OEy1a11UFMwWa67yhySCdg));
		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_64) (localZonedTimeFromTime__pureZtimes_1403)); T5_.ClE_0 = NIM_NIL;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__OEy1a11UFMwWa67yhySCdg));
		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_65) (localZonedTimeFromAdjTime__pureZtimes_1408)); T6_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&localInstance__pureZtimes_1434), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_63), T5_, T6_));
	}
	LA3_: ;
	result = localInstance__pureZtimes_1434;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA t, tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result) {
	tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA* T1_;
	T1_ = NIM_NIL;
	T1_ = local__pureZtimes_1450();
	inZone__pureZtimes_1307(t, T1_, Result);
}
N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_1467)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* Result) {
	tyObject_Time__4nyPibhNA9bJ9a0FBX1dYOaA T1_;
	T1_ = getTime__pureZtimes_961();
	local__pureZtimes_1464(T1_, Result);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__extccomp_1127)(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA* dt) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = format__pureZtimes_2998(dt, f2__extccomp_1132, (&DefaultLocale__pureZtimes_1628));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatslibatspureatstimesdotnim_Init000)(void) {
{
	TFrame FR_; FR_.len = 0;

	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_4);


	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_5);

}/* preInitProc end */
{
}
}

N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatslibatspureatstimesdotnim_DatInit000)(void) {
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[3];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[2];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[12];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_55_7[7];
NI TM__6NbDwwj5FY059b1gz2AsAZQ_57;
static char* NIM_CONST TM__6NbDwwj5FY059b1gz2AsAZQ_56[7] = {
"Monday", 
"Tuesday", 
"Wednesday", 
"Thursday", 
"Friday", 
"Saturday", 
"Sunday"};
static TNimNode TM__6NbDwwj5FY059b1gz2AsAZQ_0[29];
NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_.size = sizeof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA);
NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA);
NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_.kind = 18;
NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_.base = 0;
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[1];
NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_.kind = 18;
NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_.base = 0;
TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[3];
NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.size = sizeof(void*);
NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.align = NIM_ALIGNOF(void*);
NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.kind = 26;
NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.base = 0;
NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].name = "Field0";
TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[4];
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.kind = 17;
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.flags = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].len = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].kind = 2;
NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[5];
NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.kind = 22;
NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.base = (&NTIobject__diB2NTuAIWY0FO9c5IUJRGg_);
NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.marker = Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].name = "Field1";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].len = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0];
NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[2];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].offset = offsetof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA, zonedTimeFromTimeImpl);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].name = "zonedTimeFromTimeImpl";
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[6];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].offset = offsetof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA, zonedTimeFromAdjTimeImpl);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__OEy1a11UFMwWa67yhySCdg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].name = "zonedTimeFromAdjTimeImpl";
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[7];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].offset = offsetof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA, name);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].name = "name";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].len = 3; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0];
NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[0];
NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_.size = sizeof(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*);
NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___40S8LCObTslEcgbC9bHcDmA*);
NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_.kind = 22;
NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_.base = (&NTItimezone58objecttype__40S8LCObTslEcgbC9bHcDmA_);
NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_.marker = Marker_tyRef__0qXiCyw3E21Ww0D12h9b9cog;
NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_.size = sizeof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA);
NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_.align = NIM_ALIGNOF(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA);
NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_.kind = 17;
NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[9];
NTIint__PpavWgyrx5odXyR89aNlcWA_.size = sizeof(NI);
NTIint__PpavWgyrx5odXyR89aNlcWA_.align = NIM_ALIGNOF(NI);
NTIint__PpavWgyrx5odXyR89aNlcWA_.kind = 31;
NTIint__PpavWgyrx5odXyR89aNlcWA_.base = 0;
NTIint__PpavWgyrx5odXyR89aNlcWA_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, nanosecond);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].typ = (&NTIint__PpavWgyrx5odXyR89aNlcWA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].name = "nanosecond";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[10];
NTIint__rUuqTvFmkC6KKRqDAazGEA_.size = sizeof(NI);
NTIint__rUuqTvFmkC6KKRqDAazGEA_.align = NIM_ALIGNOF(NI);
NTIint__rUuqTvFmkC6KKRqDAazGEA_.kind = 31;
NTIint__rUuqTvFmkC6KKRqDAazGEA_.base = 0;
NTIint__rUuqTvFmkC6KKRqDAazGEA_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, second);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].typ = (&NTIint__rUuqTvFmkC6KKRqDAazGEA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].name = "second";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[11];
NTIint__LBgXxpmYOpS8xroRZgNvbg_.size = sizeof(NI);
NTIint__LBgXxpmYOpS8xroRZgNvbg_.align = NIM_ALIGNOF(NI);
NTIint__LBgXxpmYOpS8xroRZgNvbg_.kind = 31;
NTIint__LBgXxpmYOpS8xroRZgNvbg_.base = 0;
NTIint__LBgXxpmYOpS8xroRZgNvbg_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, minute);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].typ = (&NTIint__LBgXxpmYOpS8xroRZgNvbg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].name = "minute";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[3] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[12];
NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.size = sizeof(NI);
NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.align = NIM_ALIGNOF(NI);
NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.kind = 31;
NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.base = 0;
NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, hour);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].typ = (&NTIint__Gz6vwaK0PZQIDIwfuvKsOg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].name = "hour";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[4] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[13];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, monthdayZero);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].name = "monthdayZero";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[5] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[14];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, monthZero);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].name = "monthZero";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[6] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[15];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, year);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].name = "year";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[7] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[16];
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.size = sizeof(tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ);
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.align = NIM_ALIGNOF(tyEnum_WeekDay__pAkr5g2DTr5wSHEdlL9aklQ);
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.kind = 14;
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.base = 0;
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.flags = 3;
for (TM__6NbDwwj5FY059b1gz2AsAZQ_57 = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_57 < 7; TM__6NbDwwj5FY059b1gz2AsAZQ_57++) {
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_57+17].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_57+17].offset = TM__6NbDwwj5FY059b1gz2AsAZQ_57;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_57+17].name = TM__6NbDwwj5FY059b1gz2AsAZQ_56[TM__6NbDwwj5FY059b1gz2AsAZQ_57];
TM__6NbDwwj5FY059b1gz2AsAZQ_55_7[TM__6NbDwwj5FY059b1gz2AsAZQ_57] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_57+17];
}
TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].len = 7; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_55_7[0];
NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[24];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, weekday);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].typ = (&NTIweekday__pAkr5g2DTr5wSHEdlL9aklQ_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].name = "weekday";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[8] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[25];
NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.size = sizeof(NI);
NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.align = NIM_ALIGNOF(NI);
NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.kind = 31;
NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.base = 0;
NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, yearday);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].typ = (&NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].name = "yearday";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[9] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[26];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, isDst);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].name = "isDst";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[10] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[27];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, timezone);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].typ = (&NTItimezone__0qXiCyw3E21Ww0D12h9b9cog_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].name = "timezone";
TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[11] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[28];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].offset = offsetof(tyObject_DateTime__8A9b0ni9bk9cgtdWJfdrY5WiA, utcOffset);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].name = "utcOffset";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].len = 12; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_54_12[0];
NTIdatetime__8A9b0ni9bk9cgtdWJfdrY5WiA_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[8];
}

