1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <time.h>
6 #include <string.h>
7 #include <sys/types.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
24 typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
25 typedef struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ;
26 typedef struct NimStringDesc NimStringDesc;
27 typedef struct TGenericSeq TGenericSeq;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
31 typedef struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg;
32 typedef struct RootObj RootObj;
33 typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
34 typedef struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA;
35 typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
36 typedef struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ;
37 typedef struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw;
38 typedef struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ tyTuple__XjuGlLf9cyYx66ViXrBCvPQ;
39 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
40 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
41 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
42 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
43 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
44 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
45 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
46 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
47 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
48 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
49 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
50 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
51 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
52 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
53 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
54 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
55 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
56 typedef struct tyTuple__pfrdooyxJsC6cg34ebuBag tyTuple__pfrdooyxJsC6cg34ebuBag;
57 typedef struct {
58 N_NIMCALL_PTR(void, ClP_0) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result, void* ClE_0);
59 void* ClE_0;
60 } tyProc__7xnKxEC24cr3qZyj3gX32w;
61 struct TGenericSeq {
62 NI len;
63 NI reserved;
64 };
65 struct NimStringDesc {
66   TGenericSeq Sup;
67 NIM_CHAR data[SEQ_DECL_SIZE];
68 };
69 struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw {
70 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl;
71 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl;
72 NimStringDesc* name;
73 };
74 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
75 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
76 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
77 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
78 struct TNimType {
79 NI size;
80 NI align;
81 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
82 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
83 TNimType* base;
84 TNimNode* node;
85 void* finalizer;
86 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
87 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
88 };
89 struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
90 void* Field0;
91 tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* Field1;
92 };
93 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
94 struct TNimNode {
95 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
96 NI offset;
97 TNimType* typ;
98 NCSTRING name;
99 NI len;
100 TNimNode** sons;
101 };
102 struct RootObj {
103 TNimType* m_type;
104 };
105 struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg {
106   RootObj Sup;
107 };
108 typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
109 struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
110 NI64 seconds;
111 NI nanosecond;
112 };
113 struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA {
114 tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
115 NimStringDesc* formatStr;
116 };
117 typedef NU8 tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ;
118 typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
119 struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
120   RootObj Sup;
121 NI nanosecond;
122 NI second;
123 NI minute;
124 NI hour;
125 NI monthdayZero;
126 NI monthZero;
127 NI year;
128 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
129 NI yearday;
130 NIM_BOOL isDst;
131 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
132 NI utcOffset;
133 };
134 typedef NimStringDesc* tyArray__3hurAvNmIXWWeqMzKryr2A[12];
135 typedef NimStringDesc* tyArray__O9c55L7dGQruaGz5nJ2r4rA[7];
136 struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ {
137 tyArray__3hurAvNmIXWWeqMzKryr2A MMM;
138 tyArray__3hurAvNmIXWWeqMzKryr2A MMMM;
139 tyArray__O9c55L7dGQruaGz5nJ2r4rA ddd;
140 tyArray__O9c55L7dGQruaGz5nJ2r4rA dddd;
141 };
142 typedef NU8 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw;
143 typedef NU8 tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ;
144 typedef NI64 tyArray__pDfjTbtkTNjmi9bTcaNV32Q[8];
145 struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw {
146 NI64 seconds;
147 NI nanosecond;
148 };
149 struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ {
150 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time;
151 NI utcOffset;
152 NIM_BOOL isDst;
153 };
154 struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ {
155 NI Field0;
156 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw Field1;
157 NI Field2;
158 };
159 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
160 NI Field0;
161 NI Field1;
162 NI Field2;
163 };
164 typedef NI tyArray__Splpnswz3rudLg9bDsQoDXg[12];
165 typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_56) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result);
166 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
167 NI refcount;
168 TNimType* typ;
169 };
170 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
171 void* bottom;
172 };
173 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
174 NI len;
175 NI cap;
176 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
177 };
178 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
179 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
180 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
181 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
182 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
183 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
184 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
185 };
186 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
187 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
188 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
189 NI key;
190 NI upperBound;
191 NI level;
192 };
193 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
194 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
195 NI Field1;
196 };
197 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
198 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
199 NI len;
200 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
201 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
202 };
203 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
204 NI minLargeObj;
205 NI maxLargeObj;
206 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
207 NU32 flBitmap;
208 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
209 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
210 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
211 NI currMem;
212 NI maxMem;
213 NI freeMem;
214 NI occ;
215 NI lastSize;
216 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
217 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
218 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
219 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
220 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
221 NIM_BOOL locked;
222 NIM_BOOL blockChunkSizeIncrease;
223 NI nextChunkSize;
224 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
225 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
226 };
227 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
228 NI stackScans;
229 NI cycleCollections;
230 NI maxThreshold;
231 NI maxStackSize;
232 NI maxStackCells;
233 NI cycleTableSize;
234 NI64 maxPause;
235 };
236 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
237 NI counter;
238 NI max;
239 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
240 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
241 };
242 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
243 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
244 NI cycleThreshold;
245 NI zctThreshold;
246 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
247 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
248 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
249 NI recGcLock;
250 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
251 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
252 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
253 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
254 NI gcThreadId;
255 };
256 typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_57) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result, void* ClE_0);
257 typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_58) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result, void* ClE_0);
258 struct tyTuple__pfrdooyxJsC6cg34ebuBag {
259 NI Field0;
260 NIM_BOOL Field1;
261 };
262 typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_60) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result, void* ClE_0);
263 typedef N_CLOSURE_PTR(void, TM__6NbDwwj5FY059b1gz2AsAZQ_61) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result, void* ClE_0);
264 struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
265   TGenericSeq Sup;
266   NU8 data[SEQ_DECL_SIZE];
267 };
268 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op);
269 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
270 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op);
271 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void);
272 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
273 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void);
274 static N_INLINE(void, nimZeroMem)(void* p, NI size);
275 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
276 static N_INLINE(NF, toFloat__system_1702)(NI i);
277 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond);
278 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
279 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
280 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
281 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
282 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
283 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
284 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
285 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
286 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
287 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x, NI minchars);
288 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
289 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
290 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
291 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
292 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
293 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2);
294 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
295 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
296 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
297 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
298 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
299 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b);
300 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds);
301 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity);
302 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
303 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks);
304 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds);
305 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y);
306 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday);
307 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
308 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
309 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
310 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
311 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year);
312 N_LIB_PRIVATE N_NIMCALL(void, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result);
313 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void);
314 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl);
315 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
316 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
317 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
318 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
319 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
320 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
321 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
322 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
323 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
324 static N_INLINE(void, asgnRef)(void** dest, void* src);
325 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
326 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
327 N_LIB_PRIVATE N_NIMCALL(void, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result);
328 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i);
329 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
330 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void);
331 N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result);
332 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0);
333 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b);
334 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm);
335 N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result);
336 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void);
337 N_LIB_PRIVATE TNimType NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_;
338 N_LIB_PRIVATE TNimType NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_;
339 N_LIB_PRIVATE TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
340 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
341 N_LIB_PRIVATE TNimType NTIobject__diB2NTuAIWY0FO9c5IUJRGg_;
342 N_LIB_PRIVATE TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
343 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
344 N_LIB_PRIVATE TNimType NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_;
345 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_6, "12", 2);
346 N_LIB_PRIVATE NIM_CONST tyArray__pDfjTbtkTNjmi9bTcaNV32Q unitWeights__pureZtimes_109 = {IL64(1),
347 IL64(1000),
348 IL64(1000000),
349 IL64(1000000000),
350 IL64(60000000000),
351 IL64(3600000000000),
352 IL64(86400000000000),
353 IL64(604800000000000)}
354 ;
355 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_7, "P", 1);
356 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_8, "A", 1);
357 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_9, "PM", 2);
358 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_10, "AM", 2);
359 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_11, "Etc/UTC", 7);
360 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_12, ":", 1);
361 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_13, "BC", 2);
362 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_14, "AD", 2);
363 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_15, "Jan", 3);
364 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_16, "Feb", 3);
365 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_17, "Mar", 3);
366 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_18, "Apr", 3);
367 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_19, "May", 3);
368 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_20, "Jun", 3);
369 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_21, "Jul", 3);
370 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_22, "Aug", 3);
371 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_23, "Sep", 3);
372 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_24, "Oct", 3);
373 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_25, "Nov", 3);
374 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_26, "Dec", 3);
375 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_27, "January", 7);
376 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_28, "February", 8);
377 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_29, "March", 5);
378 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_30, "April", 5);
379 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_31, "June", 4);
380 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_32, "July", 4);
381 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_33, "August", 6);
382 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_34, "September", 9);
383 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_35, "October", 7);
384 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_36, "November", 8);
385 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_37, "December", 8);
386 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_38, "Mon", 3);
387 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_39, "Tue", 3);
388 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_40, "Wed", 3);
389 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_41, "Thu", 3);
390 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_42, "Fri", 3);
391 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_43, "Sat", 3);
392 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_44, "Sun", 3);
393 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_45, "Monday", 6);
394 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_46, "Tuesday", 7);
395 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_47, "Wednesday", 9);
396 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_48, "Thursday", 8);
397 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_49, "Friday", 6);
398 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_50, "Saturday", 8);
399 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_51, "Sunday", 6);
400 N_LIB_PRIVATE NIM_CONST tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ DefaultLocale__pureZtimes_1628 = {{((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_15),
401 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_16),
402 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_17),
403 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_18),
404 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
405 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_20),
406 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
407 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_22),
408 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
409 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_24),
410 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_25),
411 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_26)}
412 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_27),
413 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_28),
414 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_29),
415 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_30),
416 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
417 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_31),
418 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_32),
419 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_33),
420 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_34),
421 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_35),
422 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_36),
423 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_37)}
424 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_38),
425 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_39),
426 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_40),
427 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_41),
428 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_42),
429 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_43),
430 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_44)}
431 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_45),
432 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_46),
433 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_47),
434 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_48),
435 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_49),
436 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_50),
437 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_51)}
438 }
439 ;
440 N_LIB_PRIVATE TNimType NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_;
441 N_LIB_PRIVATE TNimType NTIint__PpavWgyrx5odXyR89aNlcWA_;
442 N_LIB_PRIVATE TNimType NTIint__rUuqTvFmkC6KKRqDAazGEA_;
443 N_LIB_PRIVATE TNimType NTIint__LBgXxpmYOpS8xroRZgNvbg_;
444 N_LIB_PRIVATE TNimType NTIint__Gz6vwaK0PZQIDIwfuvKsOg_;
445 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
446 N_LIB_PRIVATE TNimType NTIweekday__SVfemTA9aCOyua2TJYa6yBg_;
447 N_LIB_PRIVATE TNimType NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_;
448 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
449 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonthLeap__pureZtimes_233 = {((NI) 0),
450 ((NI) 31),
451 ((NI) 60),
452 ((NI) 91),
453 ((NI) 121),
454 ((NI) 152),
455 ((NI) 182),
456 ((NI) 213),
457 ((NI) 244),
458 ((NI) 274),
459 ((NI) 305),
460 ((NI) 335)}
461 ;
462 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonth__pureZtimes_232 = {((NI) 0),
463 ((NI) 31),
464 ((NI) 59),
465 ((NI) 90),
466 ((NI) 120),
467 ((NI) 151),
468 ((NI) 181),
469 ((NI) 212),
470 ((NI) 243),
471 ((NI) 273),
472 ((NI) 304),
473 ((NI) 334)}
474 ;
475 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_59, "LOCAL", 5);
476 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* utcInstance__pureZtimes_1433;
477 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* localInstance__pureZtimes_1434;
478 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_NIMCALL(void,Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)479 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op) {
480 	tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* a;
481 	a = (tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*)p;
482 }
N_NIMCALL(void,Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)483 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op) {
484 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* a;
485 	a = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)p;
486 	nimGCvisit((void*)(*a).zonedTimeFromTimeImpl.ClE_0, op);
487 	nimGCvisit((void*)(*a).zonedTimeFromAdjTimeImpl.ClE_0, op);
488 	nimGCvisit((void*)(*a).name, op);
489 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_4)490 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void) {
491 	nimGCvisit((void*)utcInstance__pureZtimes_1433, 0);
492 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_5)493 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void) {
494 	nimGCvisit((void*)localInstance__pureZtimes_1434, 0);
495 }
N_INLINE(void,nimSetMem__systemZmemory_7)496 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
497 	void* T1_;
498 	T1_ = (void*)0;
499 	T1_ = memset(a, v, ((size_t) (size)));
500 }
N_INLINE(void,nimZeroMem)501 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
502 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
503 }
N_INLINE(NF,toFloat__system_1702)504 static N_INLINE(NF, toFloat__system_1702)(NI i) {
505 	NF result;
506 	result = (NF)0;
507 	result = ((NF) (i));
508 	return result;
509 }
N_NIMCALL(NF,cpuTime__pureZtimes_3605)510 N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__pureZtimes_3605)(void) {
511 	NF result;
512 	struct timespec ts;
513 	int T1_;
514 	NF T2_;
515 	NF T3_;
516 	result = (NF)0;
517 	nimZeroMem((void*)(&ts), sizeof(struct timespec));
518 	T1_ = (int)0;
519 	T1_ = clock_gettime(((clockid_t) (CLOCK_THREAD_CPUTIME_ID)), (&ts));
520 	(void)(T1_);
521 	T2_ = (NF)0;
522 	T2_ = toFloat__system_1702(ts.tv_sec);
523 	T3_ = (NF)0;
524 	T3_ = toFloat__system_1702(ts.tv_nsec);
525 	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
526 	return result;
527 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,initTime__pureZtimes_895)528 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond) {
529 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
530 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
531 	result.seconds = unix_0;
532 	result.nanosecond = nanosecond;
533 	return result;
534 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,getTime__pureZtimes_961)535 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void) {
536 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
537 	struct timespec ts;
538 	int T1_;
539 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
540 	T1_ = (int)0;
541 	T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
542 	(void)(T1_);
543 	result = initTime__pureZtimes_895(((NI64) (ts.tv_sec)), ((NI) (ts.tv_nsec)));
544 	return result;
545 }
N_INLINE(NI,monthday__pureZtimes_1107)546 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
547 	NI result;
548 	result = (NI)0;
549 	result = ((NI) ((*dt).monthdayZero));
550 	return result;
551 }
N_INLINE(void,nimCopyMem)552 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
553 	void* T1_;
554 	T1_ = (void*)0;
555 	T1_ = memcpy(dest, source, ((size_t) (size)));
556 }
N_INLINE(void,copyMem__system_1727)557 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
558 	nimCopyMem(dest, source, size);
559 }
N_INLINE(void,appendString)560 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
561 	{
562 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
563 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
564 		(*dest).Sup.len += (*src).Sup.len;
565 	}
566 	LA3_: ;
567 }
N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw,month__pureZtimes_1113)568 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
569 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw result;
570 	result = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
571 	result = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((*dt).monthZero));
572 	return result;
573 }
N_INLINE(NI,convert__pureZtimes_635)574 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
575 	NI result;
576 	result = (NI)0;
577 	{
578 		if (!(unitFrom < unitTo)) goto LA3_;
579 		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
580 	}
581 	goto LA1_;
582 	LA3_: ;
583 	{
584 		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
585 	}
586 	LA1_: ;
587 	return result;
588 }
N_INLINE(void,appendChar)589 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
590 	(*dest).data[(*dest).Sup.len] = c;
591 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
592 	(*dest).Sup.len += ((NI) 1);
593 }
N_INLINE(int,nimCmpMem)594 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
595 	int result;
596 	result = (int)0;
597 	result = memcmp(a, b, ((size_t) (size)));
598 	return result;
599 }
N_INLINE(NIM_BOOL,equalMem__system_1735)600 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
601 	NIM_BOOL result;
602 	int T1_;
603 	result = (NIM_BOOL)0;
604 	T1_ = (int)0;
605 	T1_ = nimCmpMem(a, b, size);
606 	result = (T1_ == ((NI32) 0));
607 	return result;
608 }
N_INLINE(NIM_BOOL,eqStrings)609 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
610 	NIM_BOOL result;
611 	NI alen;
612 	NI blen;
613 {	result = (NIM_BOOL)0;
614 	alen = (a ? a->Sup.len : 0);
615 	blen = (b ? b->Sup.len : 0);
616 	{
617 		if (!(alen == blen)) goto LA3_;
618 		{
619 			if (!(alen == ((NI) 0))) goto LA7_;
620 			result = NIM_TRUE;
621 			goto BeforeRet_;
622 		}
623 		LA7_: ;
624 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
625 		goto BeforeRet_;
626 	}
627 	LA3_: ;
628 	}BeforeRet_: ;
629 	return result;
630 }
N_NIMCALL(NIM_BOOL,eqeq___pureZtimes_1293)631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2) {
632 	NIM_BOOL result;
633 {	result = (NIM_BOOL)0;
634 	{
635 		if (!(zone1 == zone2)) goto LA3_;
636 		result = NIM_TRUE;
637 		goto BeforeRet_;
638 	}
639 	LA3_: ;
640 	{
641 		NIM_BOOL T7_;
642 		T7_ = (NIM_BOOL)0;
643 		T7_ = (zone1 == 0);
644 		if (T7_) goto LA8_;
645 		T7_ = (zone2 == 0);
646 		LA8_: ;
647 		if (!T7_) goto LA9_;
648 		result = NIM_FALSE;
649 		goto BeforeRet_;
650 	}
651 	LA9_: ;
652 	result = eqStrings((*zone1).name, (*zone2).name);
653 	}BeforeRet_: ;
654 	return result;
655 }
N_NIMCALL(void,formatPattern__pureZtimes_1863)656 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
657 	switch (pattern) {
658 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 0):
659 	{
660 		NI T2_;
661 		NimStringDesc* T3_;
662 		T2_ = (NI)0;
663 		T2_ = monthday__pureZtimes_1107(dt);
664 		T3_ = NIM_NIL;
665 		T3_ = dollar___systemZdollars_3(((NI) (T2_)));
666 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T3_ ? T3_->Sup.len : 0) + 0));
667 appendString((*result), T3_);
668 	}
669 	break;
670 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 1):
671 	{
672 		NI T5_;
673 		NimStringDesc* T6_;
674 		T5_ = (NI)0;
675 		T5_ = monthday__pureZtimes_1107(dt);
676 		T6_ = NIM_NIL;
677 		T6_ = nsuIntToStr(((NI) (T5_)), ((NI) 2));
678 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T6_ ? T6_->Sup.len : 0) + 0));
679 appendString((*result), T6_);
680 	}
681 	break;
682 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 2):
683 	{
684 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).ddd[((*dt).weekday)- 0] ? (*loc).ddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
685 appendString((*result), (*loc).ddd[((*dt).weekday)- 0]);
686 	}
687 	break;
688 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 3):
689 	{
690 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).dddd[((*dt).weekday)- 0] ? (*loc).dddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
691 appendString((*result), (*loc).dddd[((*dt).weekday)- 0]);
692 	}
693 	break;
694 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 4):
695 	{
696 		NimStringDesc* T10_;
697 		T10_ = NIM_NIL;
698 		{
699 			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA13_;
700 			T10_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
701 		}
702 		goto LA11_;
703 		LA13_: ;
704 		{
705 			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA16_;
706 			T10_ = dollar___systemZdollars_3((NI)(((NI) ((*dt).hour)) - ((NI) 12)));
707 		}
708 		goto LA11_;
709 		LA16_: ;
710 		{
711 			T10_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
712 		}
713 		LA11_: ;
714 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T10_ ? T10_->Sup.len : 0) + 0));
715 appendString((*result), T10_);
716 	}
717 	break;
718 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 5):
719 	{
720 		NimStringDesc* T20_;
721 		T20_ = NIM_NIL;
722 		{
723 			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA23_;
724 			T20_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
725 		}
726 		goto LA21_;
727 		LA23_: ;
728 		{
729 			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA26_;
730 			T20_ = nsuIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)), ((NI) 2));
731 		}
732 		goto LA21_;
733 		LA26_: ;
734 		{
735 			T20_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
736 		}
737 		LA21_: ;
738 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T20_ ? T20_->Sup.len : 0) + 0));
739 appendString((*result), T20_);
740 	}
741 	break;
742 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 6):
743 	{
744 		NimStringDesc* T30_;
745 		T30_ = NIM_NIL;
746 		T30_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
747 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T30_ ? T30_->Sup.len : 0) + 0));
748 appendString((*result), T30_);
749 	}
750 	break;
751 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 7):
752 	{
753 		NimStringDesc* T32_;
754 		T32_ = NIM_NIL;
755 		T32_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
756 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T32_ ? T32_->Sup.len : 0) + 0));
757 appendString((*result), T32_);
758 	}
759 	break;
760 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 8):
761 	{
762 		NimStringDesc* T34_;
763 		T34_ = NIM_NIL;
764 		T34_ = dollar___systemZdollars_3(((NI) ((*dt).minute)));
765 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T34_ ? T34_->Sup.len : 0) + 0));
766 appendString((*result), T34_);
767 	}
768 	break;
769 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 9):
770 	{
771 		NimStringDesc* T36_;
772 		T36_ = NIM_NIL;
773 		T36_ = nsuIntToStr(((NI) ((*dt).minute)), ((NI) 2));
774 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T36_ ? T36_->Sup.len : 0) + 0));
775 appendString((*result), T36_);
776 	}
777 	break;
778 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 10):
779 	{
780 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T38_;
781 		NimStringDesc* T39_;
782 		T38_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
783 		T38_ = month__pureZtimes_1113(dt);
784 		T39_ = NIM_NIL;
785 		T39_ = dollar___systemZdollars_3(T38_);
786 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T39_ ? T39_->Sup.len : 0) + 0));
787 appendString((*result), T39_);
788 	}
789 	break;
790 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 11):
791 	{
792 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T41_;
793 		NimStringDesc* T42_;
794 		T41_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
795 		T41_ = month__pureZtimes_1113(dt);
796 		T42_ = NIM_NIL;
797 		T42_ = nsuIntToStr(T41_, ((NI) 2));
798 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T42_ ? T42_->Sup.len : 0) + 0));
799 appendString((*result), T42_);
800 	}
801 	break;
802 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 12):
803 	{
804 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T44_;
805 		T44_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
806 		T44_ = month__pureZtimes_1113(dt);
807 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMM[(T44_)- 1] ? (*loc).MMM[(T44_)- 1]->Sup.len : 0) + 0));
808 appendString((*result), (*loc).MMM[(T44_)- 1]);
809 	}
810 	break;
811 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 13):
812 	{
813 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T46_;
814 		T46_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
815 		T46_ = month__pureZtimes_1113(dt);
816 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMMM[(T46_)- 1] ? (*loc).MMMM[(T46_)- 1]->Sup.len : 0) + 0));
817 appendString((*result), (*loc).MMMM[(T46_)- 1]);
818 	}
819 	break;
820 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 14):
821 	{
822 		NimStringDesc* T48_;
823 		T48_ = NIM_NIL;
824 		T48_ = dollar___systemZdollars_3(((NI) ((*dt).second)));
825 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T48_ ? T48_->Sup.len : 0) + 0));
826 appendString((*result), T48_);
827 	}
828 	break;
829 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 15):
830 	{
831 		NimStringDesc* T50_;
832 		T50_ = NIM_NIL;
833 		T50_ = nsuIntToStr(((NI) ((*dt).second)), ((NI) 2));
834 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
835 appendString((*result), T50_);
836 	}
837 	break;
838 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 16):
839 	{
840 		NI T52_;
841 		NimStringDesc* T53_;
842 		T52_ = (NI)0;
843 		T52_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), (*dt).nanosecond);
844 		T53_ = NIM_NIL;
845 		T53_ = nsuIntToStr(((NI) (T52_)), ((NI) 3));
846 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T53_ ? T53_->Sup.len : 0) + 0));
847 appendString((*result), T53_);
848 	}
849 	break;
850 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 17):
851 	{
852 		NI T55_;
853 		NimStringDesc* T56_;
854 		T55_ = (NI)0;
855 		T55_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), (*dt).nanosecond);
856 		T56_ = NIM_NIL;
857 		T56_ = nsuIntToStr(((NI) (T55_)), ((NI) 6));
858 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T56_ ? T56_->Sup.len : 0) + 0));
859 appendString((*result), T56_);
860 	}
861 	break;
862 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 18):
863 	{
864 		NimStringDesc* T58_;
865 		T58_ = NIM_NIL;
866 		T58_ = nsuIntToStr(((NI) ((*dt).nanosecond)), ((NI) 9));
867 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T58_ ? T58_->Sup.len : 0) + 0));
868 appendString((*result), T58_);
869 	}
870 	break;
871 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 19):
872 	{
873 		NimStringDesc* T60_;
874 		T60_ = NIM_NIL;
875 		{
876 			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA63_;
877 			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_7));
878 		}
879 		goto LA61_;
880 		LA63_: ;
881 		{
882 			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_8));
883 		}
884 		LA61_: ;
885 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T60_ ? T60_->Sup.len : 0) + 0));
886 appendString((*result), T60_);
887 	}
888 	break;
889 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 20):
890 	{
891 		NimStringDesc* T67_;
892 		T67_ = NIM_NIL;
893 		{
894 			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA70_;
895 			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_9));
896 		}
897 		goto LA68_;
898 		LA70_: ;
899 		{
900 			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_10));
901 		}
902 		LA68_: ;
903 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T67_ ? T67_->Sup.len : 0) + 0));
904 appendString((*result), T67_);
905 	}
906 	break;
907 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 21):
908 	{
909 		NI T74_;
910 		NimStringDesc* T80_;
911 		T74_ = (NI)0;
912 		{
913 			if (!((*dt).year <= ((NI) 0))) goto LA77_;
914 			T74_ = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
915 		}
916 		goto LA75_;
917 		LA77_: ;
918 		{
919 			T74_ = (*dt).year;
920 		}
921 		LA75_: ;
922 		T80_ = NIM_NIL;
923 		T80_ = nsuIntToStr((NI)(T74_ % ((NI) 100)), ((NI) 2));
924 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T80_ ? T80_->Sup.len : 0) + 0));
925 appendString((*result), T80_);
926 	}
927 	break;
928 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 22):
929 	{
930 		NI year;
931 		{
932 			if (!((*dt).year <= ((NI) 0))) goto LA84_;
933 			year = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
934 		}
935 		goto LA82_;
936 		LA84_: ;
937 		{
938 			year = (*dt).year;
939 		}
940 		LA82_: ;
941 		{
942 			NimStringDesc* T91_;
943 			if (!(year < ((NI) 10000))) goto LA89_;
944 			T91_ = NIM_NIL;
945 			T91_ = nsuIntToStr(year, ((NI) 4));
946 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T91_ ? T91_->Sup.len : 0) + 0));
947 appendString((*result), T91_);
948 		}
949 		goto LA87_;
950 		LA89_: ;
951 		{
952 			NimStringDesc* T93_;
953 			NimStringDesc* T94_;
954 			T93_ = NIM_NIL;
955 			T94_ = NIM_NIL;
956 			T94_ = dollar___systemZdollars_3(year);
957 			T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 1);
958 appendChar(T93_, 43);
959 appendString(T93_, T94_);
960 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T93_ ? T93_->Sup.len : 0) + 0));
961 appendString((*result), T93_);
962 		}
963 		LA87_: ;
964 	}
965 	break;
966 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 23):
967 	{
968 		{
969 			NimStringDesc* T100_;
970 			if (!((*dt).year < ((NI) 1))) goto LA98_;
971 			T100_ = NIM_NIL;
972 			T100_ = dollar___systemZdollars_3((NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1)));
973 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T100_ ? T100_->Sup.len : 0) + 0));
974 appendString((*result), T100_);
975 		}
976 		goto LA96_;
977 		LA98_: ;
978 		{
979 			NimStringDesc* T102_;
980 			T102_ = NIM_NIL;
981 			T102_ = dollar___systemZdollars_3((*dt).year);
982 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T102_ ? T102_->Sup.len : 0) + 0));
983 appendString((*result), T102_);
984 		}
985 		LA96_: ;
986 	}
987 	break;
988 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 24):
989 	{
990 		NI year_2;
991 		year_2 = (*dt).year;
992 		{
993 			NIM_BOOL T106_;
994 			NimStringDesc* T110_;
995 			T106_ = (NIM_BOOL)0;
996 			T106_ = (year_2 < ((NI) 10000));
997 			if (T106_) goto LA107_;
998 			T106_ = (year_2 < ((NI) 0));
999 			LA107_: ;
1000 			if (!T106_) goto LA108_;
1001 			T110_ = NIM_NIL;
1002 			T110_ = nsuIntToStr(year_2, ((NI) 4));
1003 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T110_ ? T110_->Sup.len : 0) + 0));
1004 appendString((*result), T110_);
1005 		}
1006 		goto LA104_;
1007 		LA108_: ;
1008 		{
1009 			NimStringDesc* T112_;
1010 			NimStringDesc* T113_;
1011 			T112_ = NIM_NIL;
1012 			T113_ = NIM_NIL;
1013 			T113_ = dollar___systemZdollars_3(year_2);
1014 			T112_ = rawNewString((T113_ ? T113_->Sup.len : 0) + 1);
1015 appendChar(T112_, 43);
1016 appendString(T112_, T113_);
1017 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T112_ ? T112_->Sup.len : 0) + 0));
1018 appendString((*result), T112_);
1019 		}
1020 		LA104_: ;
1021 	}
1022 	break;
1023 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 25):
1024 	{
1025 		NimStringDesc* T115_;
1026 		T115_ = NIM_NIL;
1027 		T115_ = dollar___systemZdollars_3((*dt).year);
1028 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T115_ ? T115_->Sup.len : 0) + 0));
1029 appendString((*result), T115_);
1030 	}
1031 	break;
1032 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1033 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1034 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1035 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1036 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1037 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1038 	{
1039 		{
1040 			NIM_BOOL T119_;
1041 			NIM_BOOL T120_;
1042 			T119_ = (NIM_BOOL)0;
1043 			T120_ = (NIM_BOOL)0;
1044 			T120_ = eqeq___pureZtimes_1293((*dt).timezone, ((tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) NIM_NIL));
1045 			T119_ = !(T120_);
1046 			if (!(T119_)) goto LA121_;
1047 			T119_ = eqStrings((*(*dt).timezone).name, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11));
1048 			LA121_: ;
1049 			if (!T119_) goto LA122_;
1050 			unsureAsgnRef((void**) (&(*result)), addChar((*result), 90));
1051 		}
1052 		goto LA117_;
1053 		LA122_: ;
1054 		{
1055 			NIM_CHAR T125_;
1056 			NI absOffset;
1057 			T125_ = (NIM_CHAR)0;
1058 			{
1059 				if (!(((NI) 0) <= ((NI64)-((*dt).utcOffset)))) goto LA128_;
1060 				T125_ = 43;
1061 			}
1062 			goto LA126_;
1063 			LA128_: ;
1064 			{
1065 				T125_ = 45;
1066 			}
1067 			LA126_: ;
1068 			unsureAsgnRef((void**) (&(*result)), addChar((*result), T125_));
1069 			absOffset = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1070 			switch (pattern) {
1071 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1072 			{
1073 				NimStringDesc* T132_;
1074 				T132_ = NIM_NIL;
1075 				T132_ = dollar___systemZdollars_3((NI)(absOffset / ((NI) 3600)));
1076 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T132_ ? T132_->Sup.len : 0) + 0));
1077 appendString((*result), T132_);
1078 			}
1079 			break;
1080 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1081 			{
1082 				NimStringDesc* T134_;
1083 				T134_ = NIM_NIL;
1084 				T134_ = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1085 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T134_ ? T134_->Sup.len : 0) + 0));
1086 appendString((*result), T134_);
1087 			}
1088 			break;
1089 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1090 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1091 			{
1092 				NimStringDesc* h;
1093 				NimStringDesc* m;
1094 				NimStringDesc* sep;
1095 				NimStringDesc* T141_;
1096 				h = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1097 				m = nsuIntToStr((NI)((NI)(absOffset / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1098 				{
1099 					if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28))) goto LA138_;
1100 					sep = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1101 				}
1102 				goto LA136_;
1103 				LA138_: ;
1104 				{
1105 					sep = ((NimStringDesc*) NIM_NIL);
1106 				}
1107 				LA136_: ;
1108 				T141_ = NIM_NIL;
1109 				T141_ = rawNewString((h ? h->Sup.len : 0) + (sep ? sep->Sup.len : 0) + (m ? m->Sup.len : 0) + 0);
1110 appendString(T141_, h);
1111 appendString(T141_, sep);
1112 appendString(T141_, m);
1113 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T141_ ? T141_->Sup.len : 0) + 0));
1114 appendString((*result), T141_);
1115 			}
1116 			break;
1117 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1118 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1119 			{
1120 				NI absOffset_2;
1121 				NimStringDesc* h_2;
1122 				NimStringDesc* m_2;
1123 				NimStringDesc* s;
1124 				NimStringDesc* sep_2;
1125 				NimStringDesc* T148_;
1126 				absOffset_2 = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1127 				h_2 = nsuIntToStr((NI)(absOffset_2 / ((NI) 3600)), ((NI) 2));
1128 				m_2 = nsuIntToStr((NI)((NI)(absOffset_2 / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1129 				s = nsuIntToStr((NI)(absOffset_2 % ((NI) 60)), ((NI) 2));
1130 				{
1131 					if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29))) goto LA145_;
1132 					sep_2 = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1133 				}
1134 				goto LA143_;
1135 				LA145_: ;
1136 				{
1137 					sep_2 = ((NimStringDesc*) NIM_NIL);
1138 				}
1139 				LA143_: ;
1140 				T148_ = NIM_NIL;
1141 				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);
1142 appendString(T148_, h_2);
1143 appendString(T148_, sep_2);
1144 appendString(T148_, m_2);
1145 appendString(T148_, sep_2);
1146 appendString(T148_, s);
1147 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T148_ ? T148_->Sup.len : 0) + 0));
1148 appendString((*result), T148_);
1149 			}
1150 			break;
1151 			default:
1152 			{
1153 			}
1154 			break;
1155 			}
1156 		}
1157 		LA117_: ;
1158 	}
1159 	break;
1160 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 32):
1161 	{
1162 		NimStringDesc* T151_;
1163 		T151_ = NIM_NIL;
1164 		{
1165 			if (!((*dt).year < ((NI) 1))) goto LA154_;
1166 			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_13));
1167 		}
1168 		goto LA152_;
1169 		LA154_: ;
1170 		{
1171 			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_14));
1172 		}
1173 		LA152_: ;
1174 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T151_ ? T151_->Sup.len : 0) + 0));
1175 appendString((*result), T151_);
1176 	}
1177 	break;
1178 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1179 	{
1180 	}
1181 	break;
1182 	}
1183 }
N_NIMCALL(NimStringDesc *,format__pureZtimes_2989)1184 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2989)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
1185 	NimStringDesc* result;
1186 	NI idx;
1187 	result = NIM_NIL;
1188 	result = ((NimStringDesc*) NIM_NIL);
1189 	idx = ((NI) 0);
1190 	{
1191 		while (1) {
1192 			NI T3_;
1193 			T3_ = ((f.patterns ? f.patterns->Sup.len : 0)-1);
1194 			if (!(idx <= T3_)) goto LA2;
1195 			switch (((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx]))) {
1196 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1197 			{
1198 				NU8 len;
1199 				idx += ((NI) 1);
1200 				len = f.patterns->data[idx];
1201 				{
1202 					NU8 i;
1203 					NI res;
1204 					i = (NU8)0;
1205 					res = ((NI) 1);
1206 					{
1207 						while (1) {
1208 							if (!(res <= ((NI) (len)))) goto LA7;
1209 							i = ((NU8) (res));
1210 							idx += ((NI) 1);
1211 							result = addChar(result, ((NIM_CHAR) (f.patterns->data[idx])));
1212 							res += ((NI) 1);
1213 						} LA7: ;
1214 					}
1215 				}
1216 				idx += ((NI) 1);
1217 			}
1218 			break;
1219 			default:
1220 			{
1221 				formatPattern__pureZtimes_1863(dt, ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx])), (&result), loc);
1222 				idx += ((NI) 1);
1223 			}
1224 			break;
1225 			}
1226 		} LA2: ;
1227 	}
1228 	return result;
1229 }
N_INLINE(NI64,convert__pureZtimes_376)1230 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity) {
1231 	NI64 result;
1232 	result = (NI64)0;
1233 	{
1234 		if (!(unitFrom < unitTo)) goto LA3_;
1235 		result = (NI64)(quantity / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]));
1236 	}
1237 	goto LA1_;
1238 	LA3_: ;
1239 	{
1240 		result = (NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * quantity);
1241 	}
1242 	LA1_: ;
1243 	return result;
1244 }
N_INLINE(NI,convert__pureZtimes_443)1245 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
1246 	NI result;
1247 	result = (NI)0;
1248 	{
1249 		if (!(unitFrom < unitTo)) goto LA3_;
1250 		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
1251 	}
1252 	goto LA1_;
1253 	LA3_: ;
1254 	{
1255 		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
1256 	}
1257 	LA1_: ;
1258 	return result;
1259 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,normalize__pureZtimes_991)1260 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds) {
1261 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1262 	NI64 T1_;
1263 	NI64 nanosecond;
1264 	NI T2_;
1265 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1266 	T1_ = (NI64)0;
1267 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1268 	result.seconds = (NI64)(seconds + T1_);
1269 	T2_ = (NI)0;
1270 	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1271 	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1272 	{
1273 		NI T7_;
1274 		if (!(nanosecond < IL64(0))) goto LA5_;
1275 		T7_ = (NI)0;
1276 		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1277 		nanosecond += ((NI64) (T7_));
1278 		result.seconds -= ((NI) 1);
1279 	}
1280 	LA5_: ;
1281 	result.nanosecond = ((NI) (((NI) (nanosecond))));
1282 	return result;
1283 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,ntSubTime)1284 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b) {
1285 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1286 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1287 	result = normalize__pureZtimes_991((NI64)(a.seconds - b.seconds), ((NI64) ((NI)(((NI) (a.nanosecond)) - ((NI) (b.nanosecond))))));
1288 	return result;
1289 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,normalize__pureZtimes_433)1290 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds) {
1291 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1292 	NI64 T1_;
1293 	NI64 nanosecond;
1294 	NI T2_;
1295 	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1296 	T1_ = (NI64)0;
1297 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1298 	result.seconds = (NI64)(seconds + T1_);
1299 	T2_ = (NI)0;
1300 	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1301 	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1302 	{
1303 		NI T7_;
1304 		if (!(nanosecond < IL64(0))) goto LA5_;
1305 		T7_ = (NI)0;
1306 		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1307 		nanosecond += ((NI64) (T7_));
1308 		result.seconds -= ((NI) 1);
1309 	}
1310 	LA5_: ;
1311 	result.nanosecond = ((NI) (((NI) (nanosecond))));
1312 	return result;
1313 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,initDuration__pureZtimes_366)1314 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks) {
1315 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1316 	NI64 seconds_2;
1317 	NI64 T1_;
1318 	NI64 T2_;
1319 	NI64 T3_;
1320 	NI64 T4_;
1321 	NI64 T5_;
1322 	NI64 T6_;
1323 	NI64 T7_;
1324 	NI64 T8_;
1325 	NI nanoseconds_2;
1326 	NI64 T9_;
1327 	NI64 T10_;
1328 	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1329 	T1_ = (NI64)0;
1330 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 7), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), weeks);
1331 	T2_ = (NI64)0;
1332 	T2_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 6), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), days);
1333 	T3_ = (NI64)0;
1334 	T3_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 4), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), minutes);
1335 	T4_ = (NI64)0;
1336 	T4_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 5), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), hours);
1337 	T5_ = (NI64)0;
1338 	T5_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), seconds);
1339 	T6_ = (NI64)0;
1340 	T6_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), milliseconds);
1341 	T7_ = (NI64)0;
1342 	T7_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), microseconds);
1343 	T8_ = (NI64)0;
1344 	T8_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1345 	seconds_2 = (NI64)((NI64)((NI64)((NI64)((NI64)((NI64)((NI64)(T1_ + T2_) + T3_) + T4_) + T5_) + T6_) + T7_) + T8_);
1346 	T9_ = (NI64)0;
1347 	T9_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(milliseconds % IL64(1000)));
1348 	T10_ = (NI64)0;
1349 	T10_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(microseconds % IL64(1000000)));
1350 	nanoseconds_2 = ((NI) ((NI64)((NI64)(T9_ + T10_) + (NI64)(nanoseconds % IL64(1000000000)))));
1351 	result = normalize__pureZtimes_433(seconds_2, ((NI64) (nanoseconds_2)));
1352 	return result;
1353 }
N_NIMCALL(NI64,floorDiv__pureZtimes_258)1354 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y) {
1355 	NI64 result;
1356 	NI64 r;
1357 	result = (NI64)0;
1358 	result = (NI64)(x / y);
1359 	r = (NI64)(x % y);
1360 	{
1361 		NIM_BOOL T3_;
1362 		NIM_BOOL T4_;
1363 		NIM_BOOL T7_;
1364 		T3_ = (NIM_BOOL)0;
1365 		T4_ = (NIM_BOOL)0;
1366 		T4_ = (IL64(0) < r);
1367 		if (!(T4_)) goto LA5_;
1368 		T4_ = (y < IL64(0));
1369 		LA5_: ;
1370 		T3_ = T4_;
1371 		if (T3_) goto LA6_;
1372 		T7_ = (NIM_BOOL)0;
1373 		T7_ = (r < IL64(0));
1374 		if (!(T7_)) goto LA8_;
1375 		T7_ = (IL64(0) < y);
1376 		LA8_: ;
1377 		T3_ = T7_;
1378 		LA6_: ;
1379 		if (!T3_) goto LA9_;
1380 		result -= ((NI) 1);
1381 	}
1382 	LA9_: ;
1383 	return result;
1384 }
N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ,fromEpochDay__pureZtimes_187)1385 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday) {
1386 	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ result;
1387 	NI64 z;
1388 	NI64 era;
1389 	NI64 T1_;
1390 	NI64 doe;
1391 	NI64 yoe;
1392 	NI64 y;
1393 	NI64 doy;
1394 	NI64 mp;
1395 	NI64 d;
1396 	NI64 m;
1397 	NI T7_;
1398 	NI colontmp_;
1399 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw colontmp__2;
1400 	NI colontmp__3;
1401 {	nimZeroMem((void*)(&result), sizeof(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ));
1402 	z = epochday;
1403 	z += ((NI) 719468);
1404 	T1_ = (NI64)0;
1405 	{
1406 		if (!(IL64(0) <= z)) goto LA4_;
1407 		T1_ = z;
1408 	}
1409 	goto LA2_;
1410 	LA4_: ;
1411 	{
1412 		T1_ = (NI64)(z - IL64(146096));
1413 	}
1414 	LA2_: ;
1415 	era = (NI64)(T1_ / IL64(146097));
1416 	doe = (NI64)(z - (NI64)(era * IL64(146097)));
1417 	yoe = (NI64)((NI64)((NI64)((NI64)(doe - (NI64)(doe / IL64(1460))) + (NI64)(doe / IL64(36524))) - (NI64)(doe / IL64(146096))) / IL64(365));
1418 	y = (NI64)(yoe + (NI64)(era * IL64(400)));
1419 	doy = (NI64)(doe - (NI64)((NI64)((NI64)(IL64(365) * yoe) + (NI64)(yoe / IL64(4))) - (NI64)(yoe / IL64(100))));
1420 	mp = (NI64)((NI64)((NI64)(IL64(5) * doy) + IL64(2)) / IL64(153));
1421 	d = (NI64)((NI64)(doy - (NI64)((NI64)((NI64)(IL64(153) * mp) + IL64(2)) / IL64(5))) + IL64(1));
1422 	T7_ = (NI)0;
1423 	{
1424 		if (!(mp < IL64(10))) goto LA10_;
1425 		T7_ = ((NI) 3);
1426 	}
1427 	goto LA8_;
1428 	LA10_: ;
1429 	{
1430 		T7_ = ((NI) -9);
1431 	}
1432 	LA8_: ;
1433 	m = (NI64)(mp + ((NI64) (T7_)));
1434 	colontmp_ = ((NI) (d));
1435 	colontmp__2 = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) (m));
1436 	colontmp__3 = ((NI) ((NI64)(y + ((NI64) ((m <= IL64(2)))))));
1437 	result.Field0 = colontmp_;
1438 	result.Field1 = colontmp__2;
1439 	result.Field2 = colontmp__3;
1440 	goto BeforeRet_;
1441 	}BeforeRet_: ;
1442 	return result;
1443 }
N_INLINE(void,assertValidDate__pureZtimes_139)1444 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1445 }
N_NIMCALL(NI64,toEpochDay__pureZtimes_150)1446 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1447 	NI64 result;
1448 	tyTuple__47w2DboNEPf69aPgubZdd7Q T1_;
1449 	NI y;
1450 	NI m;
1451 	NI d;
1452 	NI era;
1453 	NI T6_;
1454 	NI yoe;
1455 	NI doy;
1456 	NI T12_;
1457 	NI doe;
1458 {	result = (NI64)0;
1459 	assertValidDate__pureZtimes_139(monthday, month, year);
1460 	T1_.Field0 = year;
1461 	T1_.Field1 = month;
1462 	T1_.Field2 = ((NI) (monthday));
1463 	y = T1_.Field0;
1464 	m = T1_.Field1;
1465 	d = T1_.Field2;
1466 	{
1467 		if (!(m <= ((NI) 2))) goto LA4_;
1468 		y -= ((NI) 1);
1469 	}
1470 	LA4_: ;
1471 	T6_ = (NI)0;
1472 	{
1473 		if (!(((NI) 0) <= y)) goto LA9_;
1474 		T6_ = y;
1475 	}
1476 	goto LA7_;
1477 	LA9_: ;
1478 	{
1479 		T6_ = (NI)(y - ((NI) 399));
1480 	}
1481 	LA7_: ;
1482 	era = (NI)(T6_ / ((NI) 400));
1483 	yoe = (NI)(y - (NI)(era * ((NI) 400)));
1484 	T12_ = (NI)0;
1485 	{
1486 		if (!(((NI) 2) < m)) goto LA15_;
1487 		T12_ = ((NI) -3);
1488 	}
1489 	goto LA13_;
1490 	LA15_: ;
1491 	{
1492 		T12_ = ((NI) 9);
1493 	}
1494 	LA13_: ;
1495 	doy = (NI)((NI)((NI)((NI)((NI)(((NI) 153) * (NI)(m + T12_)) + ((NI) 2)) / ((NI) 5)) + d) - ((NI) 1));
1496 	doe = (NI)((NI)((NI)((NI)(yoe * ((NI) 365)) + (NI)(yoe / ((NI) 4))) - (NI)(yoe / ((NI) 100))) + doy);
1497 	result = ((NI64) ((NI)((NI)((NI)(era * ((NI) 146097)) + doe) - ((NI) 719468))));
1498 	goto BeforeRet_;
1499 	}BeforeRet_: ;
1500 	return result;
1501 }
N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg,getDayOfWeek__pureZtimes_252)1502 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1503 	tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg result;
1504 	NI64 days;
1505 	NI64 T1_;
1506 	NI64 weeks;
1507 	NI64 wd;
1508 	result = (tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg)0;
1509 	assertValidDate__pureZtimes_139(monthday, month, year);
1510 	T1_ = (NI64)0;
1511 	T1_ = toEpochDay__pureZtimes_150(monthday, month, year);
1512 	days = (NI64)(T1_ - IL64(3));
1513 	weeks = floorDiv__pureZtimes_258(days, ((NI) 7));
1514 	wd = (NI64)(days - (NI64)(weeks * IL64(7)));
1515 	{
1516 		if (!(wd == IL64(0))) goto LA4_;
1517 		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) 6);
1518 	}
1519 	goto LA2_;
1520 	LA4_: ;
1521 	{
1522 		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) ((NI64)(wd - IL64(1))));
1523 	}
1524 	LA2_: ;
1525 	return result;
1526 }
N_NIMCALL(NIM_BOOL,isLeapYear__pureZtimes_132)1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year) {
1528 	NIM_BOOL result;
1529 	NIM_BOOL T1_;
1530 	NIM_BOOL T3_;
1531 	result = (NIM_BOOL)0;
1532 	T1_ = (NIM_BOOL)0;
1533 	T1_ = ((NI)(year % ((NI) 4)) == ((NI) 0));
1534 	if (!(T1_)) goto LA2_;
1535 	T3_ = (NIM_BOOL)0;
1536 	T3_ = !(((NI)(year % ((NI) 100)) == ((NI) 0)));
1537 	if (T3_) goto LA4_;
1538 	T3_ = ((NI)(year % ((NI) 400)) == ((NI) 0));
1539 	LA4_: ;
1540 	T1_ = T3_;
1541 	LA2_: ;
1542 	result = T1_;
1543 	return result;
1544 }
N_NIMCALL(NI,getDayOfYear__pureZtimes_227)1545 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1546 	NI result;
1547 	result = (NI)0;
1548 	assertValidDate__pureZtimes_139(monthday, month, year);
1549 	{
1550 		NIM_BOOL T3_;
1551 		T3_ = (NIM_BOOL)0;
1552 		T3_ = isLeapYear__pureZtimes_132(year);
1553 		if (!T3_) goto LA4_;
1554 		result = ((NI) ((NI)((NI)(daysUntilMonthLeap__pureZtimes_233[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1555 	}
1556 	goto LA1_;
1557 	LA4_: ;
1558 	{
1559 		result = ((NI) ((NI)((NI)(daysUntilMonth__pureZtimes_232[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1560 	}
1561 	LA1_: ;
1562 	return result;
1563 }
N_NIMCALL(void,initDateTime__pureZtimes_1210)1564 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1565 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime;
1566 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw T1_;
1567 	NI64 s;
1568 	NI64 epochday;
1569 	NI64 rem;
1570 	NI64 hour;
1571 	NI64 minute;
1572 	NI64 second;
1573 	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ T2_;
1574 	NI d;
1575 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw m;
1576 	NI y;
1577 	T1_ = initDuration__pureZtimes_366(IL64(0), IL64(0), IL64(0), ((NI64) ((*zt).utcOffset)), IL64(0), IL64(0), IL64(0), IL64(0));
1578 	adjTime = ntSubTime((*zt).time, T1_);
1579 	s = adjTime.seconds;
1580 	epochday = floorDiv__pureZtimes_258(s, ((NI) 86400));
1581 	rem = (NI64)(s - (NI64)(epochday * IL64(86400)));
1582 	hour = (NI64)(rem / IL64(3600));
1583 	rem = (NI64)(rem - (NI64)(hour * IL64(3600)));
1584 	minute = (NI64)(rem / IL64(60));
1585 	rem = (NI64)(rem - (NI64)(minute * IL64(60)));
1586 	second = rem;
1587 	T2_ = fromEpochDay__pureZtimes_187(epochday);
1588 	d = T2_.Field0;
1589 	m = T2_.Field1;
1590 	y = T2_.Field2;
1591 	(*Result).monthdayZero = 0;
1592 	(*Result).monthZero = 0;
1593 	(*Result).year = 0;
1594 	(*Result).weekday = 0;
1595 	(*Result).isDst = 0;
1596 	unsureAsgnRef((void**)&(*Result).timezone, NIM_NIL);
1597 	(*Result).utcOffset = 0;
1598 	(*Result).Sup.m_type = (&NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_);
1599 	(*Result).year = y;
1600 	(*Result).monthZero = ((NI) (m));
1601 	(*Result).monthdayZero = ((NI) (d));
1602 	(*Result).hour = ((NI) (hour));
1603 	(*Result).minute = ((NI) (minute));
1604 	(*Result).second = ((NI) (second));
1605 	(*Result).nanosecond = (*zt).time.nanosecond;
1606 	(*Result).weekday = getDayOfWeek__pureZtimes_252(d, m, y);
1607 	(*Result).yearday = getDayOfYear__pureZtimes_227(d, m, y);
1608 	(*Result).isDst = (*zt).isDst;
1609 	unsureAsgnRef((void**) (&(*Result).timezone), zone);
1610 	(*Result).utcOffset = (*zt).utcOffset;
1611 }
N_NIMCALL(void,zonedTimeFromTime__pureZtimes_1267)1612 N_LIB_PRIVATE N_NIMCALL(void, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result) {
1613 	(*zone).zonedTimeFromTimeImpl.ClE_0? (*zone).zonedTimeFromTimeImpl.ClP_0(time, Result, (*zone).zonedTimeFromTimeImpl.ClE_0):((TM__6NbDwwj5FY059b1gz2AsAZQ_56)((*zone).zonedTimeFromTimeImpl.ClP_0))(time, Result);
1614 }
N_NIMCALL(void,inZone__pureZtimes_1307)1615 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1616 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ T1_;
1617 	nimZeroMem((void*)(&T1_), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1618 	zonedTimeFromTime__pureZtimes_1267(zone, time, (&T1_));
1619 	initDateTime__pureZtimes_1210((&T1_), zone, Result);
1620 }
N_INLINE(NI,minuspercent___system_716)1621 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1622 	NI result;
1623 	result = (NI)0;
1624 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1625 	return result;
1626 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1627 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1628 	NIM_BOOL result;
1629 	result = (NIM_BOOL)0;
1630 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1631 	return result;
1632 }
N_INLINE(void,rtlAddZCT__system_5314)1633 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1634 	addZCT__system_5265((&gch__system_5218.zct), c);
1635 }
N_INLINE(void,decRef__system_5316)1636 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1637 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1638 	{
1639 		NIM_BOOL T3_;
1640 		T3_ = (NIM_BOOL)0;
1641 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1642 		if (!T3_) goto LA4_;
1643 		rtlAddZCT__system_5314(c);
1644 	}
1645 	LA4_: ;
1646 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)1647 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
1648 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1649 	NI T1_;
1650 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1651 	T1_ = (NI)0;
1652 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1653 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1654 	return result;
1655 }
N_INLINE(void,nimGCunrefNoCycle)1656 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1657 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1658 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1659 	T1_ = usrToCell__system_5271(p);
1660 	decRef__system_5316(T1_);
1661 }
N_INLINE(NI,pluspercent___system_696)1662 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1663 	NI result;
1664 	result = (NI)0;
1665 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1666 	return result;
1667 }
N_INLINE(void,incRef__system_5309)1668 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1669 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1670 }
N_INLINE(void,asgnRef)1671 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1672 	{
1673 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1674 		if (!!((src == NIM_NIL))) goto LA3_;
1675 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1676 		T5_ = usrToCell__system_5271(src);
1677 		incRef__system_5309(T5_);
1678 	}
1679 	LA3_: ;
1680 	{
1681 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1682 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1683 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1684 		T10_ = usrToCell__system_5271((*dest));
1685 		decRef__system_5316(T10_);
1686 	}
1687 	LA8_: ;
1688 	(*dest) = src;
1689 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,newTimezone__pureZtimes_1237)1690 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl) {
1691 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1692 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1693 	NimStringDesc* T2_;
1694 	result = NIM_NIL;
1695 	T1_ = NIM_NIL;
1696 	T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) newObj((&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_), sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw));
1697 	T2_ = NIM_NIL;
1698 	T2_ = (*T1_).name; (*T1_).name = copyStringRC1(name);
1699 	if (T2_) nimGCunrefNoCycle(T2_);
1700 	asgnRef((void**) (&(*T1_).zonedTimeFromTimeImpl.ClE_0), zonedTimeFromTimeImpl.ClE_0);
1701 	(*T1_).zonedTimeFromTimeImpl.ClP_0 = zonedTimeFromTimeImpl.ClP_0;
1702 	asgnRef((void**) (&(*T1_).zonedTimeFromAdjTimeImpl.ClE_0), zonedTimeFromAdjTimeImpl.ClE_0);
1703 	(*T1_).zonedTimeFromAdjTimeImpl.ClP_0 = zonedTimeFromAdjTimeImpl.ClP_0;
1704 	result = T1_;
1705 	return result;
1706 }
N_NIMCALL(void,utcTzInfo__pureZtimes_1430)1707 N_LIB_PRIVATE N_NIMCALL(void, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result) {
1708 	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1709 	(*Result).utcOffset = ((NI) 0);
1710 	(*Result).isDst = NIM_FALSE;
1711 	(*Result).time = time;
1712 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,utc__pureZtimes_1436)1713 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void) {
1714 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1715 	result = NIM_NIL;
1716 	{
1717 		tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1718 		tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1719 		if (!(utcInstance__pureZtimes_1433 == 0)) goto LA3_;
1720 		nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1721 		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_57) (utcTzInfo__pureZtimes_1430)); T5_.ClE_0 = NIM_NIL;
1722 		nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1723 		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_58) (utcTzInfo__pureZtimes_1430)); T6_.ClE_0 = NIM_NIL;
1724 		asgnRef((void**) (&utcInstance__pureZtimes_1433), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11), T5_, T6_));
1725 	}
1726 	LA3_: ;
1727 	result = utcInstance__pureZtimes_1433;
1728 	return result;
1729 }
N_NIMCALL(void,utc__pureZtimes_1461)1730 N_LIB_PRIVATE N_NIMCALL(void, utc__pureZtimes_1461)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1731 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1732 	T1_ = NIM_NIL;
1733 	T1_ = utc__pureZtimes_1436();
1734 	inZone__pureZtimes_1307(t, T1_, Result);
1735 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,fromUnix__pureZtimes_902)1736 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromUnix__pureZtimes_902)(NI64 unix_0) {
1737 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1738 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1739 	result = initTime__pureZtimes_895(unix_0, ((NI) 0));
1740 	return result;
1741 }
N_NIMCALL(NI64,toUnix__pureZtimes_914)1742 N_LIB_PRIVATE N_NIMCALL(NI64, toUnix__pureZtimes_914)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t) {
1743 	NI64 result;
1744 	result = (NI64)0;
1745 	result = t.seconds;
1746 	return result;
1747 }
N_INLINE(NF,toBiggestFloat__system_1705)1748 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i) {
1749 	NF result;
1750 	result = (NF)0;
1751 	result = ((NF) (i));
1752 	return result;
1753 }
N_NIMCALL(NF,epochTime__pureZtimes_3599)1754 N_LIB_PRIVATE N_NIMCALL(NF, epochTime__pureZtimes_3599)(void) {
1755 	NF result;
1756 	struct timespec ts;
1757 	int T1_;
1758 	NF T2_;
1759 	NF T3_;
1760 	result = (NF)0;
1761 	T1_ = (int)0;
1762 	T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
1763 	(void)(T1_);
1764 	T2_ = (NF)0;
1765 	T2_ = toBiggestFloat__system_1705(((NI64) (ts.tv_sec)));
1766 	T3_ = (NF)0;
1767 	T3_ = toBiggestFloat__system_1705(((NI64) (ts.tv_nsec)));
1768 	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
1769 	return result;
1770 }
N_NIMCALL(NIM_BOOL,ntLtTime)1771 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ntLtTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q b) {
1772 	NIM_BOOL result;
1773 	NIM_BOOL T1_;
1774 	NIM_BOOL T3_;
1775 	result = (NIM_BOOL)0;
1776 	T1_ = (NIM_BOOL)0;
1777 	T1_ = (a.seconds < b.seconds);
1778 	if (T1_) goto LA2_;
1779 	T3_ = (NIM_BOOL)0;
1780 	T3_ = (a.seconds == b.seconds);
1781 	if (!(T3_)) goto LA4_;
1782 	T3_ = (((NI) (a.nanosecond)) < ((NI) (b.nanosecond)));
1783 	LA4_: ;
1784 	T1_ = T3_;
1785 	LA2_: ;
1786 	result = T1_;
1787 	return result;
1788 }
N_NIMCALL(NI64,clamp__pureZtimes_1364)1789 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b) {
1790 	NI64 result;
1791 {	result = (NI64)0;
1792 	{
1793 		if (!(x < a)) goto LA3_;
1794 		result = a;
1795 		goto BeforeRet_;
1796 	}
1797 	LA3_: ;
1798 	{
1799 		if (!(b < x)) goto LA7_;
1800 		result = b;
1801 		goto BeforeRet_;
1802 	}
1803 	LA7_: ;
1804 	result = x;
1805 	goto BeforeRet_;
1806 	}BeforeRet_: ;
1807 	return result;
1808 }
N_NIMCALL(NI64,toAdjUnix__pureZtimes_1335)1809 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm) {
1810 	NI64 result;
1811 	NI64 epochDay;
1812 	result = (NI64)0;
1813 	epochDay = toEpochDay__pureZtimes_150(((NI) (tm.tm_mday)), ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((NI32)(tm.tm_mon + ((NI32) 1)))), (NI)(((NI) (tm.tm_year)) + ((NI) 1900)));
1814 	result = (NI64)(epochDay * IL64(86400));
1815 	result += ((NI) ((NI32)(tm.tm_hour * ((NI32) 3600))));
1816 	result += ((NI) ((NI32)(tm.tm_min * ((NI32) 60))));
1817 	result += ((NI) (tm.tm_sec));
1818 	return result;
1819 }
N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag,getLocalOffsetAndDst__pureZtimes_1351)1820 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0) {
1821 	tyTuple__pfrdooyxJsC6cg34ebuBag result;
1822 	long a;
1823 	NI64 T1_;
1824 	struct tm* tmPtr;
1825 	NI colontmp__3;
1826 	NIM_BOOL colontmp__4;
1827 {	nimZeroMem((void*)(&result), sizeof(tyTuple__pfrdooyxJsC6cg34ebuBag));
1828 	T1_ = (NI64)0;
1829 	T1_ = clamp__pureZtimes_1364(unix_0, (IL64(-9223372036854775807) - IL64(1)), IL64(9223372036854775807));
1830 	a = ((long) (T1_));
1831 	tmPtr = localtime((&a));
1832 	{
1833 		struct tm tm;
1834 		NI colontmp_;
1835 		NI64 T6_;
1836 		NIM_BOOL colontmp__2;
1837 		if (!!((tmPtr == 0))) goto LA4_;
1838 		tm = (*tmPtr);
1839 		T6_ = (NI64)0;
1840 		T6_ = toAdjUnix__pureZtimes_1335(tm);
1841 		colontmp_ = ((NI) ((NI64)(((NI64) (a)) - T6_)));
1842 		colontmp__2 = (((NI32) 0) < tm.tm_isdst);
1843 		result.Field0 = colontmp_;
1844 		result.Field1 = colontmp__2;
1845 		goto BeforeRet_;
1846 	}
1847 	LA4_: ;
1848 	colontmp__3 = ((NI) 0);
1849 	colontmp__4 = NIM_FALSE;
1850 	result.Field0 = colontmp__3;
1851 	result.Field1 = colontmp__4;
1852 	goto BeforeRet_;
1853 	}BeforeRet_: ;
1854 	return result;
1855 }
N_NIMCALL(void,localZonedTimeFromTime__pureZtimes_1403)1856 N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result) {
1857 	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1858 	NI offset;
1859 	NIM_BOOL dst;
1860 	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1861 	T1_ = getLocalOffsetAndDst__pureZtimes_1351(time.seconds);
1862 	offset = T1_.Field0;
1863 	dst = T1_.Field1;
1864 	(*Result).time = time;
1865 	(*Result).utcOffset = offset;
1866 	(*Result).isDst = dst;
1867 }
N_NIMCALL(void,localZonedTimeFromAdjTime__pureZtimes_1408)1868 N_LIB_PRIVATE N_NIMCALL(void, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* Result) {
1869 	NI64 adjUnix;
1870 	NI64 past;
1871 	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1872 	NI pastOffset;
1873 	NIM_BOOL _;
1874 	NI64 future;
1875 	tyTuple__pfrdooyxJsC6cg34ebuBag T2_;
1876 	NI futureOffset;
1877 	NIM_BOOL __2;
1878 	NI utcOffset;
1879 	NI64 utcUnix;
1880 	tyTuple__pfrdooyxJsC6cg34ebuBag T13_;
1881 	NI finalOffset;
1882 	NIM_BOOL dst;
1883 	nimZeroMem((void*)Result, sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1884 	adjUnix = adjTime.seconds;
1885 	past = (NI64)(adjUnix - IL64(86400));
1886 	T1_ = getLocalOffsetAndDst__pureZtimes_1351(past);
1887 	pastOffset = T1_.Field0;
1888 	_ = T1_.Field1;
1889 	future = (NI64)(adjUnix + IL64(86400));
1890 	T2_ = getLocalOffsetAndDst__pureZtimes_1351(future);
1891 	futureOffset = T2_.Field0;
1892 	__2 = T2_.Field1;
1893 	utcOffset = (NI)0;
1894 	{
1895 		if (!(pastOffset == futureOffset)) goto LA5_;
1896 		utcOffset = pastOffset;
1897 	}
1898 	goto LA3_;
1899 	LA5_: ;
1900 	{
1901 		tyTuple__pfrdooyxJsC6cg34ebuBag T12_;
1902 		{
1903 			if (!(futureOffset < pastOffset)) goto LA10_;
1904 			adjUnix -= ((NI) 3600);
1905 		}
1906 		LA10_: ;
1907 		adjUnix += ((NI64) (pastOffset));
1908 		T12_ = getLocalOffsetAndDst__pureZtimes_1351(adjUnix);
1909 		utcOffset = T12_.Field0;
1910 	}
1911 	LA3_: ;
1912 	utcUnix = (NI64)(adjTime.seconds + ((NI64) (utcOffset)));
1913 	T13_ = getLocalOffsetAndDst__pureZtimes_1351(utcUnix);
1914 	finalOffset = T13_.Field0;
1915 	dst = T13_.Field1;
1916 	(*Result).time = initTime__pureZtimes_895(utcUnix, adjTime.nanosecond);
1917 	(*Result).utcOffset = finalOffset;
1918 	(*Result).isDst = dst;
1919 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,local__pureZtimes_1450)1920 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void) {
1921 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1922 	result = NIM_NIL;
1923 	{
1924 		tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1925 		tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1926 		if (!(localInstance__pureZtimes_1434 == 0)) goto LA3_;
1927 		nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1928 		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_60) (localZonedTimeFromTime__pureZtimes_1403)); T5_.ClE_0 = NIM_NIL;
1929 		nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1930 		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_61) (localZonedTimeFromAdjTime__pureZtimes_1408)); T6_.ClE_0 = NIM_NIL;
1931 		asgnRef((void**) (&localInstance__pureZtimes_1434), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_59), T5_, T6_));
1932 	}
1933 	LA3_: ;
1934 	result = localInstance__pureZtimes_1434;
1935 	return result;
1936 }
N_NIMCALL(void,local__pureZtimes_1464)1937 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1938 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1939 	T1_ = NIM_NIL;
1940 	T1_ = local__pureZtimes_1450();
1941 	inZone__pureZtimes_1307(t, T1_, Result);
1942 }
N_NIMCALL(void,now__pureZtimes_1467)1943 N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_1467)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1944 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q T1_;
1945 	T1_ = getTime__pureZtimes_961();
1946 	local__pureZtimes_1464(T1_, Result);
1947 }
N_NIMCALL(void,stdlib_timesInit000)1948 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void) {
1949 {
1950 	TFrame FR_; FR_.len = 0;
1951 
1952 	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_4);
1953 
1954 
1955 	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_5);
1956 
1957 }/* preInitProc end */
1958 {
1959 }
1960 }
1961 
N_NIMCALL(void,stdlib_timesDatInit000)1962 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void) {
1963 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[3];
1964 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[2];
1965 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[12];
1966 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[7];
1967 NI TM__6NbDwwj5FY059b1gz2AsAZQ_55;
1968 static char* NIM_CONST TM__6NbDwwj5FY059b1gz2AsAZQ_54[7] = {
1969 "Monday",
1970 "Tuesday",
1971 "Wednesday",
1972 "Thursday",
1973 "Friday",
1974 "Saturday",
1975 "Sunday"};
1976 static TNimNode TM__6NbDwwj5FY059b1gz2AsAZQ_0[29];
1977 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1978 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1979 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.kind = 18;
1980 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.base = 0;
1981 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[1];
1982 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1983 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1984 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.kind = 18;
1985 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.base = 0;
1986 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[3];
1987 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.size = sizeof(void*);
1988 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.align = NIM_ALIGNOF(void*);
1989 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.kind = 26;
1990 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.base = 0;
1991 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.flags = 3;
1992 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].kind = 1;
1993 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
1994 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
1995 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].name = "Field0";
1996 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[4];
1997 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
1998 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
1999 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.kind = 17;
2000 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2001 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.flags = 1;
2002 TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].len = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].kind = 2;
2003 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[5];
2004 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2005 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2006 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.kind = 22;
2007 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.base = (&NTIobject__diB2NTuAIWY0FO9c5IUJRGg_);
2008 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.marker = Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA;
2009 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].kind = 1;
2010 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
2011 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
2012 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].name = "Field1";
2013 TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].len = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0];
2014 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[2];
2015 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].kind = 1;
2016 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromTimeImpl);
2017 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2018 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].name = "zonedTimeFromTimeImpl";
2019 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[6];
2020 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].kind = 1;
2021 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromAdjTimeImpl);
2022 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2023 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].name = "zonedTimeFromAdjTimeImpl";
2024 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[7];
2025 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].kind = 1;
2026 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, name);
2027 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2028 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].name = "name";
2029 TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].len = 3; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0];
2030 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[0];
2031 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2032 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2033 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.kind = 22;
2034 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.base = (&NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_);
2035 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.marker = Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA;
2036 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.size = sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2037 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.align = NIM_ALIGNOF(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2038 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.kind = 17;
2039 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2040 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[9];
2041 NTIint__PpavWgyrx5odXyR89aNlcWA_.size = sizeof(NI);
2042 NTIint__PpavWgyrx5odXyR89aNlcWA_.align = NIM_ALIGNOF(NI);
2043 NTIint__PpavWgyrx5odXyR89aNlcWA_.kind = 31;
2044 NTIint__PpavWgyrx5odXyR89aNlcWA_.base = 0;
2045 NTIint__PpavWgyrx5odXyR89aNlcWA_.flags = 3;
2046 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].kind = 1;
2047 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, nanosecond);
2048 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].typ = (&NTIint__PpavWgyrx5odXyR89aNlcWA_);
2049 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].name = "nanosecond";
2050 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[10];
2051 NTIint__rUuqTvFmkC6KKRqDAazGEA_.size = sizeof(NI);
2052 NTIint__rUuqTvFmkC6KKRqDAazGEA_.align = NIM_ALIGNOF(NI);
2053 NTIint__rUuqTvFmkC6KKRqDAazGEA_.kind = 31;
2054 NTIint__rUuqTvFmkC6KKRqDAazGEA_.base = 0;
2055 NTIint__rUuqTvFmkC6KKRqDAazGEA_.flags = 3;
2056 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].kind = 1;
2057 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, second);
2058 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].typ = (&NTIint__rUuqTvFmkC6KKRqDAazGEA_);
2059 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].name = "second";
2060 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[11];
2061 NTIint__LBgXxpmYOpS8xroRZgNvbg_.size = sizeof(NI);
2062 NTIint__LBgXxpmYOpS8xroRZgNvbg_.align = NIM_ALIGNOF(NI);
2063 NTIint__LBgXxpmYOpS8xroRZgNvbg_.kind = 31;
2064 NTIint__LBgXxpmYOpS8xroRZgNvbg_.base = 0;
2065 NTIint__LBgXxpmYOpS8xroRZgNvbg_.flags = 3;
2066 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].kind = 1;
2067 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, minute);
2068 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].typ = (&NTIint__LBgXxpmYOpS8xroRZgNvbg_);
2069 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].name = "minute";
2070 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[3] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[12];
2071 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.size = sizeof(NI);
2072 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.align = NIM_ALIGNOF(NI);
2073 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.kind = 31;
2074 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.base = 0;
2075 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.flags = 3;
2076 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].kind = 1;
2077 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, hour);
2078 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].typ = (&NTIint__Gz6vwaK0PZQIDIwfuvKsOg_);
2079 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].name = "hour";
2080 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[4] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[13];
2081 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].kind = 1;
2082 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthdayZero);
2083 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2084 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].name = "monthdayZero";
2085 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[5] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[14];
2086 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].kind = 1;
2087 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthZero);
2088 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2089 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].name = "monthZero";
2090 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[6] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[15];
2091 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].kind = 1;
2092 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, year);
2093 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2094 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].name = "year";
2095 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[7] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[16];
2096 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.size = sizeof(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2097 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.align = NIM_ALIGNOF(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2098 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.kind = 14;
2099 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.base = 0;
2100 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.flags = 3;
2101 for (TM__6NbDwwj5FY059b1gz2AsAZQ_55 = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_55 < 7; TM__6NbDwwj5FY059b1gz2AsAZQ_55++) {
2102 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].kind = 1;
2103 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].offset = TM__6NbDwwj5FY059b1gz2AsAZQ_55;
2104 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].name = TM__6NbDwwj5FY059b1gz2AsAZQ_54[TM__6NbDwwj5FY059b1gz2AsAZQ_55];
2105 TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[TM__6NbDwwj5FY059b1gz2AsAZQ_55] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17];
2106 }
2107 TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].len = 7; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[0];
2108 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[24];
2109 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].kind = 1;
2110 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, weekday);
2111 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].typ = (&NTIweekday__SVfemTA9aCOyua2TJYa6yBg_);
2112 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].name = "weekday";
2113 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[8] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[25];
2114 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.size = sizeof(NI);
2115 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.align = NIM_ALIGNOF(NI);
2116 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.kind = 31;
2117 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.base = 0;
2118 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.flags = 3;
2119 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].kind = 1;
2120 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, yearday);
2121 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].typ = (&NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_);
2122 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].name = "yearday";
2123 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[9] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[26];
2124 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].kind = 1;
2125 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, isDst);
2126 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2127 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].name = "isDst";
2128 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[10] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[27];
2129 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].kind = 1;
2130 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, timezone);
2131 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].typ = (&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_);
2132 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].name = "timezone";
2133 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[11] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[28];
2134 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].kind = 1;
2135 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, utcOffset);
2136 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2137 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].name = "utcOffset";
2138 TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].len = 12; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0];
2139 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[8];
2140 }
2141 
2142