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