]> git.madduck.net Git - etc/vim.git/blob - tests/data/expression.py

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Add link to the pyproject.toml for setting up pre-commit hook (#885)
[etc/vim.git] / tests / data / expression.py
1 ...
2 'some_string'
3 b'\\xa3'
4 Name
5 None
6 True
7 False
8 1
9 1.0
10 1j
11 True or False
12 True or False or None
13 True and False
14 True and False and None
15 (Name1 and Name2) or Name3
16 Name1 and Name2 or Name3
17 Name1 or (Name2 and Name3)
18 Name1 or Name2 and Name3
19 (Name1 and Name2) or (Name3 and Name4)
20 Name1 and Name2 or Name3 and Name4
21 Name1 or (Name2 and Name3) or Name4
22 Name1 or Name2 and Name3 or Name4
23 v1 << 2
24 1 >> v2
25 1 % finished
26 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
27 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
28 not great
29 ~great
30 +value
31 -1
32 ~int and not v1 ^ 123 + v2 | True
33 (~int) and (not ((v1 ^ (123 + v2)) | True))
34 flags & ~ select.EPOLLIN and waiters.write_task is not None
35 lambda arg: None
36 lambda a=True: a
37 lambda a, b, c=True: a
38 lambda a, b, c=True, *, d=(1 << v2), e='str': a
39 lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
40 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
41 foo = (lambda port_id, ignore_missing: {"port1": port1_resource, "port2": port2_resource}[port_id])
42 1 if True else 2
43 str or None if True else str or bytes or None
44 (str or None) if True else (str or bytes or None)
45 str or None if (1 if True else 2) else str or bytes or None
46 (str or None) if (1 if True else 2) else (str or bytes or None)
47 ((super_long_variable_name or None) if (1 if super_long_test_name else 2) else (str or bytes or None))
48 {'2.7': dead, '3.7': (long_live or die_hard)}
49 {'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
50 {**a, **b, **c}
51 {'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
52 ({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
53 ()
54 (1,)
55 (1, 2)
56 (1, 2, 3)
57 []
58 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
59 [1, 2, 3,]
60 [*a]
61 [*range(10)]
62 [*a, 4, 5,]
63 [4, *a, 5,]
64 [this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
65 {i for i in (1, 2, 3)}
66 {(i ** 2) for i in (1, 2, 3)}
67 {(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
68 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
69 [i for i in (1, 2, 3)]
70 [(i ** 2) for i in (1, 2, 3)]
71 [(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
72 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
73 {i: 0 for i in (1, 2, 3)}
74 {i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
75 {a: b * 2 for a, b in dictionary.items()}
76 {a: b * -2 for a, b in dictionary.items()}
77 {k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
78 Python3 > Python2 > COBOL
79 Life is Life
80 call()
81 call(arg)
82 call(kwarg='hey')
83 call(arg, kwarg='hey')
84 call(arg, another, kwarg='hey', **kwargs)
85 call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
86 call(*gidgets[:2])
87 call(a, *gidgets[:2])
88 call(**self.screen_kwargs)
89 call(b, **self.screen_kwargs)
90 lukasz.langa.pl
91 call.me(maybe)
92 1 .real
93 1.0 .real
94 ....__class__
95 list[str]
96 dict[str, int]
97 tuple[str, ...]
98 tuple[str, int, float, dict[str, int],]
99 very_long_variable_name_filters: t.List[
100     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
101 ]
102 xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
103     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
104 )
105 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
106     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
107 )
108 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
109     ..., List[SomeClass]
110 ] = classmethod(sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__))  # type: ignore
111 slice[0]
112 slice[0:1]
113 slice[0:1:2]
114 slice[:]
115 slice[:-1]
116 slice[1:]
117 slice[::-1]
118 slice[d :: d + 1]
119 slice[:c, c - 1]
120 numpy[:, 0:1]
121 numpy[:, :-1]
122 numpy[0, :]
123 numpy[:, i]
124 numpy[0, :2]
125 numpy[:N, 0]
126 numpy[:2, :4]
127 numpy[2:4, 1:5]
128 numpy[4:, 2:]
129 numpy[:, (0, 1, 2, 5)]
130 numpy[0, [0]]
131 numpy[:, [i]]
132 numpy[1 : c + 1, c]
133 numpy[-(c + 1) :, d]
134 numpy[:, l[-2]]
135 numpy[:, ::-1]
136 numpy[np.newaxis, :]
137 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
138 {'2.7': dead, '3.7': long_live or die_hard}
139 {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
140 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
141 (SomeName)
142 SomeName
143 (Good, Bad, Ugly)
144 (i for i in (1, 2, 3))
145 ((i ** 2) for i in (1, 2, 3))
146 ((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
147 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
148 (*starred)
149 {"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
150 a = (1,)
151 b = 1,
152 c = 1
153 d = (1,) + a + (2,)
154 e = (1,).count(1)
155 f = 1, *range(10)
156 g = 1, *"ten"
157 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
158 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
159 result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
160 Ø = set()
161 authors.łukasz.say_thanks()
162 mapping = {
163     A: 0.25 * (10.0 / 12),
164     B: 0.1 * (10.0 / 12),
165     C: 0.1 * (10.0 / 12),
166     D: 0.1 * (10.0 / 12),
167 }
168
169 def gen():
170     yield from outside_of_generator
171     a = (yield)
172     b = ((yield))
173     c = (((yield)))
174
175 async def f():
176     await some.complicated[0].call(with_args=(True or (1 is not 1)))
177 print(* [] or [1])
178 print(**{1: 3} if False else {x: x for x in range(3)})
179 print(* lambda x: x)
180 assert(not Test),("Short message")
181 assert this is ComplexTest and not requirements.fit_in_a_single_line(force=False), "Short message"
182 assert(((parens is TooMany)))
183 for x, in (1,), (2,), (3,): ...
184 for y in (): ...
185 for z in (i for i in (1, 2, 3)): ...
186 for i in (call()): ...
187 for j in (1 + (2 + 3)): ...
188 while(this and that): ...
189 for addr_family, addr_type, addr_proto, addr_canonname, addr_sockaddr in socket.getaddrinfo('google.com', 'http'):
190     pass
191 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
192 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
193 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
194 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
195 if (
196     threading.current_thread() != threading.main_thread() and
197     threading.current_thread() != threading.main_thread() or
198     signal.getsignal(signal.SIGINT) != signal.default_int_handler
199 ):
200     return True
201 if (
202     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
203     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
204 ):
205     return True
206 if (
207     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
208     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
209 ):
210     return True
211 if (
212     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
213     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
214 ):
215     return True
216 if (
217     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
218     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
219 ):
220     return True
221 if (
222     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
223     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
224 ):
225     return True
226 if (
227     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
228     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
229 ):
230     return True
231 if (
232     ~ aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
233 ):
234     return True
235 if (
236     ~ aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
237 ):
238     return True
239 if (
240     ~ aaaaaaaaaaaaaaaa.a + aaaaaaaaaaaaaaaa.b - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h ^ aaaaaaaaaaaaaaaa.i << aaaaaaaaaaaaaaaa.k >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
241 ):
242     return True
243 last_call()
244 # standalone comment at ENDMARKER
245
246
247 # output
248
249
250 ...
251 "some_string"
252 b"\\xa3"
253 Name
254 None
255 True
256 False
257 1
258 1.0
259 1j
260 True or False
261 True or False or None
262 True and False
263 True and False and None
264 (Name1 and Name2) or Name3
265 Name1 and Name2 or Name3
266 Name1 or (Name2 and Name3)
267 Name1 or Name2 and Name3
268 (Name1 and Name2) or (Name3 and Name4)
269 Name1 and Name2 or Name3 and Name4
270 Name1 or (Name2 and Name3) or Name4
271 Name1 or Name2 and Name3 or Name4
272 v1 << 2
273 1 >> v2
274 1 % finished
275 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
276 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
277 not great
278 ~great
279 +value
280 -1
281 ~int and not v1 ^ 123 + v2 | True
282 (~int) and (not ((v1 ^ (123 + v2)) | True))
283 flags & ~select.EPOLLIN and waiters.write_task is not None
284 lambda arg: None
285 lambda a=True: a
286 lambda a, b, c=True: a
287 lambda a, b, c=True, *, d=(1 << v2), e="str": a
288 lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
289 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
290 foo = lambda port_id, ignore_missing: {
291     "port1": port1_resource,
292     "port2": port2_resource,
293 }[port_id]
294 1 if True else 2
295 str or None if True else str or bytes or None
296 (str or None) if True else (str or bytes or None)
297 str or None if (1 if True else 2) else str or bytes or None
298 (str or None) if (1 if True else 2) else (str or bytes or None)
299 (
300     (super_long_variable_name or None)
301     if (1 if super_long_test_name else 2)
302     else (str or bytes or None)
303 )
304 {"2.7": dead, "3.7": (long_live or die_hard)}
305 {"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
306 {**a, **b, **c}
307 {"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
308 ({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
309 ()
310 (1,)
311 (1, 2)
312 (1, 2, 3)
313 []
314 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
315 [1, 2, 3]
316 [*a]
317 [*range(10)]
318 [*a, 4, 5]
319 [4, *a, 5]
320 [
321     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
322     element,
323     another,
324     *more,
325 ]
326 {i for i in (1, 2, 3)}
327 {(i ** 2) for i in (1, 2, 3)}
328 {(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
329 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
330 [i for i in (1, 2, 3)]
331 [(i ** 2) for i in (1, 2, 3)]
332 [(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
333 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
334 {i: 0 for i in (1, 2, 3)}
335 {i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
336 {a: b * 2 for a, b in dictionary.items()}
337 {a: b * -2 for a, b in dictionary.items()}
338 {
339     k: v
340     for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
341 }
342 Python3 > Python2 > COBOL
343 Life is Life
344 call()
345 call(arg)
346 call(kwarg="hey")
347 call(arg, kwarg="hey")
348 call(arg, another, kwarg="hey", **kwargs)
349 call(
350     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
351     arg,
352     another,
353     kwarg="hey",
354     **kwargs
355 )  # note: no trailing comma pre-3.6
356 call(*gidgets[:2])
357 call(a, *gidgets[:2])
358 call(**self.screen_kwargs)
359 call(b, **self.screen_kwargs)
360 lukasz.langa.pl
361 call.me(maybe)
362 1 .real
363 1.0 .real
364 ....__class__
365 list[str]
366 dict[str, int]
367 tuple[str, ...]
368 tuple[str, int, float, dict[str, int]]
369 very_long_variable_name_filters: t.List[
370     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
371 ]
372 xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
373     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
374 )
375 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
376     ..., List[SomeClass]
377 ] = classmethod(  # type: ignore
378     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
379 )
380 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(
381     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
382 )  # type: ignore
383 slice[0]
384 slice[0:1]
385 slice[0:1:2]
386 slice[:]
387 slice[:-1]
388 slice[1:]
389 slice[::-1]
390 slice[d :: d + 1]
391 slice[:c, c - 1]
392 numpy[:, 0:1]
393 numpy[:, :-1]
394 numpy[0, :]
395 numpy[:, i]
396 numpy[0, :2]
397 numpy[:N, 0]
398 numpy[:2, :4]
399 numpy[2:4, 1:5]
400 numpy[4:, 2:]
401 numpy[:, (0, 1, 2, 5)]
402 numpy[0, [0]]
403 numpy[:, [i]]
404 numpy[1 : c + 1, c]
405 numpy[-(c + 1) :, d]
406 numpy[:, l[-2]]
407 numpy[:, ::-1]
408 numpy[np.newaxis, :]
409 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
410 {"2.7": dead, "3.7": long_live or die_hard}
411 {"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
412 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
413 SomeName
414 SomeName
415 (Good, Bad, Ugly)
416 (i for i in (1, 2, 3))
417 ((i ** 2) for i in (1, 2, 3))
418 ((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
419 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
420 (*starred)
421 {
422     "id": "1",
423     "type": "type",
424     "started_at": now(),
425     "ended_at": now() + timedelta(days=10),
426     "priority": 1,
427     "import_session_id": 1,
428     **kwargs,
429 }
430 a = (1,)
431 b = (1,)
432 c = 1
433 d = (1,) + a + (2,)
434 e = (1,).count(1)
435 f = 1, *range(10)
436 g = 1, *"ten"
437 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
438     vars_to_remove
439 )
440 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
441     vars_to_remove
442 )
443 result = (
444     session.query(models.Customer.id)
445     .filter(
446         models.Customer.account_id == account_id, models.Customer.email == email_address
447     )
448     .order_by(models.Customer.id.asc())
449     .all()
450 )
451 Ø = set()
452 authors.łukasz.say_thanks()
453 mapping = {
454     A: 0.25 * (10.0 / 12),
455     B: 0.1 * (10.0 / 12),
456     C: 0.1 * (10.0 / 12),
457     D: 0.1 * (10.0 / 12),
458 }
459
460
461 def gen():
462     yield from outside_of_generator
463     a = yield
464     b = yield
465     c = yield
466
467
468 async def f():
469     await some.complicated[0].call(with_args=(True or (1 is not 1)))
470
471
472 print(*[] or [1])
473 print(**{1: 3} if False else {x: x for x in range(3)})
474 print(*lambda x: x)
475 assert not Test, "Short message"
476 assert this is ComplexTest and not requirements.fit_in_a_single_line(
477     force=False
478 ), "Short message"
479 assert parens is TooMany
480 for (x,) in (1,), (2,), (3,):
481     ...
482 for y in ():
483     ...
484 for z in (i for i in (1, 2, 3)):
485     ...
486 for i in call():
487     ...
488 for j in 1 + (2 + 3):
489     ...
490 while this and that:
491     ...
492 for (
493     addr_family,
494     addr_type,
495     addr_proto,
496     addr_canonname,
497     addr_sockaddr,
498 ) in socket.getaddrinfo("google.com", "http"):
499     pass
500 a = (
501     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
502     in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
503 )
504 a = (
505     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
506     not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
507 )
508 a = (
509     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
510     is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
511 )
512 a = (
513     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
514     is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
515 )
516 if (
517     threading.current_thread() != threading.main_thread()
518     and threading.current_thread() != threading.main_thread()
519     or signal.getsignal(signal.SIGINT) != signal.default_int_handler
520 ):
521     return True
522 if (
523     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
524     | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
525 ):
526     return True
527 if (
528     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
529     & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
530 ):
531     return True
532 if (
533     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
534     + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
535 ):
536     return True
537 if (
538     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
539     - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
540 ):
541     return True
542 if (
543     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
544     * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
545 ):
546     return True
547 if (
548     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
549     / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
550 ):
551     return True
552 if (
553     ~aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e
554     | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
555 ):
556     return True
557 if (
558     ~aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e
559     | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h
560     ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
561 ):
562     return True
563 if (
564     ~aaaaaaaaaaaaaaaa.a
565     + aaaaaaaaaaaaaaaa.b
566     - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e
567     | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h
568     ^ aaaaaaaaaaaaaaaa.i
569     << aaaaaaaaaaaaaaaa.k
570     >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
571 ):
572     return True
573 last_call()
574 # standalone comment at ENDMARKER