]> git.madduck.net Git - etc/vim.git/blob - tests/data/miscellaneous/expression_skip_magic_trailing_comma.diff

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:

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