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