Calls the specified function object with the given object downcasted to its most derived type.
59 {
60 switch (constructor) {
61 case accentColor::ID:
62 if constexpr (AllowTag) {
63 downcast_call_tag<accentColor> type_tag;
64 func(type_tag);
65 } else {
66 func(static_cast<accentColor &>(*obj));
67 }
68 return true;
69 case acceptedGiftTypes::ID:
70 if constexpr (AllowTag) {
71 downcast_call_tag<acceptedGiftTypes> type_tag;
72 func(type_tag);
73 } else {
74 func(static_cast<acceptedGiftTypes &>(*obj));
75 }
76 return true;
77 case accountInfo::ID:
78 if constexpr (AllowTag) {
79 downcast_call_tag<accountInfo> type_tag;
80 func(type_tag);
81 } else {
82 func(static_cast<accountInfo &>(*obj));
83 }
84 return true;
85 case accountTtl::ID:
86 if constexpr (AllowTag) {
87 downcast_call_tag<accountTtl> type_tag;
88 func(type_tag);
89 } else {
90 func(static_cast<accountTtl &>(*obj));
91 }
92 return true;
93 case activeStoryStateLive::ID:
94 if constexpr (AllowTag) {
95 downcast_call_tag<activeStoryStateLive> type_tag;
96 func(type_tag);
97 } else {
98 func(static_cast<activeStoryStateLive &>(*obj));
99 }
100 return true;
101 case activeStoryStateUnread::ID:
102 if constexpr (AllowTag) {
103 downcast_call_tag<activeStoryStateUnread> type_tag;
104 func(type_tag);
105 } else {
106 func(static_cast<activeStoryStateUnread &>(*obj));
107 }
108 return true;
109 case activeStoryStateRead::ID:
110 if constexpr (AllowTag) {
111 downcast_call_tag<activeStoryStateRead> type_tag;
112 func(type_tag);
113 } else {
114 func(static_cast<activeStoryStateRead &>(*obj));
115 }
116 return true;
117 case addedProxies::ID:
118 if constexpr (AllowTag) {
119 downcast_call_tag<addedProxies> type_tag;
120 func(type_tag);
121 } else {
122 func(static_cast<addedProxies &>(*obj));
123 }
124 return true;
125 case addedProxy::ID:
126 if constexpr (AllowTag) {
127 downcast_call_tag<addedProxy> type_tag;
128 func(type_tag);
129 } else {
130 func(static_cast<addedProxy &>(*obj));
131 }
132 return true;
133 case addedReaction::ID:
134 if constexpr (AllowTag) {
135 downcast_call_tag<addedReaction> type_tag;
136 func(type_tag);
137 } else {
138 func(static_cast<addedReaction &>(*obj));
139 }
140 return true;
141 case addedReactions::ID:
142 if constexpr (AllowTag) {
143 downcast_call_tag<addedReactions> type_tag;
144 func(type_tag);
145 } else {
146 func(static_cast<addedReactions &>(*obj));
147 }
148 return true;
149 case address::ID:
150 if constexpr (AllowTag) {
151 downcast_call_tag<address> type_tag;
152 func(type_tag);
153 } else {
154 func(static_cast<address &>(*obj));
155 }
156 return true;
157 case advertisementSponsor::ID:
158 if constexpr (AllowTag) {
159 downcast_call_tag<advertisementSponsor> type_tag;
160 func(type_tag);
161 } else {
162 func(static_cast<advertisementSponsor &>(*obj));
163 }
164 return true;
165 case affiliateInfo::ID:
166 if constexpr (AllowTag) {
167 downcast_call_tag<affiliateInfo> type_tag;
168 func(type_tag);
169 } else {
170 func(static_cast<affiliateInfo &>(*obj));
171 }
172 return true;
173 case affiliateProgramInfo::ID:
174 if constexpr (AllowTag) {
175 downcast_call_tag<affiliateProgramInfo> type_tag;
176 func(type_tag);
177 } else {
178 func(static_cast<affiliateProgramInfo &>(*obj));
179 }
180 return true;
181 case affiliateProgramParameters::ID:
182 if constexpr (AllowTag) {
183 downcast_call_tag<affiliateProgramParameters> type_tag;
184 func(type_tag);
185 } else {
186 func(static_cast<affiliateProgramParameters &>(*obj));
187 }
188 return true;
189 case affiliateProgramSortOrderProfitability::ID:
190 if constexpr (AllowTag) {
191 downcast_call_tag<affiliateProgramSortOrderProfitability> type_tag;
192 func(type_tag);
193 } else {
194 func(static_cast<affiliateProgramSortOrderProfitability &>(*obj));
195 }
196 return true;
197 case affiliateProgramSortOrderCreationDate::ID:
198 if constexpr (AllowTag) {
199 downcast_call_tag<affiliateProgramSortOrderCreationDate> type_tag;
200 func(type_tag);
201 } else {
202 func(static_cast<affiliateProgramSortOrderCreationDate &>(*obj));
203 }
204 return true;
205 case affiliateProgramSortOrderRevenue::ID:
206 if constexpr (AllowTag) {
207 downcast_call_tag<affiliateProgramSortOrderRevenue> type_tag;
208 func(type_tag);
209 } else {
210 func(static_cast<affiliateProgramSortOrderRevenue &>(*obj));
211 }
212 return true;
213 case affiliateTypeCurrentUser::ID:
214 if constexpr (AllowTag) {
215 downcast_call_tag<affiliateTypeCurrentUser> type_tag;
216 func(type_tag);
217 } else {
218 func(static_cast<affiliateTypeCurrentUser &>(*obj));
219 }
220 return true;
221 case affiliateTypeBot::ID:
222 if constexpr (AllowTag) {
223 downcast_call_tag<affiliateTypeBot> type_tag;
224 func(type_tag);
225 } else {
226 func(static_cast<affiliateTypeBot &>(*obj));
227 }
228 return true;
229 case affiliateTypeChannel::ID:
230 if constexpr (AllowTag) {
231 downcast_call_tag<affiliateTypeChannel> type_tag;
232 func(type_tag);
233 } else {
234 func(static_cast<affiliateTypeChannel &>(*obj));
235 }
236 return true;
237 case ageVerificationParameters::ID:
238 if constexpr (AllowTag) {
239 downcast_call_tag<ageVerificationParameters> type_tag;
240 func(type_tag);
241 } else {
242 func(static_cast<ageVerificationParameters &>(*obj));
243 }
244 return true;
245 case alternativeVideo::ID:
246 if constexpr (AllowTag) {
247 downcast_call_tag<alternativeVideo> type_tag;
248 func(type_tag);
249 } else {
250 func(static_cast<alternativeVideo &>(*obj));
251 }
252 return true;
253 case animatedChatPhoto::ID:
254 if constexpr (AllowTag) {
255 downcast_call_tag<animatedChatPhoto> type_tag;
256 func(type_tag);
257 } else {
258 func(static_cast<animatedChatPhoto &>(*obj));
259 }
260 return true;
261 case animatedEmoji::ID:
262 if constexpr (AllowTag) {
263 downcast_call_tag<animatedEmoji> type_tag;
264 func(type_tag);
265 } else {
266 func(static_cast<animatedEmoji &>(*obj));
267 }
268 return true;
269 case animation::ID:
270 if constexpr (AllowTag) {
271 downcast_call_tag<animation> type_tag;
272 func(type_tag);
273 } else {
274 func(static_cast<animation &>(*obj));
275 }
276 return true;
277 case animations::ID:
278 if constexpr (AllowTag) {
279 downcast_call_tag<animations> type_tag;
280 func(type_tag);
281 } else {
282 func(static_cast<animations &>(*obj));
283 }
284 return true;
285 case archiveChatListSettings::ID:
286 if constexpr (AllowTag) {
287 downcast_call_tag<archiveChatListSettings> type_tag;
288 func(type_tag);
289 } else {
290 func(static_cast<archiveChatListSettings &>(*obj));
291 }
292 return true;
293 case attachmentMenuBot::ID:
294 if constexpr (AllowTag) {
295 downcast_call_tag<attachmentMenuBot> type_tag;
296 func(type_tag);
297 } else {
298 func(static_cast<attachmentMenuBot &>(*obj));
299 }
300 return true;
301 case attachmentMenuBotColor::ID:
302 if constexpr (AllowTag) {
303 downcast_call_tag<attachmentMenuBotColor> type_tag;
304 func(type_tag);
305 } else {
306 func(static_cast<attachmentMenuBotColor &>(*obj));
307 }
308 return true;
309 case attributeCraftPersistenceProbability::ID:
310 if constexpr (AllowTag) {
311 downcast_call_tag<attributeCraftPersistenceProbability> type_tag;
312 func(type_tag);
313 } else {
314 func(static_cast<attributeCraftPersistenceProbability &>(*obj));
315 }
316 return true;
317 case auctionBid::ID:
318 if constexpr (AllowTag) {
319 downcast_call_tag<auctionBid> type_tag;
320 func(type_tag);
321 } else {
322 func(static_cast<auctionBid &>(*obj));
323 }
324 return true;
325 case auctionRound::ID:
326 if constexpr (AllowTag) {
327 downcast_call_tag<auctionRound> type_tag;
328 func(type_tag);
329 } else {
330 func(static_cast<auctionRound &>(*obj));
331 }
332 return true;
333 case auctionStateActive::ID:
334 if constexpr (AllowTag) {
335 downcast_call_tag<auctionStateActive> type_tag;
336 func(type_tag);
337 } else {
338 func(static_cast<auctionStateActive &>(*obj));
339 }
340 return true;
341 case auctionStateFinished::ID:
342 if constexpr (AllowTag) {
343 downcast_call_tag<auctionStateFinished> type_tag;
344 func(type_tag);
345 } else {
346 func(static_cast<auctionStateFinished &>(*obj));
347 }
348 return true;
349 case audio::ID:
350 if constexpr (AllowTag) {
351 downcast_call_tag<audio> type_tag;
352 func(type_tag);
353 } else {
354 func(static_cast<audio &>(*obj));
355 }
356 return true;
357 case audios::ID:
358 if constexpr (AllowTag) {
359 downcast_call_tag<audios> type_tag;
360 func(type_tag);
361 } else {
362 func(static_cast<audios &>(*obj));
363 }
364 return true;
365 case authenticationCodeInfo::ID:
366 if constexpr (AllowTag) {
367 downcast_call_tag<authenticationCodeInfo> type_tag;
368 func(type_tag);
369 } else {
370 func(static_cast<authenticationCodeInfo &>(*obj));
371 }
372 return true;
373 case authenticationCodeTypeTelegramMessage::ID:
374 if constexpr (AllowTag) {
375 downcast_call_tag<authenticationCodeTypeTelegramMessage> type_tag;
376 func(type_tag);
377 } else {
378 func(static_cast<authenticationCodeTypeTelegramMessage &>(*obj));
379 }
380 return true;
381 case authenticationCodeTypeSms::ID:
382 if constexpr (AllowTag) {
383 downcast_call_tag<authenticationCodeTypeSms> type_tag;
384 func(type_tag);
385 } else {
386 func(static_cast<authenticationCodeTypeSms &>(*obj));
387 }
388 return true;
389 case authenticationCodeTypeSmsWord::ID:
390 if constexpr (AllowTag) {
391 downcast_call_tag<authenticationCodeTypeSmsWord> type_tag;
392 func(type_tag);
393 } else {
394 func(static_cast<authenticationCodeTypeSmsWord &>(*obj));
395 }
396 return true;
397 case authenticationCodeTypeSmsPhrase::ID:
398 if constexpr (AllowTag) {
399 downcast_call_tag<authenticationCodeTypeSmsPhrase> type_tag;
400 func(type_tag);
401 } else {
402 func(static_cast<authenticationCodeTypeSmsPhrase &>(*obj));
403 }
404 return true;
405 case authenticationCodeTypeCall::ID:
406 if constexpr (AllowTag) {
407 downcast_call_tag<authenticationCodeTypeCall> type_tag;
408 func(type_tag);
409 } else {
410 func(static_cast<authenticationCodeTypeCall &>(*obj));
411 }
412 return true;
413 case authenticationCodeTypeFlashCall::ID:
414 if constexpr (AllowTag) {
415 downcast_call_tag<authenticationCodeTypeFlashCall> type_tag;
416 func(type_tag);
417 } else {
418 func(static_cast<authenticationCodeTypeFlashCall &>(*obj));
419 }
420 return true;
421 case authenticationCodeTypeMissedCall::ID:
422 if constexpr (AllowTag) {
423 downcast_call_tag<authenticationCodeTypeMissedCall> type_tag;
424 func(type_tag);
425 } else {
426 func(static_cast<authenticationCodeTypeMissedCall &>(*obj));
427 }
428 return true;
429 case authenticationCodeTypeFragment::ID:
430 if constexpr (AllowTag) {
431 downcast_call_tag<authenticationCodeTypeFragment> type_tag;
432 func(type_tag);
433 } else {
434 func(static_cast<authenticationCodeTypeFragment &>(*obj));
435 }
436 return true;
437 case authenticationCodeTypeFirebaseAndroid::ID:
438 if constexpr (AllowTag) {
439 downcast_call_tag<authenticationCodeTypeFirebaseAndroid> type_tag;
440 func(type_tag);
441 } else {
442 func(static_cast<authenticationCodeTypeFirebaseAndroid &>(*obj));
443 }
444 return true;
445 case authenticationCodeTypeFirebaseIos::ID:
446 if constexpr (AllowTag) {
447 downcast_call_tag<authenticationCodeTypeFirebaseIos> type_tag;
448 func(type_tag);
449 } else {
450 func(static_cast<authenticationCodeTypeFirebaseIos &>(*obj));
451 }
452 return true;
453 case authorizationStateWaitTdlibParameters::ID:
454 if constexpr (AllowTag) {
455 downcast_call_tag<authorizationStateWaitTdlibParameters> type_tag;
456 func(type_tag);
457 } else {
458 func(static_cast<authorizationStateWaitTdlibParameters &>(*obj));
459 }
460 return true;
461 case authorizationStateWaitPhoneNumber::ID:
462 if constexpr (AllowTag) {
463 downcast_call_tag<authorizationStateWaitPhoneNumber> type_tag;
464 func(type_tag);
465 } else {
466 func(static_cast<authorizationStateWaitPhoneNumber &>(*obj));
467 }
468 return true;
469 case authorizationStateWaitPremiumPurchase::ID:
470 if constexpr (AllowTag) {
471 downcast_call_tag<authorizationStateWaitPremiumPurchase> type_tag;
472 func(type_tag);
473 } else {
474 func(static_cast<authorizationStateWaitPremiumPurchase &>(*obj));
475 }
476 return true;
477 case authorizationStateWaitEmailAddress::ID:
478 if constexpr (AllowTag) {
479 downcast_call_tag<authorizationStateWaitEmailAddress> type_tag;
480 func(type_tag);
481 } else {
482 func(static_cast<authorizationStateWaitEmailAddress &>(*obj));
483 }
484 return true;
485 case authorizationStateWaitEmailCode::ID:
486 if constexpr (AllowTag) {
487 downcast_call_tag<authorizationStateWaitEmailCode> type_tag;
488 func(type_tag);
489 } else {
490 func(static_cast<authorizationStateWaitEmailCode &>(*obj));
491 }
492 return true;
493 case authorizationStateWaitCode::ID:
494 if constexpr (AllowTag) {
495 downcast_call_tag<authorizationStateWaitCode> type_tag;
496 func(type_tag);
497 } else {
498 func(static_cast<authorizationStateWaitCode &>(*obj));
499 }
500 return true;
501 case authorizationStateWaitOtherDeviceConfirmation::ID:
502 if constexpr (AllowTag) {
503 downcast_call_tag<authorizationStateWaitOtherDeviceConfirmation> type_tag;
504 func(type_tag);
505 } else {
506 func(static_cast<authorizationStateWaitOtherDeviceConfirmation &>(*obj));
507 }
508 return true;
509 case authorizationStateWaitRegistration::ID:
510 if constexpr (AllowTag) {
511 downcast_call_tag<authorizationStateWaitRegistration> type_tag;
512 func(type_tag);
513 } else {
514 func(static_cast<authorizationStateWaitRegistration &>(*obj));
515 }
516 return true;
517 case authorizationStateWaitPassword::ID:
518 if constexpr (AllowTag) {
519 downcast_call_tag<authorizationStateWaitPassword> type_tag;
520 func(type_tag);
521 } else {
522 func(static_cast<authorizationStateWaitPassword &>(*obj));
523 }
524 return true;
525 case authorizationStateReady::ID:
526 if constexpr (AllowTag) {
527 downcast_call_tag<authorizationStateReady> type_tag;
528 func(type_tag);
529 } else {
530 func(static_cast<authorizationStateReady &>(*obj));
531 }
532 return true;
533 case authorizationStateLoggingOut::ID:
534 if constexpr (AllowTag) {
535 downcast_call_tag<authorizationStateLoggingOut> type_tag;
536 func(type_tag);
537 } else {
538 func(static_cast<authorizationStateLoggingOut &>(*obj));
539 }
540 return true;
541 case authorizationStateClosing::ID:
542 if constexpr (AllowTag) {
543 downcast_call_tag<authorizationStateClosing> type_tag;
544 func(type_tag);
545 } else {
546 func(static_cast<authorizationStateClosing &>(*obj));
547 }
548 return true;
549 case authorizationStateClosed::ID:
550 if constexpr (AllowTag) {
551 downcast_call_tag<authorizationStateClosed> type_tag;
552 func(type_tag);
553 } else {
554 func(static_cast<authorizationStateClosed &>(*obj));
555 }
556 return true;
557 case autoDownloadSettings::ID:
558 if constexpr (AllowTag) {
559 downcast_call_tag<autoDownloadSettings> type_tag;
560 func(type_tag);
561 } else {
562 func(static_cast<autoDownloadSettings &>(*obj));
563 }
564 return true;
565 case autoDownloadSettingsPresets::ID:
566 if constexpr (AllowTag) {
567 downcast_call_tag<autoDownloadSettingsPresets> type_tag;
568 func(type_tag);
569 } else {
570 func(static_cast<autoDownloadSettingsPresets &>(*obj));
571 }
572 return true;
573 case autosaveSettings::ID:
574 if constexpr (AllowTag) {
575 downcast_call_tag<autosaveSettings> type_tag;
576 func(type_tag);
577 } else {
578 func(static_cast<autosaveSettings &>(*obj));
579 }
580 return true;
581 case autosaveSettingsException::ID:
582 if constexpr (AllowTag) {
583 downcast_call_tag<autosaveSettingsException> type_tag;
584 func(type_tag);
585 } else {
586 func(static_cast<autosaveSettingsException &>(*obj));
587 }
588 return true;
589 case autosaveSettingsScopePrivateChats::ID:
590 if constexpr (AllowTag) {
591 downcast_call_tag<autosaveSettingsScopePrivateChats> type_tag;
592 func(type_tag);
593 } else {
594 func(static_cast<autosaveSettingsScopePrivateChats &>(*obj));
595 }
596 return true;
597 case autosaveSettingsScopeGroupChats::ID:
598 if constexpr (AllowTag) {
599 downcast_call_tag<autosaveSettingsScopeGroupChats> type_tag;
600 func(type_tag);
601 } else {
602 func(static_cast<autosaveSettingsScopeGroupChats &>(*obj));
603 }
604 return true;
605 case autosaveSettingsScopeChannelChats::ID:
606 if constexpr (AllowTag) {
607 downcast_call_tag<autosaveSettingsScopeChannelChats> type_tag;
608 func(type_tag);
609 } else {
610 func(static_cast<autosaveSettingsScopeChannelChats &>(*obj));
611 }
612 return true;
613 case autosaveSettingsScopeChat::ID:
614 if constexpr (AllowTag) {
615 downcast_call_tag<autosaveSettingsScopeChat> type_tag;
616 func(type_tag);
617 } else {
618 func(static_cast<autosaveSettingsScopeChat &>(*obj));
619 }
620 return true;
621 case availableGift::ID:
622 if constexpr (AllowTag) {
623 downcast_call_tag<availableGift> type_tag;
624 func(type_tag);
625 } else {
626 func(static_cast<availableGift &>(*obj));
627 }
628 return true;
629 case availableGifts::ID:
630 if constexpr (AllowTag) {
631 downcast_call_tag<availableGifts> type_tag;
632 func(type_tag);
633 } else {
634 func(static_cast<availableGifts &>(*obj));
635 }
636 return true;
637 case availableReaction::ID:
638 if constexpr (AllowTag) {
639 downcast_call_tag<availableReaction> type_tag;
640 func(type_tag);
641 } else {
642 func(static_cast<availableReaction &>(*obj));
643 }
644 return true;
645 case availableReactions::ID:
646 if constexpr (AllowTag) {
647 downcast_call_tag<availableReactions> type_tag;
648 func(type_tag);
649 } else {
650 func(static_cast<availableReactions &>(*obj));
651 }
652 return true;
653 case background::ID:
654 if constexpr (AllowTag) {
655 downcast_call_tag<background> type_tag;
656 func(type_tag);
657 } else {
658 func(static_cast<background &>(*obj));
659 }
660 return true;
661 case backgroundFillSolid::ID:
662 if constexpr (AllowTag) {
663 downcast_call_tag<backgroundFillSolid> type_tag;
664 func(type_tag);
665 } else {
666 func(static_cast<backgroundFillSolid &>(*obj));
667 }
668 return true;
669 case backgroundFillGradient::ID:
670 if constexpr (AllowTag) {
671 downcast_call_tag<backgroundFillGradient> type_tag;
672 func(type_tag);
673 } else {
674 func(static_cast<backgroundFillGradient &>(*obj));
675 }
676 return true;
677 case backgroundFillFreeformGradient::ID:
678 if constexpr (AllowTag) {
679 downcast_call_tag<backgroundFillFreeformGradient> type_tag;
680 func(type_tag);
681 } else {
682 func(static_cast<backgroundFillFreeformGradient &>(*obj));
683 }
684 return true;
685 case backgroundTypeWallpaper::ID:
686 if constexpr (AllowTag) {
687 downcast_call_tag<backgroundTypeWallpaper> type_tag;
688 func(type_tag);
689 } else {
690 func(static_cast<backgroundTypeWallpaper &>(*obj));
691 }
692 return true;
693 case backgroundTypePattern::ID:
694 if constexpr (AllowTag) {
695 downcast_call_tag<backgroundTypePattern> type_tag;
696 func(type_tag);
697 } else {
698 func(static_cast<backgroundTypePattern &>(*obj));
699 }
700 return true;
701 case backgroundTypeFill::ID:
702 if constexpr (AllowTag) {
703 downcast_call_tag<backgroundTypeFill> type_tag;
704 func(type_tag);
705 } else {
706 func(static_cast<backgroundTypeFill &>(*obj));
707 }
708 return true;
709 case backgroundTypeChatTheme::ID:
710 if constexpr (AllowTag) {
711 downcast_call_tag<backgroundTypeChatTheme> type_tag;
712 func(type_tag);
713 } else {
714 func(static_cast<backgroundTypeChatTheme &>(*obj));
715 }
716 return true;
717 case backgrounds::ID:
718 if constexpr (AllowTag) {
719 downcast_call_tag<backgrounds> type_tag;
720 func(type_tag);
721 } else {
722 func(static_cast<backgrounds &>(*obj));
723 }
724 return true;
725 case bankCardActionOpenUrl::ID:
726 if constexpr (AllowTag) {
727 downcast_call_tag<bankCardActionOpenUrl> type_tag;
728 func(type_tag);
729 } else {
730 func(static_cast<bankCardActionOpenUrl &>(*obj));
731 }
732 return true;
733 case bankCardInfo::ID:
734 if constexpr (AllowTag) {
735 downcast_call_tag<bankCardInfo> type_tag;
736 func(type_tag);
737 } else {
738 func(static_cast<bankCardInfo &>(*obj));
739 }
740 return true;
741 case basicGroup::ID:
742 if constexpr (AllowTag) {
743 downcast_call_tag<basicGroup> type_tag;
744 func(type_tag);
745 } else {
746 func(static_cast<basicGroup &>(*obj));
747 }
748 return true;
749 case basicGroupFullInfo::ID:
750 if constexpr (AllowTag) {
751 downcast_call_tag<basicGroupFullInfo> type_tag;
752 func(type_tag);
753 } else {
754 func(static_cast<basicGroupFullInfo &>(*obj));
755 }
756 return true;
757 case birthdate::ID:
758 if constexpr (AllowTag) {
759 downcast_call_tag<birthdate> type_tag;
760 func(type_tag);
761 } else {
762 func(static_cast<birthdate &>(*obj));
763 }
764 return true;
765 case blockListMain::ID:
766 if constexpr (AllowTag) {
767 downcast_call_tag<blockListMain> type_tag;
768 func(type_tag);
769 } else {
770 func(static_cast<blockListMain &>(*obj));
771 }
772 return true;
773 case blockListStories::ID:
774 if constexpr (AllowTag) {
775 downcast_call_tag<blockListStories> type_tag;
776 func(type_tag);
777 } else {
778 func(static_cast<blockListStories &>(*obj));
779 }
780 return true;
781 case botAccessSettings::ID:
782 if constexpr (AllowTag) {
783 downcast_call_tag<botAccessSettings> type_tag;
784 func(type_tag);
785 } else {
786 func(static_cast<botAccessSettings &>(*obj));
787 }
788 return true;
789 case botCommand::ID:
790 if constexpr (AllowTag) {
791 downcast_call_tag<botCommand> type_tag;
792 func(type_tag);
793 } else {
794 func(static_cast<botCommand &>(*obj));
795 }
796 return true;
797 case botCommandScopeDefault::ID:
798 if constexpr (AllowTag) {
799 downcast_call_tag<botCommandScopeDefault> type_tag;
800 func(type_tag);
801 } else {
802 func(static_cast<botCommandScopeDefault &>(*obj));
803 }
804 return true;
805 case botCommandScopeAllPrivateChats::ID:
806 if constexpr (AllowTag) {
807 downcast_call_tag<botCommandScopeAllPrivateChats> type_tag;
808 func(type_tag);
809 } else {
810 func(static_cast<botCommandScopeAllPrivateChats &>(*obj));
811 }
812 return true;
813 case botCommandScopeAllGroupChats::ID:
814 if constexpr (AllowTag) {
815 downcast_call_tag<botCommandScopeAllGroupChats> type_tag;
816 func(type_tag);
817 } else {
818 func(static_cast<botCommandScopeAllGroupChats &>(*obj));
819 }
820 return true;
821 case botCommandScopeAllChatAdministrators::ID:
822 if constexpr (AllowTag) {
823 downcast_call_tag<botCommandScopeAllChatAdministrators> type_tag;
824 func(type_tag);
825 } else {
826 func(static_cast<botCommandScopeAllChatAdministrators &>(*obj));
827 }
828 return true;
829 case botCommandScopeChat::ID:
830 if constexpr (AllowTag) {
831 downcast_call_tag<botCommandScopeChat> type_tag;
832 func(type_tag);
833 } else {
834 func(static_cast<botCommandScopeChat &>(*obj));
835 }
836 return true;
837 case botCommandScopeChatAdministrators::ID:
838 if constexpr (AllowTag) {
839 downcast_call_tag<botCommandScopeChatAdministrators> type_tag;
840 func(type_tag);
841 } else {
842 func(static_cast<botCommandScopeChatAdministrators &>(*obj));
843 }
844 return true;
845 case botCommandScopeChatMember::ID:
846 if constexpr (AllowTag) {
847 downcast_call_tag<botCommandScopeChatMember> type_tag;
848 func(type_tag);
849 } else {
850 func(static_cast<botCommandScopeChatMember &>(*obj));
851 }
852 return true;
853 case botCommands::ID:
854 if constexpr (AllowTag) {
855 downcast_call_tag<botCommands> type_tag;
856 func(type_tag);
857 } else {
858 func(static_cast<botCommands &>(*obj));
859 }
860 return true;
861 case botInfo::ID:
862 if constexpr (AllowTag) {
863 downcast_call_tag<botInfo> type_tag;
864 func(type_tag);
865 } else {
866 func(static_cast<botInfo &>(*obj));
867 }
868 return true;
869 case botMediaPreview::ID:
870 if constexpr (AllowTag) {
871 downcast_call_tag<botMediaPreview> type_tag;
872 func(type_tag);
873 } else {
874 func(static_cast<botMediaPreview &>(*obj));
875 }
876 return true;
877 case botMediaPreviewInfo::ID:
878 if constexpr (AllowTag) {
879 downcast_call_tag<botMediaPreviewInfo> type_tag;
880 func(type_tag);
881 } else {
882 func(static_cast<botMediaPreviewInfo &>(*obj));
883 }
884 return true;
885 case botMediaPreviews::ID:
886 if constexpr (AllowTag) {
887 downcast_call_tag<botMediaPreviews> type_tag;
888 func(type_tag);
889 } else {
890 func(static_cast<botMediaPreviews &>(*obj));
891 }
892 return true;
893 case botMenuButton::ID:
894 if constexpr (AllowTag) {
895 downcast_call_tag<botMenuButton> type_tag;
896 func(type_tag);
897 } else {
898 func(static_cast<botMenuButton &>(*obj));
899 }
900 return true;
901 case botVerification::ID:
902 if constexpr (AllowTag) {
903 downcast_call_tag<botVerification> type_tag;
904 func(type_tag);
905 } else {
906 func(static_cast<botVerification &>(*obj));
907 }
908 return true;
909 case botVerificationParameters::ID:
910 if constexpr (AllowTag) {
911 downcast_call_tag<botVerificationParameters> type_tag;
912 func(type_tag);
913 } else {
914 func(static_cast<botVerificationParameters &>(*obj));
915 }
916 return true;
917 case botWriteAccessAllowReasonConnectedWebsite::ID:
918 if constexpr (AllowTag) {
919 downcast_call_tag<botWriteAccessAllowReasonConnectedWebsite> type_tag;
920 func(type_tag);
921 } else {
922 func(static_cast<botWriteAccessAllowReasonConnectedWebsite &>(*obj));
923 }
924 return true;
925 case botWriteAccessAllowReasonAddedToAttachmentMenu::ID:
926 if constexpr (AllowTag) {
927 downcast_call_tag<botWriteAccessAllowReasonAddedToAttachmentMenu> type_tag;
928 func(type_tag);
929 } else {
930 func(static_cast<botWriteAccessAllowReasonAddedToAttachmentMenu &>(*obj));
931 }
932 return true;
933 case botWriteAccessAllowReasonLaunchedWebApp::ID:
934 if constexpr (AllowTag) {
935 downcast_call_tag<botWriteAccessAllowReasonLaunchedWebApp> type_tag;
936 func(type_tag);
937 } else {
938 func(static_cast<botWriteAccessAllowReasonLaunchedWebApp &>(*obj));
939 }
940 return true;
941 case botWriteAccessAllowReasonAcceptedRequest::ID:
942 if constexpr (AllowTag) {
943 downcast_call_tag<botWriteAccessAllowReasonAcceptedRequest> type_tag;
944 func(type_tag);
945 } else {
946 func(static_cast<botWriteAccessAllowReasonAcceptedRequest &>(*obj));
947 }
948 return true;
949 case builtInThemeClassic::ID:
950 if constexpr (AllowTag) {
951 downcast_call_tag<builtInThemeClassic> type_tag;
952 func(type_tag);
953 } else {
954 func(static_cast<builtInThemeClassic &>(*obj));
955 }
956 return true;
957 case builtInThemeDay::ID:
958 if constexpr (AllowTag) {
959 downcast_call_tag<builtInThemeDay> type_tag;
960 func(type_tag);
961 } else {
962 func(static_cast<builtInThemeDay &>(*obj));
963 }
964 return true;
965 case builtInThemeNight::ID:
966 if constexpr (AllowTag) {
967 downcast_call_tag<builtInThemeNight> type_tag;
968 func(type_tag);
969 } else {
970 func(static_cast<builtInThemeNight &>(*obj));
971 }
972 return true;
973 case builtInThemeTinted::ID:
974 if constexpr (AllowTag) {
975 downcast_call_tag<builtInThemeTinted> type_tag;
976 func(type_tag);
977 } else {
978 func(static_cast<builtInThemeTinted &>(*obj));
979 }
980 return true;
981 case builtInThemeArctic::ID:
982 if constexpr (AllowTag) {
983 downcast_call_tag<builtInThemeArctic> type_tag;
984 func(type_tag);
985 } else {
986 func(static_cast<builtInThemeArctic &>(*obj));
987 }
988 return true;
989 case businessAwayMessageScheduleAlways::ID:
990 if constexpr (AllowTag) {
991 downcast_call_tag<businessAwayMessageScheduleAlways> type_tag;
992 func(type_tag);
993 } else {
994 func(static_cast<businessAwayMessageScheduleAlways &>(*obj));
995 }
996 return true;
997 case businessAwayMessageScheduleOutsideOfOpeningHours::ID:
998 if constexpr (AllowTag) {
999 downcast_call_tag<businessAwayMessageScheduleOutsideOfOpeningHours> type_tag;
1000 func(type_tag);
1001 } else {
1002 func(static_cast<businessAwayMessageScheduleOutsideOfOpeningHours &>(*obj));
1003 }
1004 return true;
1005 case businessAwayMessageScheduleCustom::ID:
1006 if constexpr (AllowTag) {
1007 downcast_call_tag<businessAwayMessageScheduleCustom> type_tag;
1008 func(type_tag);
1009 } else {
1010 func(static_cast<businessAwayMessageScheduleCustom &>(*obj));
1011 }
1012 return true;
1013 case businessAwayMessageSettings::ID:
1014 if constexpr (AllowTag) {
1015 downcast_call_tag<businessAwayMessageSettings> type_tag;
1016 func(type_tag);
1017 } else {
1018 func(static_cast<businessAwayMessageSettings &>(*obj));
1019 }
1020 return true;
1021 case businessBotManageBar::ID:
1022 if constexpr (AllowTag) {
1023 downcast_call_tag<businessBotManageBar> type_tag;
1024 func(type_tag);
1025 } else {
1026 func(static_cast<businessBotManageBar &>(*obj));
1027 }
1028 return true;
1029 case businessBotRights::ID:
1030 if constexpr (AllowTag) {
1031 downcast_call_tag<businessBotRights> type_tag;
1032 func(type_tag);
1033 } else {
1034 func(static_cast<businessBotRights &>(*obj));
1035 }
1036 return true;
1037 case businessChatLink::ID:
1038 if constexpr (AllowTag) {
1039 downcast_call_tag<businessChatLink> type_tag;
1040 func(type_tag);
1041 } else {
1042 func(static_cast<businessChatLink &>(*obj));
1043 }
1044 return true;
1045 case businessChatLinkInfo::ID:
1046 if constexpr (AllowTag) {
1047 downcast_call_tag<businessChatLinkInfo> type_tag;
1048 func(type_tag);
1049 } else {
1050 func(static_cast<businessChatLinkInfo &>(*obj));
1051 }
1052 return true;
1053 case businessChatLinks::ID:
1054 if constexpr (AllowTag) {
1055 downcast_call_tag<businessChatLinks> type_tag;
1056 func(type_tag);
1057 } else {
1058 func(static_cast<businessChatLinks &>(*obj));
1059 }
1060 return true;
1061 case businessConnectedBot::ID:
1062 if constexpr (AllowTag) {
1063 downcast_call_tag<businessConnectedBot> type_tag;
1064 func(type_tag);
1065 } else {
1066 func(static_cast<businessConnectedBot &>(*obj));
1067 }
1068 return true;
1069 case businessConnection::ID:
1070 if constexpr (AllowTag) {
1071 downcast_call_tag<businessConnection> type_tag;
1072 func(type_tag);
1073 } else {
1074 func(static_cast<businessConnection &>(*obj));
1075 }
1076 return true;
1077 case businessFeatureLocation::ID:
1078 if constexpr (AllowTag) {
1079 downcast_call_tag<businessFeatureLocation> type_tag;
1080 func(type_tag);
1081 } else {
1082 func(static_cast<businessFeatureLocation &>(*obj));
1083 }
1084 return true;
1085 case businessFeatureOpeningHours::ID:
1086 if constexpr (AllowTag) {
1087 downcast_call_tag<businessFeatureOpeningHours> type_tag;
1088 func(type_tag);
1089 } else {
1090 func(static_cast<businessFeatureOpeningHours &>(*obj));
1091 }
1092 return true;
1093 case businessFeatureQuickReplies::ID:
1094 if constexpr (AllowTag) {
1095 downcast_call_tag<businessFeatureQuickReplies> type_tag;
1096 func(type_tag);
1097 } else {
1098 func(static_cast<businessFeatureQuickReplies &>(*obj));
1099 }
1100 return true;
1101 case businessFeatureGreetingMessage::ID:
1102 if constexpr (AllowTag) {
1103 downcast_call_tag<businessFeatureGreetingMessage> type_tag;
1104 func(type_tag);
1105 } else {
1106 func(static_cast<businessFeatureGreetingMessage &>(*obj));
1107 }
1108 return true;
1109 case businessFeatureAwayMessage::ID:
1110 if constexpr (AllowTag) {
1111 downcast_call_tag<businessFeatureAwayMessage> type_tag;
1112 func(type_tag);
1113 } else {
1114 func(static_cast<businessFeatureAwayMessage &>(*obj));
1115 }
1116 return true;
1117 case businessFeatureAccountLinks::ID:
1118 if constexpr (AllowTag) {
1119 downcast_call_tag<businessFeatureAccountLinks> type_tag;
1120 func(type_tag);
1121 } else {
1122 func(static_cast<businessFeatureAccountLinks &>(*obj));
1123 }
1124 return true;
1125 case businessFeatureStartPage::ID:
1126 if constexpr (AllowTag) {
1127 downcast_call_tag<businessFeatureStartPage> type_tag;
1128 func(type_tag);
1129 } else {
1130 func(static_cast<businessFeatureStartPage &>(*obj));
1131 }
1132 return true;
1133 case businessFeatureBots::ID:
1134 if constexpr (AllowTag) {
1135 downcast_call_tag<businessFeatureBots> type_tag;
1136 func(type_tag);
1137 } else {
1138 func(static_cast<businessFeatureBots &>(*obj));
1139 }
1140 return true;
1141 case businessFeatureEmojiStatus::ID:
1142 if constexpr (AllowTag) {
1143 downcast_call_tag<businessFeatureEmojiStatus> type_tag;
1144 func(type_tag);
1145 } else {
1146 func(static_cast<businessFeatureEmojiStatus &>(*obj));
1147 }
1148 return true;
1149 case businessFeatureChatFolderTags::ID:
1150 if constexpr (AllowTag) {
1151 downcast_call_tag<businessFeatureChatFolderTags> type_tag;
1152 func(type_tag);
1153 } else {
1154 func(static_cast<businessFeatureChatFolderTags &>(*obj));
1155 }
1156 return true;
1157 case businessFeatureUpgradedStories::ID:
1158 if constexpr (AllowTag) {
1159 downcast_call_tag<businessFeatureUpgradedStories> type_tag;
1160 func(type_tag);
1161 } else {
1162 func(static_cast<businessFeatureUpgradedStories &>(*obj));
1163 }
1164 return true;
1165 case businessFeaturePromotionAnimation::ID:
1166 if constexpr (AllowTag) {
1167 downcast_call_tag<businessFeaturePromotionAnimation> type_tag;
1168 func(type_tag);
1169 } else {
1170 func(static_cast<businessFeaturePromotionAnimation &>(*obj));
1171 }
1172 return true;
1173 case businessFeatures::ID:
1174 if constexpr (AllowTag) {
1175 downcast_call_tag<businessFeatures> type_tag;
1176 func(type_tag);
1177 } else {
1178 func(static_cast<businessFeatures &>(*obj));
1179 }
1180 return true;
1181 case businessGreetingMessageSettings::ID:
1182 if constexpr (AllowTag) {
1183 downcast_call_tag<businessGreetingMessageSettings> type_tag;
1184 func(type_tag);
1185 } else {
1186 func(static_cast<businessGreetingMessageSettings &>(*obj));
1187 }
1188 return true;
1189 case businessInfo::ID:
1190 if constexpr (AllowTag) {
1191 downcast_call_tag<businessInfo> type_tag;
1192 func(type_tag);
1193 } else {
1194 func(static_cast<businessInfo &>(*obj));
1195 }
1196 return true;
1197 case businessLocation::ID:
1198 if constexpr (AllowTag) {
1199 downcast_call_tag<businessLocation> type_tag;
1200 func(type_tag);
1201 } else {
1202 func(static_cast<businessLocation &>(*obj));
1203 }
1204 return true;
1205 case businessMessage::ID:
1206 if constexpr (AllowTag) {
1207 downcast_call_tag<businessMessage> type_tag;
1208 func(type_tag);
1209 } else {
1210 func(static_cast<businessMessage &>(*obj));
1211 }
1212 return true;
1213 case businessMessages::ID:
1214 if constexpr (AllowTag) {
1215 downcast_call_tag<businessMessages> type_tag;
1216 func(type_tag);
1217 } else {
1218 func(static_cast<businessMessages &>(*obj));
1219 }
1220 return true;
1221 case businessOpeningHours::ID:
1222 if constexpr (AllowTag) {
1223 downcast_call_tag<businessOpeningHours> type_tag;
1224 func(type_tag);
1225 } else {
1226 func(static_cast<businessOpeningHours &>(*obj));
1227 }
1228 return true;
1229 case businessOpeningHoursInterval::ID:
1230 if constexpr (AllowTag) {
1231 downcast_call_tag<businessOpeningHoursInterval> type_tag;
1232 func(type_tag);
1233 } else {
1234 func(static_cast<businessOpeningHoursInterval &>(*obj));
1235 }
1236 return true;
1237 case businessRecipients::ID:
1238 if constexpr (AllowTag) {
1239 downcast_call_tag<businessRecipients> type_tag;
1240 func(type_tag);
1241 } else {
1242 func(static_cast<businessRecipients &>(*obj));
1243 }
1244 return true;
1245 case businessStartPage::ID:
1246 if constexpr (AllowTag) {
1247 downcast_call_tag<businessStartPage> type_tag;
1248 func(type_tag);
1249 } else {
1250 func(static_cast<businessStartPage &>(*obj));
1251 }
1252 return true;
1253 case buttonStyleDefault::ID:
1254 if constexpr (AllowTag) {
1255 downcast_call_tag<buttonStyleDefault> type_tag;
1256 func(type_tag);
1257 } else {
1258 func(static_cast<buttonStyleDefault &>(*obj));
1259 }
1260 return true;
1261 case buttonStylePrimary::ID:
1262 if constexpr (AllowTag) {
1263 downcast_call_tag<buttonStylePrimary> type_tag;
1264 func(type_tag);
1265 } else {
1266 func(static_cast<buttonStylePrimary &>(*obj));
1267 }
1268 return true;
1269 case buttonStyleDanger::ID:
1270 if constexpr (AllowTag) {
1271 downcast_call_tag<buttonStyleDanger> type_tag;
1272 func(type_tag);
1273 } else {
1274 func(static_cast<buttonStyleDanger &>(*obj));
1275 }
1276 return true;
1277 case buttonStyleSuccess::ID:
1278 if constexpr (AllowTag) {
1279 downcast_call_tag<buttonStyleSuccess> type_tag;
1280 func(type_tag);
1281 } else {
1282 func(static_cast<buttonStyleSuccess &>(*obj));
1283 }
1284 return true;
1285 case call::ID:
1286 if constexpr (AllowTag) {
1287 downcast_call_tag<call> type_tag;
1288 func(type_tag);
1289 } else {
1290 func(static_cast<call &>(*obj));
1291 }
1292 return true;
1293 case callDiscardReasonEmpty::ID:
1294 if constexpr (AllowTag) {
1295 downcast_call_tag<callDiscardReasonEmpty> type_tag;
1296 func(type_tag);
1297 } else {
1298 func(static_cast<callDiscardReasonEmpty &>(*obj));
1299 }
1300 return true;
1301 case callDiscardReasonMissed::ID:
1302 if constexpr (AllowTag) {
1303 downcast_call_tag<callDiscardReasonMissed> type_tag;
1304 func(type_tag);
1305 } else {
1306 func(static_cast<callDiscardReasonMissed &>(*obj));
1307 }
1308 return true;
1309 case callDiscardReasonDeclined::ID:
1310 if constexpr (AllowTag) {
1311 downcast_call_tag<callDiscardReasonDeclined> type_tag;
1312 func(type_tag);
1313 } else {
1314 func(static_cast<callDiscardReasonDeclined &>(*obj));
1315 }
1316 return true;
1317 case callDiscardReasonDisconnected::ID:
1318 if constexpr (AllowTag) {
1319 downcast_call_tag<callDiscardReasonDisconnected> type_tag;
1320 func(type_tag);
1321 } else {
1322 func(static_cast<callDiscardReasonDisconnected &>(*obj));
1323 }
1324 return true;
1325 case callDiscardReasonHungUp::ID:
1326 if constexpr (AllowTag) {
1327 downcast_call_tag<callDiscardReasonHungUp> type_tag;
1328 func(type_tag);
1329 } else {
1330 func(static_cast<callDiscardReasonHungUp &>(*obj));
1331 }
1332 return true;
1333 case callDiscardReasonUpgradeToGroupCall::ID:
1334 if constexpr (AllowTag) {
1335 downcast_call_tag<callDiscardReasonUpgradeToGroupCall> type_tag;
1336 func(type_tag);
1337 } else {
1338 func(static_cast<callDiscardReasonUpgradeToGroupCall &>(*obj));
1339 }
1340 return true;
1341 case callId::ID:
1342 if constexpr (AllowTag) {
1343 downcast_call_tag<callId> type_tag;
1344 func(type_tag);
1345 } else {
1346 func(static_cast<callId &>(*obj));
1347 }
1348 return true;
1349 case callProblemEcho::ID:
1350 if constexpr (AllowTag) {
1351 downcast_call_tag<callProblemEcho> type_tag;
1352 func(type_tag);
1353 } else {
1354 func(static_cast<callProblemEcho &>(*obj));
1355 }
1356 return true;
1357 case callProblemNoise::ID:
1358 if constexpr (AllowTag) {
1359 downcast_call_tag<callProblemNoise> type_tag;
1360 func(type_tag);
1361 } else {
1362 func(static_cast<callProblemNoise &>(*obj));
1363 }
1364 return true;
1365 case callProblemInterruptions::ID:
1366 if constexpr (AllowTag) {
1367 downcast_call_tag<callProblemInterruptions> type_tag;
1368 func(type_tag);
1369 } else {
1370 func(static_cast<callProblemInterruptions &>(*obj));
1371 }
1372 return true;
1373 case callProblemDistortedSpeech::ID:
1374 if constexpr (AllowTag) {
1375 downcast_call_tag<callProblemDistortedSpeech> type_tag;
1376 func(type_tag);
1377 } else {
1378 func(static_cast<callProblemDistortedSpeech &>(*obj));
1379 }
1380 return true;
1381 case callProblemSilentLocal::ID:
1382 if constexpr (AllowTag) {
1383 downcast_call_tag<callProblemSilentLocal> type_tag;
1384 func(type_tag);
1385 } else {
1386 func(static_cast<callProblemSilentLocal &>(*obj));
1387 }
1388 return true;
1389 case callProblemSilentRemote::ID:
1390 if constexpr (AllowTag) {
1391 downcast_call_tag<callProblemSilentRemote> type_tag;
1392 func(type_tag);
1393 } else {
1394 func(static_cast<callProblemSilentRemote &>(*obj));
1395 }
1396 return true;
1397 case callProblemDropped::ID:
1398 if constexpr (AllowTag) {
1399 downcast_call_tag<callProblemDropped> type_tag;
1400 func(type_tag);
1401 } else {
1402 func(static_cast<callProblemDropped &>(*obj));
1403 }
1404 return true;
1405 case callProblemDistortedVideo::ID:
1406 if constexpr (AllowTag) {
1407 downcast_call_tag<callProblemDistortedVideo> type_tag;
1408 func(type_tag);
1409 } else {
1410 func(static_cast<callProblemDistortedVideo &>(*obj));
1411 }
1412 return true;
1413 case callProblemPixelatedVideo::ID:
1414 if constexpr (AllowTag) {
1415 downcast_call_tag<callProblemPixelatedVideo> type_tag;
1416 func(type_tag);
1417 } else {
1418 func(static_cast<callProblemPixelatedVideo &>(*obj));
1419 }
1420 return true;
1421 case callProtocol::ID:
1422 if constexpr (AllowTag) {
1423 downcast_call_tag<callProtocol> type_tag;
1424 func(type_tag);
1425 } else {
1426 func(static_cast<callProtocol &>(*obj));
1427 }
1428 return true;
1429 case callServer::ID:
1430 if constexpr (AllowTag) {
1431 downcast_call_tag<callServer> type_tag;
1432 func(type_tag);
1433 } else {
1434 func(static_cast<callServer &>(*obj));
1435 }
1436 return true;
1437 case callServerTypeTelegramReflector::ID:
1438 if constexpr (AllowTag) {
1439 downcast_call_tag<callServerTypeTelegramReflector> type_tag;
1440 func(type_tag);
1441 } else {
1442 func(static_cast<callServerTypeTelegramReflector &>(*obj));
1443 }
1444 return true;
1445 case callServerTypeWebrtc::ID:
1446 if constexpr (AllowTag) {
1447 downcast_call_tag<callServerTypeWebrtc> type_tag;
1448 func(type_tag);
1449 } else {
1450 func(static_cast<callServerTypeWebrtc &>(*obj));
1451 }
1452 return true;
1453 case callStatePending::ID:
1454 if constexpr (AllowTag) {
1455 downcast_call_tag<callStatePending> type_tag;
1456 func(type_tag);
1457 } else {
1458 func(static_cast<callStatePending &>(*obj));
1459 }
1460 return true;
1461 case callStateExchangingKeys::ID:
1462 if constexpr (AllowTag) {
1463 downcast_call_tag<callStateExchangingKeys> type_tag;
1464 func(type_tag);
1465 } else {
1466 func(static_cast<callStateExchangingKeys &>(*obj));
1467 }
1468 return true;
1469 case callStateReady::ID:
1470 if constexpr (AllowTag) {
1471 downcast_call_tag<callStateReady> type_tag;
1472 func(type_tag);
1473 } else {
1474 func(static_cast<callStateReady &>(*obj));
1475 }
1476 return true;
1477 case callStateHangingUp::ID:
1478 if constexpr (AllowTag) {
1479 downcast_call_tag<callStateHangingUp> type_tag;
1480 func(type_tag);
1481 } else {
1482 func(static_cast<callStateHangingUp &>(*obj));
1483 }
1484 return true;
1485 case callStateDiscarded::ID:
1486 if constexpr (AllowTag) {
1487 downcast_call_tag<callStateDiscarded> type_tag;
1488 func(type_tag);
1489 } else {
1490 func(static_cast<callStateDiscarded &>(*obj));
1491 }
1492 return true;
1493 case callStateError::ID:
1494 if constexpr (AllowTag) {
1495 downcast_call_tag<callStateError> type_tag;
1496 func(type_tag);
1497 } else {
1498 func(static_cast<callStateError &>(*obj));
1499 }
1500 return true;
1501 case callbackQueryAnswer::ID:
1502 if constexpr (AllowTag) {
1503 downcast_call_tag<callbackQueryAnswer> type_tag;
1504 func(type_tag);
1505 } else {
1506 func(static_cast<callbackQueryAnswer &>(*obj));
1507 }
1508 return true;
1509 case callbackQueryPayloadData::ID:
1510 if constexpr (AllowTag) {
1511 downcast_call_tag<callbackQueryPayloadData> type_tag;
1512 func(type_tag);
1513 } else {
1514 func(static_cast<callbackQueryPayloadData &>(*obj));
1515 }
1516 return true;
1517 case callbackQueryPayloadDataWithPassword::ID:
1518 if constexpr (AllowTag) {
1519 downcast_call_tag<callbackQueryPayloadDataWithPassword> type_tag;
1520 func(type_tag);
1521 } else {
1522 func(static_cast<callbackQueryPayloadDataWithPassword &>(*obj));
1523 }
1524 return true;
1525 case callbackQueryPayloadGame::ID:
1526 if constexpr (AllowTag) {
1527 downcast_call_tag<callbackQueryPayloadGame> type_tag;
1528 func(type_tag);
1529 } else {
1530 func(static_cast<callbackQueryPayloadGame &>(*obj));
1531 }
1532 return true;
1533 case canPostStoryResultOk::ID:
1534 if constexpr (AllowTag) {
1535 downcast_call_tag<canPostStoryResultOk> type_tag;
1536 func(type_tag);
1537 } else {
1538 func(static_cast<canPostStoryResultOk &>(*obj));
1539 }
1540 return true;
1541 case canPostStoryResultPremiumNeeded::ID:
1542 if constexpr (AllowTag) {
1543 downcast_call_tag<canPostStoryResultPremiumNeeded> type_tag;
1544 func(type_tag);
1545 } else {
1546 func(static_cast<canPostStoryResultPremiumNeeded &>(*obj));
1547 }
1548 return true;
1549 case canPostStoryResultBoostNeeded::ID:
1550 if constexpr (AllowTag) {
1551 downcast_call_tag<canPostStoryResultBoostNeeded> type_tag;
1552 func(type_tag);
1553 } else {
1554 func(static_cast<canPostStoryResultBoostNeeded &>(*obj));
1555 }
1556 return true;
1557 case canPostStoryResultActiveStoryLimitExceeded::ID:
1558 if constexpr (AllowTag) {
1559 downcast_call_tag<canPostStoryResultActiveStoryLimitExceeded> type_tag;
1560 func(type_tag);
1561 } else {
1562 func(static_cast<canPostStoryResultActiveStoryLimitExceeded &>(*obj));
1563 }
1564 return true;
1565 case canPostStoryResultWeeklyLimitExceeded::ID:
1566 if constexpr (AllowTag) {
1567 downcast_call_tag<canPostStoryResultWeeklyLimitExceeded> type_tag;
1568 func(type_tag);
1569 } else {
1570 func(static_cast<canPostStoryResultWeeklyLimitExceeded &>(*obj));
1571 }
1572 return true;
1573 case canPostStoryResultMonthlyLimitExceeded::ID:
1574 if constexpr (AllowTag) {
1575 downcast_call_tag<canPostStoryResultMonthlyLimitExceeded> type_tag;
1576 func(type_tag);
1577 } else {
1578 func(static_cast<canPostStoryResultMonthlyLimitExceeded &>(*obj));
1579 }
1580 return true;
1581 case canPostStoryResultLiveStoryIsActive::ID:
1582 if constexpr (AllowTag) {
1583 downcast_call_tag<canPostStoryResultLiveStoryIsActive> type_tag;
1584 func(type_tag);
1585 } else {
1586 func(static_cast<canPostStoryResultLiveStoryIsActive &>(*obj));
1587 }
1588 return true;
1589 case canSendGiftResultOk::ID:
1590 if constexpr (AllowTag) {
1591 downcast_call_tag<canSendGiftResultOk> type_tag;
1592 func(type_tag);
1593 } else {
1594 func(static_cast<canSendGiftResultOk &>(*obj));
1595 }
1596 return true;
1597 case canSendGiftResultFail::ID:
1598 if constexpr (AllowTag) {
1599 downcast_call_tag<canSendGiftResultFail> type_tag;
1600 func(type_tag);
1601 } else {
1602 func(static_cast<canSendGiftResultFail &>(*obj));
1603 }
1604 return true;
1605 case canSendMessageToUserResultOk::ID:
1606 if constexpr (AllowTag) {
1607 downcast_call_tag<canSendMessageToUserResultOk> type_tag;
1608 func(type_tag);
1609 } else {
1610 func(static_cast<canSendMessageToUserResultOk &>(*obj));
1611 }
1612 return true;
1613 case canSendMessageToUserResultUserHasPaidMessages::ID:
1614 if constexpr (AllowTag) {
1615 downcast_call_tag<canSendMessageToUserResultUserHasPaidMessages> type_tag;
1616 func(type_tag);
1617 } else {
1618 func(static_cast<canSendMessageToUserResultUserHasPaidMessages &>(*obj));
1619 }
1620 return true;
1621 case canSendMessageToUserResultUserIsDeleted::ID:
1622 if constexpr (AllowTag) {
1623 downcast_call_tag<canSendMessageToUserResultUserIsDeleted> type_tag;
1624 func(type_tag);
1625 } else {
1626 func(static_cast<canSendMessageToUserResultUserIsDeleted &>(*obj));
1627 }
1628 return true;
1629 case canSendMessageToUserResultUserRestrictsNewChats::ID:
1630 if constexpr (AllowTag) {
1631 downcast_call_tag<canSendMessageToUserResultUserRestrictsNewChats> type_tag;
1632 func(type_tag);
1633 } else {
1634 func(static_cast<canSendMessageToUserResultUserRestrictsNewChats &>(*obj));
1635 }
1636 return true;
1637 case canTransferOwnershipResultOk::ID:
1638 if constexpr (AllowTag) {
1639 downcast_call_tag<canTransferOwnershipResultOk> type_tag;
1640 func(type_tag);
1641 } else {
1642 func(static_cast<canTransferOwnershipResultOk &>(*obj));
1643 }
1644 return true;
1645 case canTransferOwnershipResultPasswordNeeded::ID:
1646 if constexpr (AllowTag) {
1647 downcast_call_tag<canTransferOwnershipResultPasswordNeeded> type_tag;
1648 func(type_tag);
1649 } else {
1650 func(static_cast<canTransferOwnershipResultPasswordNeeded &>(*obj));
1651 }
1652 return true;
1653 case canTransferOwnershipResultPasswordTooFresh::ID:
1654 if constexpr (AllowTag) {
1655 downcast_call_tag<canTransferOwnershipResultPasswordTooFresh> type_tag;
1656 func(type_tag);
1657 } else {
1658 func(static_cast<canTransferOwnershipResultPasswordTooFresh &>(*obj));
1659 }
1660 return true;
1661 case canTransferOwnershipResultSessionTooFresh::ID:
1662 if constexpr (AllowTag) {
1663 downcast_call_tag<canTransferOwnershipResultSessionTooFresh> type_tag;
1664 func(type_tag);
1665 } else {
1666 func(static_cast<canTransferOwnershipResultSessionTooFresh &>(*obj));
1667 }
1668 return true;
1669 case chat::ID:
1670 if constexpr (AllowTag) {
1671 downcast_call_tag<chat> type_tag;
1672 func(type_tag);
1673 } else {
1674 func(static_cast<chat &>(*obj));
1675 }
1676 return true;
1677 case chatActionTyping::ID:
1678 if constexpr (AllowTag) {
1679 downcast_call_tag<chatActionTyping> type_tag;
1680 func(type_tag);
1681 } else {
1682 func(static_cast<chatActionTyping &>(*obj));
1683 }
1684 return true;
1685 case chatActionRecordingVideo::ID:
1686 if constexpr (AllowTag) {
1687 downcast_call_tag<chatActionRecordingVideo> type_tag;
1688 func(type_tag);
1689 } else {
1690 func(static_cast<chatActionRecordingVideo &>(*obj));
1691 }
1692 return true;
1693 case chatActionUploadingVideo::ID:
1694 if constexpr (AllowTag) {
1695 downcast_call_tag<chatActionUploadingVideo> type_tag;
1696 func(type_tag);
1697 } else {
1698 func(static_cast<chatActionUploadingVideo &>(*obj));
1699 }
1700 return true;
1701 case chatActionRecordingVoiceNote::ID:
1702 if constexpr (AllowTag) {
1703 downcast_call_tag<chatActionRecordingVoiceNote> type_tag;
1704 func(type_tag);
1705 } else {
1706 func(static_cast<chatActionRecordingVoiceNote &>(*obj));
1707 }
1708 return true;
1709 case chatActionUploadingVoiceNote::ID:
1710 if constexpr (AllowTag) {
1711 downcast_call_tag<chatActionUploadingVoiceNote> type_tag;
1712 func(type_tag);
1713 } else {
1714 func(static_cast<chatActionUploadingVoiceNote &>(*obj));
1715 }
1716 return true;
1717 case chatActionUploadingPhoto::ID:
1718 if constexpr (AllowTag) {
1719 downcast_call_tag<chatActionUploadingPhoto> type_tag;
1720 func(type_tag);
1721 } else {
1722 func(static_cast<chatActionUploadingPhoto &>(*obj));
1723 }
1724 return true;
1725 case chatActionUploadingDocument::ID:
1726 if constexpr (AllowTag) {
1727 downcast_call_tag<chatActionUploadingDocument> type_tag;
1728 func(type_tag);
1729 } else {
1730 func(static_cast<chatActionUploadingDocument &>(*obj));
1731 }
1732 return true;
1733 case chatActionChoosingSticker::ID:
1734 if constexpr (AllowTag) {
1735 downcast_call_tag<chatActionChoosingSticker> type_tag;
1736 func(type_tag);
1737 } else {
1738 func(static_cast<chatActionChoosingSticker &>(*obj));
1739 }
1740 return true;
1741 case chatActionChoosingLocation::ID:
1742 if constexpr (AllowTag) {
1743 downcast_call_tag<chatActionChoosingLocation> type_tag;
1744 func(type_tag);
1745 } else {
1746 func(static_cast<chatActionChoosingLocation &>(*obj));
1747 }
1748 return true;
1749 case chatActionChoosingContact::ID:
1750 if constexpr (AllowTag) {
1751 downcast_call_tag<chatActionChoosingContact> type_tag;
1752 func(type_tag);
1753 } else {
1754 func(static_cast<chatActionChoosingContact &>(*obj));
1755 }
1756 return true;
1757 case chatActionStartPlayingGame::ID:
1758 if constexpr (AllowTag) {
1759 downcast_call_tag<chatActionStartPlayingGame> type_tag;
1760 func(type_tag);
1761 } else {
1762 func(static_cast<chatActionStartPlayingGame &>(*obj));
1763 }
1764 return true;
1765 case chatActionRecordingVideoNote::ID:
1766 if constexpr (AllowTag) {
1767 downcast_call_tag<chatActionRecordingVideoNote> type_tag;
1768 func(type_tag);
1769 } else {
1770 func(static_cast<chatActionRecordingVideoNote &>(*obj));
1771 }
1772 return true;
1773 case chatActionUploadingVideoNote::ID:
1774 if constexpr (AllowTag) {
1775 downcast_call_tag<chatActionUploadingVideoNote> type_tag;
1776 func(type_tag);
1777 } else {
1778 func(static_cast<chatActionUploadingVideoNote &>(*obj));
1779 }
1780 return true;
1781 case chatActionWatchingAnimations::ID:
1782 if constexpr (AllowTag) {
1783 downcast_call_tag<chatActionWatchingAnimations> type_tag;
1784 func(type_tag);
1785 } else {
1786 func(static_cast<chatActionWatchingAnimations &>(*obj));
1787 }
1788 return true;
1789 case chatActionCancel::ID:
1790 if constexpr (AllowTag) {
1791 downcast_call_tag<chatActionCancel> type_tag;
1792 func(type_tag);
1793 } else {
1794 func(static_cast<chatActionCancel &>(*obj));
1795 }
1796 return true;
1797 case chatActionBarReportSpam::ID:
1798 if constexpr (AllowTag) {
1799 downcast_call_tag<chatActionBarReportSpam> type_tag;
1800 func(type_tag);
1801 } else {
1802 func(static_cast<chatActionBarReportSpam &>(*obj));
1803 }
1804 return true;
1805 case chatActionBarInviteMembers::ID:
1806 if constexpr (AllowTag) {
1807 downcast_call_tag<chatActionBarInviteMembers> type_tag;
1808 func(type_tag);
1809 } else {
1810 func(static_cast<chatActionBarInviteMembers &>(*obj));
1811 }
1812 return true;
1813 case chatActionBarReportAddBlock::ID:
1814 if constexpr (AllowTag) {
1815 downcast_call_tag<chatActionBarReportAddBlock> type_tag;
1816 func(type_tag);
1817 } else {
1818 func(static_cast<chatActionBarReportAddBlock &>(*obj));
1819 }
1820 return true;
1821 case chatActionBarAddContact::ID:
1822 if constexpr (AllowTag) {
1823 downcast_call_tag<chatActionBarAddContact> type_tag;
1824 func(type_tag);
1825 } else {
1826 func(static_cast<chatActionBarAddContact &>(*obj));
1827 }
1828 return true;
1829 case chatActionBarSharePhoneNumber::ID:
1830 if constexpr (AllowTag) {
1831 downcast_call_tag<chatActionBarSharePhoneNumber> type_tag;
1832 func(type_tag);
1833 } else {
1834 func(static_cast<chatActionBarSharePhoneNumber &>(*obj));
1835 }
1836 return true;
1837 case chatActionBarJoinRequest::ID:
1838 if constexpr (AllowTag) {
1839 downcast_call_tag<chatActionBarJoinRequest> type_tag;
1840 func(type_tag);
1841 } else {
1842 func(static_cast<chatActionBarJoinRequest &>(*obj));
1843 }
1844 return true;
1845 case chatActiveStories::ID:
1846 if constexpr (AllowTag) {
1847 downcast_call_tag<chatActiveStories> type_tag;
1848 func(type_tag);
1849 } else {
1850 func(static_cast<chatActiveStories &>(*obj));
1851 }
1852 return true;
1853 case chatAdministrator::ID:
1854 if constexpr (AllowTag) {
1855 downcast_call_tag<chatAdministrator> type_tag;
1856 func(type_tag);
1857 } else {
1858 func(static_cast<chatAdministrator &>(*obj));
1859 }
1860 return true;
1861 case chatAdministratorRights::ID:
1862 if constexpr (AllowTag) {
1863 downcast_call_tag<chatAdministratorRights> type_tag;
1864 func(type_tag);
1865 } else {
1866 func(static_cast<chatAdministratorRights &>(*obj));
1867 }
1868 return true;
1869 case chatAdministrators::ID:
1870 if constexpr (AllowTag) {
1871 downcast_call_tag<chatAdministrators> type_tag;
1872 func(type_tag);
1873 } else {
1874 func(static_cast<chatAdministrators &>(*obj));
1875 }
1876 return true;
1877 case chatAvailableReactionsAll::ID:
1878 if constexpr (AllowTag) {
1879 downcast_call_tag<chatAvailableReactionsAll> type_tag;
1880 func(type_tag);
1881 } else {
1882 func(static_cast<chatAvailableReactionsAll &>(*obj));
1883 }
1884 return true;
1885 case chatAvailableReactionsSome::ID:
1886 if constexpr (AllowTag) {
1887 downcast_call_tag<chatAvailableReactionsSome> type_tag;
1888 func(type_tag);
1889 } else {
1890 func(static_cast<chatAvailableReactionsSome &>(*obj));
1891 }
1892 return true;
1893 case chatBackground::ID:
1894 if constexpr (AllowTag) {
1895 downcast_call_tag<chatBackground> type_tag;
1896 func(type_tag);
1897 } else {
1898 func(static_cast<chatBackground &>(*obj));
1899 }
1900 return true;
1901 case chatBoost::ID:
1902 if constexpr (AllowTag) {
1903 downcast_call_tag<chatBoost> type_tag;
1904 func(type_tag);
1905 } else {
1906 func(static_cast<chatBoost &>(*obj));
1907 }
1908 return true;
1909 case chatBoostFeatures::ID:
1910 if constexpr (AllowTag) {
1911 downcast_call_tag<chatBoostFeatures> type_tag;
1912 func(type_tag);
1913 } else {
1914 func(static_cast<chatBoostFeatures &>(*obj));
1915 }
1916 return true;
1917 case chatBoostLevelFeatures::ID:
1918 if constexpr (AllowTag) {
1919 downcast_call_tag<chatBoostLevelFeatures> type_tag;
1920 func(type_tag);
1921 } else {
1922 func(static_cast<chatBoostLevelFeatures &>(*obj));
1923 }
1924 return true;
1925 case chatBoostLink::ID:
1926 if constexpr (AllowTag) {
1927 downcast_call_tag<chatBoostLink> type_tag;
1928 func(type_tag);
1929 } else {
1930 func(static_cast<chatBoostLink &>(*obj));
1931 }
1932 return true;
1933 case chatBoostLinkInfo::ID:
1934 if constexpr (AllowTag) {
1935 downcast_call_tag<chatBoostLinkInfo> type_tag;
1936 func(type_tag);
1937 } else {
1938 func(static_cast<chatBoostLinkInfo &>(*obj));
1939 }
1940 return true;
1941 case chatBoostSlot::ID:
1942 if constexpr (AllowTag) {
1943 downcast_call_tag<chatBoostSlot> type_tag;
1944 func(type_tag);
1945 } else {
1946 func(static_cast<chatBoostSlot &>(*obj));
1947 }
1948 return true;
1949 case chatBoostSlots::ID:
1950 if constexpr (AllowTag) {
1951 downcast_call_tag<chatBoostSlots> type_tag;
1952 func(type_tag);
1953 } else {
1954 func(static_cast<chatBoostSlots &>(*obj));
1955 }
1956 return true;
1957 case chatBoostSourceGiftCode::ID:
1958 if constexpr (AllowTag) {
1959 downcast_call_tag<chatBoostSourceGiftCode> type_tag;
1960 func(type_tag);
1961 } else {
1962 func(static_cast<chatBoostSourceGiftCode &>(*obj));
1963 }
1964 return true;
1965 case chatBoostSourceGiveaway::ID:
1966 if constexpr (AllowTag) {
1967 downcast_call_tag<chatBoostSourceGiveaway> type_tag;
1968 func(type_tag);
1969 } else {
1970 func(static_cast<chatBoostSourceGiveaway &>(*obj));
1971 }
1972 return true;
1973 case chatBoostSourcePremium::ID:
1974 if constexpr (AllowTag) {
1975 downcast_call_tag<chatBoostSourcePremium> type_tag;
1976 func(type_tag);
1977 } else {
1978 func(static_cast<chatBoostSourcePremium &>(*obj));
1979 }
1980 return true;
1981 case chatBoostStatus::ID:
1982 if constexpr (AllowTag) {
1983 downcast_call_tag<chatBoostStatus> type_tag;
1984 func(type_tag);
1985 } else {
1986 func(static_cast<chatBoostStatus &>(*obj));
1987 }
1988 return true;
1989 case chatEvent::ID:
1990 if constexpr (AllowTag) {
1991 downcast_call_tag<chatEvent> type_tag;
1992 func(type_tag);
1993 } else {
1994 func(static_cast<chatEvent &>(*obj));
1995 }
1996 return true;
1997 case chatEventMessageEdited::ID:
1998 if constexpr (AllowTag) {
1999 downcast_call_tag<chatEventMessageEdited> type_tag;
2000 func(type_tag);
2001 } else {
2002 func(static_cast<chatEventMessageEdited &>(*obj));
2003 }
2004 return true;
2005 case chatEventMessageDeleted::ID:
2006 if constexpr (AllowTag) {
2007 downcast_call_tag<chatEventMessageDeleted> type_tag;
2008 func(type_tag);
2009 } else {
2010 func(static_cast<chatEventMessageDeleted &>(*obj));
2011 }
2012 return true;
2013 case chatEventMessagePinned::ID:
2014 if constexpr (AllowTag) {
2015 downcast_call_tag<chatEventMessagePinned> type_tag;
2016 func(type_tag);
2017 } else {
2018 func(static_cast<chatEventMessagePinned &>(*obj));
2019 }
2020 return true;
2021 case chatEventMessageUnpinned::ID:
2022 if constexpr (AllowTag) {
2023 downcast_call_tag<chatEventMessageUnpinned> type_tag;
2024 func(type_tag);
2025 } else {
2026 func(static_cast<chatEventMessageUnpinned &>(*obj));
2027 }
2028 return true;
2029 case chatEventPollStopped::ID:
2030 if constexpr (AllowTag) {
2031 downcast_call_tag<chatEventPollStopped> type_tag;
2032 func(type_tag);
2033 } else {
2034 func(static_cast<chatEventPollStopped &>(*obj));
2035 }
2036 return true;
2037 case chatEventMemberJoined::ID:
2038 if constexpr (AllowTag) {
2039 downcast_call_tag<chatEventMemberJoined> type_tag;
2040 func(type_tag);
2041 } else {
2042 func(static_cast<chatEventMemberJoined &>(*obj));
2043 }
2044 return true;
2045 case chatEventMemberJoinedByInviteLink::ID:
2046 if constexpr (AllowTag) {
2047 downcast_call_tag<chatEventMemberJoinedByInviteLink> type_tag;
2048 func(type_tag);
2049 } else {
2050 func(static_cast<chatEventMemberJoinedByInviteLink &>(*obj));
2051 }
2052 return true;
2053 case chatEventMemberJoinedByRequest::ID:
2054 if constexpr (AllowTag) {
2055 downcast_call_tag<chatEventMemberJoinedByRequest> type_tag;
2056 func(type_tag);
2057 } else {
2058 func(static_cast<chatEventMemberJoinedByRequest &>(*obj));
2059 }
2060 return true;
2061 case chatEventMemberInvited::ID:
2062 if constexpr (AllowTag) {
2063 downcast_call_tag<chatEventMemberInvited> type_tag;
2064 func(type_tag);
2065 } else {
2066 func(static_cast<chatEventMemberInvited &>(*obj));
2067 }
2068 return true;
2069 case chatEventMemberLeft::ID:
2070 if constexpr (AllowTag) {
2071 downcast_call_tag<chatEventMemberLeft> type_tag;
2072 func(type_tag);
2073 } else {
2074 func(static_cast<chatEventMemberLeft &>(*obj));
2075 }
2076 return true;
2077 case chatEventMemberPromoted::ID:
2078 if constexpr (AllowTag) {
2079 downcast_call_tag<chatEventMemberPromoted> type_tag;
2080 func(type_tag);
2081 } else {
2082 func(static_cast<chatEventMemberPromoted &>(*obj));
2083 }
2084 return true;
2085 case chatEventMemberRestricted::ID:
2086 if constexpr (AllowTag) {
2087 downcast_call_tag<chatEventMemberRestricted> type_tag;
2088 func(type_tag);
2089 } else {
2090 func(static_cast<chatEventMemberRestricted &>(*obj));
2091 }
2092 return true;
2093 case chatEventMemberTagChanged::ID:
2094 if constexpr (AllowTag) {
2095 downcast_call_tag<chatEventMemberTagChanged> type_tag;
2096 func(type_tag);
2097 } else {
2098 func(static_cast<chatEventMemberTagChanged &>(*obj));
2099 }
2100 return true;
2101 case chatEventMemberSubscriptionExtended::ID:
2102 if constexpr (AllowTag) {
2103 downcast_call_tag<chatEventMemberSubscriptionExtended> type_tag;
2104 func(type_tag);
2105 } else {
2106 func(static_cast<chatEventMemberSubscriptionExtended &>(*obj));
2107 }
2108 return true;
2109 case chatEventAvailableReactionsChanged::ID:
2110 if constexpr (AllowTag) {
2111 downcast_call_tag<chatEventAvailableReactionsChanged> type_tag;
2112 func(type_tag);
2113 } else {
2114 func(static_cast<chatEventAvailableReactionsChanged &>(*obj));
2115 }
2116 return true;
2117 case chatEventBackgroundChanged::ID:
2118 if constexpr (AllowTag) {
2119 downcast_call_tag<chatEventBackgroundChanged> type_tag;
2120 func(type_tag);
2121 } else {
2122 func(static_cast<chatEventBackgroundChanged &>(*obj));
2123 }
2124 return true;
2125 case chatEventDescriptionChanged::ID:
2126 if constexpr (AllowTag) {
2127 downcast_call_tag<chatEventDescriptionChanged> type_tag;
2128 func(type_tag);
2129 } else {
2130 func(static_cast<chatEventDescriptionChanged &>(*obj));
2131 }
2132 return true;
2133 case chatEventEmojiStatusChanged::ID:
2134 if constexpr (AllowTag) {
2135 downcast_call_tag<chatEventEmojiStatusChanged> type_tag;
2136 func(type_tag);
2137 } else {
2138 func(static_cast<chatEventEmojiStatusChanged &>(*obj));
2139 }
2140 return true;
2141 case chatEventLinkedChatChanged::ID:
2142 if constexpr (AllowTag) {
2143 downcast_call_tag<chatEventLinkedChatChanged> type_tag;
2144 func(type_tag);
2145 } else {
2146 func(static_cast<chatEventLinkedChatChanged &>(*obj));
2147 }
2148 return true;
2149 case chatEventLocationChanged::ID:
2150 if constexpr (AllowTag) {
2151 downcast_call_tag<chatEventLocationChanged> type_tag;
2152 func(type_tag);
2153 } else {
2154 func(static_cast<chatEventLocationChanged &>(*obj));
2155 }
2156 return true;
2157 case chatEventMessageAutoDeleteTimeChanged::ID:
2158 if constexpr (AllowTag) {
2159 downcast_call_tag<chatEventMessageAutoDeleteTimeChanged> type_tag;
2160 func(type_tag);
2161 } else {
2162 func(static_cast<chatEventMessageAutoDeleteTimeChanged &>(*obj));
2163 }
2164 return true;
2165 case chatEventPermissionsChanged::ID:
2166 if constexpr (AllowTag) {
2167 downcast_call_tag<chatEventPermissionsChanged> type_tag;
2168 func(type_tag);
2169 } else {
2170 func(static_cast<chatEventPermissionsChanged &>(*obj));
2171 }
2172 return true;
2173 case chatEventPhotoChanged::ID:
2174 if constexpr (AllowTag) {
2175 downcast_call_tag<chatEventPhotoChanged> type_tag;
2176 func(type_tag);
2177 } else {
2178 func(static_cast<chatEventPhotoChanged &>(*obj));
2179 }
2180 return true;
2181 case chatEventSlowModeDelayChanged::ID:
2182 if constexpr (AllowTag) {
2183 downcast_call_tag<chatEventSlowModeDelayChanged> type_tag;
2184 func(type_tag);
2185 } else {
2186 func(static_cast<chatEventSlowModeDelayChanged &>(*obj));
2187 }
2188 return true;
2189 case chatEventStickerSetChanged::ID:
2190 if constexpr (AllowTag) {
2191 downcast_call_tag<chatEventStickerSetChanged> type_tag;
2192 func(type_tag);
2193 } else {
2194 func(static_cast<chatEventStickerSetChanged &>(*obj));
2195 }
2196 return true;
2197 case chatEventCustomEmojiStickerSetChanged::ID:
2198 if constexpr (AllowTag) {
2199 downcast_call_tag<chatEventCustomEmojiStickerSetChanged> type_tag;
2200 func(type_tag);
2201 } else {
2202 func(static_cast<chatEventCustomEmojiStickerSetChanged &>(*obj));
2203 }
2204 return true;
2205 case chatEventTitleChanged::ID:
2206 if constexpr (AllowTag) {
2207 downcast_call_tag<chatEventTitleChanged> type_tag;
2208 func(type_tag);
2209 } else {
2210 func(static_cast<chatEventTitleChanged &>(*obj));
2211 }
2212 return true;
2213 case chatEventUsernameChanged::ID:
2214 if constexpr (AllowTag) {
2215 downcast_call_tag<chatEventUsernameChanged> type_tag;
2216 func(type_tag);
2217 } else {
2218 func(static_cast<chatEventUsernameChanged &>(*obj));
2219 }
2220 return true;
2221 case chatEventActiveUsernamesChanged::ID:
2222 if constexpr (AllowTag) {
2223 downcast_call_tag<chatEventActiveUsernamesChanged> type_tag;
2224 func(type_tag);
2225 } else {
2226 func(static_cast<chatEventActiveUsernamesChanged &>(*obj));
2227 }
2228 return true;
2229 case chatEventAccentColorChanged::ID:
2230 if constexpr (AllowTag) {
2231 downcast_call_tag<chatEventAccentColorChanged> type_tag;
2232 func(type_tag);
2233 } else {
2234 func(static_cast<chatEventAccentColorChanged &>(*obj));
2235 }
2236 return true;
2237 case chatEventProfileAccentColorChanged::ID:
2238 if constexpr (AllowTag) {
2239 downcast_call_tag<chatEventProfileAccentColorChanged> type_tag;
2240 func(type_tag);
2241 } else {
2242 func(static_cast<chatEventProfileAccentColorChanged &>(*obj));
2243 }
2244 return true;
2245 case chatEventHasProtectedContentToggled::ID:
2246 if constexpr (AllowTag) {
2247 downcast_call_tag<chatEventHasProtectedContentToggled> type_tag;
2248 func(type_tag);
2249 } else {
2250 func(static_cast<chatEventHasProtectedContentToggled &>(*obj));
2251 }
2252 return true;
2253 case chatEventInvitesToggled::ID:
2254 if constexpr (AllowTag) {
2255 downcast_call_tag<chatEventInvitesToggled> type_tag;
2256 func(type_tag);
2257 } else {
2258 func(static_cast<chatEventInvitesToggled &>(*obj));
2259 }
2260 return true;
2261 case chatEventIsAllHistoryAvailableToggled::ID:
2262 if constexpr (AllowTag) {
2263 downcast_call_tag<chatEventIsAllHistoryAvailableToggled> type_tag;
2264 func(type_tag);
2265 } else {
2266 func(static_cast<chatEventIsAllHistoryAvailableToggled &>(*obj));
2267 }
2268 return true;
2269 case chatEventHasAggressiveAntiSpamEnabledToggled::ID:
2270 if constexpr (AllowTag) {
2271 downcast_call_tag<chatEventHasAggressiveAntiSpamEnabledToggled> type_tag;
2272 func(type_tag);
2273 } else {
2274 func(static_cast<chatEventHasAggressiveAntiSpamEnabledToggled &>(*obj));
2275 }
2276 return true;
2277 case chatEventSignMessagesToggled::ID:
2278 if constexpr (AllowTag) {
2279 downcast_call_tag<chatEventSignMessagesToggled> type_tag;
2280 func(type_tag);
2281 } else {
2282 func(static_cast<chatEventSignMessagesToggled &>(*obj));
2283 }
2284 return true;
2285 case chatEventShowMessageSenderToggled::ID:
2286 if constexpr (AllowTag) {
2287 downcast_call_tag<chatEventShowMessageSenderToggled> type_tag;
2288 func(type_tag);
2289 } else {
2290 func(static_cast<chatEventShowMessageSenderToggled &>(*obj));
2291 }
2292 return true;
2293 case chatEventAutomaticTranslationToggled::ID:
2294 if constexpr (AllowTag) {
2295 downcast_call_tag<chatEventAutomaticTranslationToggled> type_tag;
2296 func(type_tag);
2297 } else {
2298 func(static_cast<chatEventAutomaticTranslationToggled &>(*obj));
2299 }
2300 return true;
2301 case chatEventInviteLinkEdited::ID:
2302 if constexpr (AllowTag) {
2303 downcast_call_tag<chatEventInviteLinkEdited> type_tag;
2304 func(type_tag);
2305 } else {
2306 func(static_cast<chatEventInviteLinkEdited &>(*obj));
2307 }
2308 return true;
2309 case chatEventInviteLinkRevoked::ID:
2310 if constexpr (AllowTag) {
2311 downcast_call_tag<chatEventInviteLinkRevoked> type_tag;
2312 func(type_tag);
2313 } else {
2314 func(static_cast<chatEventInviteLinkRevoked &>(*obj));
2315 }
2316 return true;
2317 case chatEventInviteLinkDeleted::ID:
2318 if constexpr (AllowTag) {
2319 downcast_call_tag<chatEventInviteLinkDeleted> type_tag;
2320 func(type_tag);
2321 } else {
2322 func(static_cast<chatEventInviteLinkDeleted &>(*obj));
2323 }
2324 return true;
2325 case chatEventVideoChatCreated::ID:
2326 if constexpr (AllowTag) {
2327 downcast_call_tag<chatEventVideoChatCreated> type_tag;
2328 func(type_tag);
2329 } else {
2330 func(static_cast<chatEventVideoChatCreated &>(*obj));
2331 }
2332 return true;
2333 case chatEventVideoChatEnded::ID:
2334 if constexpr (AllowTag) {
2335 downcast_call_tag<chatEventVideoChatEnded> type_tag;
2336 func(type_tag);
2337 } else {
2338 func(static_cast<chatEventVideoChatEnded &>(*obj));
2339 }
2340 return true;
2341 case chatEventVideoChatMuteNewParticipantsToggled::ID:
2342 if constexpr (AllowTag) {
2343 downcast_call_tag<chatEventVideoChatMuteNewParticipantsToggled> type_tag;
2344 func(type_tag);
2345 } else {
2346 func(static_cast<chatEventVideoChatMuteNewParticipantsToggled &>(*obj));
2347 }
2348 return true;
2349 case chatEventVideoChatParticipantIsMutedToggled::ID:
2350 if constexpr (AllowTag) {
2351 downcast_call_tag<chatEventVideoChatParticipantIsMutedToggled> type_tag;
2352 func(type_tag);
2353 } else {
2354 func(static_cast<chatEventVideoChatParticipantIsMutedToggled &>(*obj));
2355 }
2356 return true;
2357 case chatEventVideoChatParticipantVolumeLevelChanged::ID:
2358 if constexpr (AllowTag) {
2359 downcast_call_tag<chatEventVideoChatParticipantVolumeLevelChanged> type_tag;
2360 func(type_tag);
2361 } else {
2362 func(static_cast<chatEventVideoChatParticipantVolumeLevelChanged &>(*obj));
2363 }
2364 return true;
2365 case chatEventIsForumToggled::ID:
2366 if constexpr (AllowTag) {
2367 downcast_call_tag<chatEventIsForumToggled> type_tag;
2368 func(type_tag);
2369 } else {
2370 func(static_cast<chatEventIsForumToggled &>(*obj));
2371 }
2372 return true;
2373 case chatEventForumTopicCreated::ID:
2374 if constexpr (AllowTag) {
2375 downcast_call_tag<chatEventForumTopicCreated> type_tag;
2376 func(type_tag);
2377 } else {
2378 func(static_cast<chatEventForumTopicCreated &>(*obj));
2379 }
2380 return true;
2381 case chatEventForumTopicEdited::ID:
2382 if constexpr (AllowTag) {
2383 downcast_call_tag<chatEventForumTopicEdited> type_tag;
2384 func(type_tag);
2385 } else {
2386 func(static_cast<chatEventForumTopicEdited &>(*obj));
2387 }
2388 return true;
2389 case chatEventForumTopicToggleIsClosed::ID:
2390 if constexpr (AllowTag) {
2391 downcast_call_tag<chatEventForumTopicToggleIsClosed> type_tag;
2392 func(type_tag);
2393 } else {
2394 func(static_cast<chatEventForumTopicToggleIsClosed &>(*obj));
2395 }
2396 return true;
2397 case chatEventForumTopicToggleIsHidden::ID:
2398 if constexpr (AllowTag) {
2399 downcast_call_tag<chatEventForumTopicToggleIsHidden> type_tag;
2400 func(type_tag);
2401 } else {
2402 func(static_cast<chatEventForumTopicToggleIsHidden &>(*obj));
2403 }
2404 return true;
2405 case chatEventForumTopicDeleted::ID:
2406 if constexpr (AllowTag) {
2407 downcast_call_tag<chatEventForumTopicDeleted> type_tag;
2408 func(type_tag);
2409 } else {
2410 func(static_cast<chatEventForumTopicDeleted &>(*obj));
2411 }
2412 return true;
2413 case chatEventForumTopicPinned::ID:
2414 if constexpr (AllowTag) {
2415 downcast_call_tag<chatEventForumTopicPinned> type_tag;
2416 func(type_tag);
2417 } else {
2418 func(static_cast<chatEventForumTopicPinned &>(*obj));
2419 }
2420 return true;
2421 case chatEventLogFilters::ID:
2422 if constexpr (AllowTag) {
2423 downcast_call_tag<chatEventLogFilters> type_tag;
2424 func(type_tag);
2425 } else {
2426 func(static_cast<chatEventLogFilters &>(*obj));
2427 }
2428 return true;
2429 case chatEvents::ID:
2430 if constexpr (AllowTag) {
2431 downcast_call_tag<chatEvents> type_tag;
2432 func(type_tag);
2433 } else {
2434 func(static_cast<chatEvents &>(*obj));
2435 }
2436 return true;
2437 case chatFolder::ID:
2438 if constexpr (AllowTag) {
2439 downcast_call_tag<chatFolder> type_tag;
2440 func(type_tag);
2441 } else {
2442 func(static_cast<chatFolder &>(*obj));
2443 }
2444 return true;
2445 case chatFolderIcon::ID:
2446 if constexpr (AllowTag) {
2447 downcast_call_tag<chatFolderIcon> type_tag;
2448 func(type_tag);
2449 } else {
2450 func(static_cast<chatFolderIcon &>(*obj));
2451 }
2452 return true;
2453 case chatFolderInfo::ID:
2454 if constexpr (AllowTag) {
2455 downcast_call_tag<chatFolderInfo> type_tag;
2456 func(type_tag);
2457 } else {
2458 func(static_cast<chatFolderInfo &>(*obj));
2459 }
2460 return true;
2461 case chatFolderInviteLink::ID:
2462 if constexpr (AllowTag) {
2463 downcast_call_tag<chatFolderInviteLink> type_tag;
2464 func(type_tag);
2465 } else {
2466 func(static_cast<chatFolderInviteLink &>(*obj));
2467 }
2468 return true;
2469 case chatFolderInviteLinkInfo::ID:
2470 if constexpr (AllowTag) {
2471 downcast_call_tag<chatFolderInviteLinkInfo> type_tag;
2472 func(type_tag);
2473 } else {
2474 func(static_cast<chatFolderInviteLinkInfo &>(*obj));
2475 }
2476 return true;
2477 case chatFolderInviteLinks::ID:
2478 if constexpr (AllowTag) {
2479 downcast_call_tag<chatFolderInviteLinks> type_tag;
2480 func(type_tag);
2481 } else {
2482 func(static_cast<chatFolderInviteLinks &>(*obj));
2483 }
2484 return true;
2485 case chatFolderName::ID:
2486 if constexpr (AllowTag) {
2487 downcast_call_tag<chatFolderName> type_tag;
2488 func(type_tag);
2489 } else {
2490 func(static_cast<chatFolderName &>(*obj));
2491 }
2492 return true;
2493 case chatInviteLink::ID:
2494 if constexpr (AllowTag) {
2495 downcast_call_tag<chatInviteLink> type_tag;
2496 func(type_tag);
2497 } else {
2498 func(static_cast<chatInviteLink &>(*obj));
2499 }
2500 return true;
2501 case chatInviteLinkCount::ID:
2502 if constexpr (AllowTag) {
2503 downcast_call_tag<chatInviteLinkCount> type_tag;
2504 func(type_tag);
2505 } else {
2506 func(static_cast<chatInviteLinkCount &>(*obj));
2507 }
2508 return true;
2509 case chatInviteLinkCounts::ID:
2510 if constexpr (AllowTag) {
2511 downcast_call_tag<chatInviteLinkCounts> type_tag;
2512 func(type_tag);
2513 } else {
2514 func(static_cast<chatInviteLinkCounts &>(*obj));
2515 }
2516 return true;
2517 case chatInviteLinkInfo::ID:
2518 if constexpr (AllowTag) {
2519 downcast_call_tag<chatInviteLinkInfo> type_tag;
2520 func(type_tag);
2521 } else {
2522 func(static_cast<chatInviteLinkInfo &>(*obj));
2523 }
2524 return true;
2525 case chatInviteLinkMember::ID:
2526 if constexpr (AllowTag) {
2527 downcast_call_tag<chatInviteLinkMember> type_tag;
2528 func(type_tag);
2529 } else {
2530 func(static_cast<chatInviteLinkMember &>(*obj));
2531 }
2532 return true;
2533 case chatInviteLinkMembers::ID:
2534 if constexpr (AllowTag) {
2535 downcast_call_tag<chatInviteLinkMembers> type_tag;
2536 func(type_tag);
2537 } else {
2538 func(static_cast<chatInviteLinkMembers &>(*obj));
2539 }
2540 return true;
2541 case chatInviteLinkSubscriptionInfo::ID:
2542 if constexpr (AllowTag) {
2543 downcast_call_tag<chatInviteLinkSubscriptionInfo> type_tag;
2544 func(type_tag);
2545 } else {
2546 func(static_cast<chatInviteLinkSubscriptionInfo &>(*obj));
2547 }
2548 return true;
2549 case chatInviteLinks::ID:
2550 if constexpr (AllowTag) {
2551 downcast_call_tag<chatInviteLinks> type_tag;
2552 func(type_tag);
2553 } else {
2554 func(static_cast<chatInviteLinks &>(*obj));
2555 }
2556 return true;
2557 case chatJoinRequest::ID:
2558 if constexpr (AllowTag) {
2559 downcast_call_tag<chatJoinRequest> type_tag;
2560 func(type_tag);
2561 } else {
2562 func(static_cast<chatJoinRequest &>(*obj));
2563 }
2564 return true;
2565 case chatJoinRequests::ID:
2566 if constexpr (AllowTag) {
2567 downcast_call_tag<chatJoinRequests> type_tag;
2568 func(type_tag);
2569 } else {
2570 func(static_cast<chatJoinRequests &>(*obj));
2571 }
2572 return true;
2573 case chatJoinRequestsInfo::ID:
2574 if constexpr (AllowTag) {
2575 downcast_call_tag<chatJoinRequestsInfo> type_tag;
2576 func(type_tag);
2577 } else {
2578 func(static_cast<chatJoinRequestsInfo &>(*obj));
2579 }
2580 return true;
2581 case chatListMain::ID:
2582 if constexpr (AllowTag) {
2583 downcast_call_tag<chatListMain> type_tag;
2584 func(type_tag);
2585 } else {
2586 func(static_cast<chatListMain &>(*obj));
2587 }
2588 return true;
2589 case chatListArchive::ID:
2590 if constexpr (AllowTag) {
2591 downcast_call_tag<chatListArchive> type_tag;
2592 func(type_tag);
2593 } else {
2594 func(static_cast<chatListArchive &>(*obj));
2595 }
2596 return true;
2597 case chatListFolder::ID:
2598 if constexpr (AllowTag) {
2599 downcast_call_tag<chatListFolder> type_tag;
2600 func(type_tag);
2601 } else {
2602 func(static_cast<chatListFolder &>(*obj));
2603 }
2604 return true;
2605 case chatLists::ID:
2606 if constexpr (AllowTag) {
2607 downcast_call_tag<chatLists> type_tag;
2608 func(type_tag);
2609 } else {
2610 func(static_cast<chatLists &>(*obj));
2611 }
2612 return true;
2613 case chatLocation::ID:
2614 if constexpr (AllowTag) {
2615 downcast_call_tag<chatLocation> type_tag;
2616 func(type_tag);
2617 } else {
2618 func(static_cast<chatLocation &>(*obj));
2619 }
2620 return true;
2621 case chatMember::ID:
2622 if constexpr (AllowTag) {
2623 downcast_call_tag<chatMember> type_tag;
2624 func(type_tag);
2625 } else {
2626 func(static_cast<chatMember &>(*obj));
2627 }
2628 return true;
2629 case chatMemberStatusCreator::ID:
2630 if constexpr (AllowTag) {
2631 downcast_call_tag<chatMemberStatusCreator> type_tag;
2632 func(type_tag);
2633 } else {
2634 func(static_cast<chatMemberStatusCreator &>(*obj));
2635 }
2636 return true;
2637 case chatMemberStatusAdministrator::ID:
2638 if constexpr (AllowTag) {
2639 downcast_call_tag<chatMemberStatusAdministrator> type_tag;
2640 func(type_tag);
2641 } else {
2642 func(static_cast<chatMemberStatusAdministrator &>(*obj));
2643 }
2644 return true;
2645 case chatMemberStatusMember::ID:
2646 if constexpr (AllowTag) {
2647 downcast_call_tag<chatMemberStatusMember> type_tag;
2648 func(type_tag);
2649 } else {
2650 func(static_cast<chatMemberStatusMember &>(*obj));
2651 }
2652 return true;
2653 case chatMemberStatusRestricted::ID:
2654 if constexpr (AllowTag) {
2655 downcast_call_tag<chatMemberStatusRestricted> type_tag;
2656 func(type_tag);
2657 } else {
2658 func(static_cast<chatMemberStatusRestricted &>(*obj));
2659 }
2660 return true;
2661 case chatMemberStatusLeft::ID:
2662 if constexpr (AllowTag) {
2663 downcast_call_tag<chatMemberStatusLeft> type_tag;
2664 func(type_tag);
2665 } else {
2666 func(static_cast<chatMemberStatusLeft &>(*obj));
2667 }
2668 return true;
2669 case chatMemberStatusBanned::ID:
2670 if constexpr (AllowTag) {
2671 downcast_call_tag<chatMemberStatusBanned> type_tag;
2672 func(type_tag);
2673 } else {
2674 func(static_cast<chatMemberStatusBanned &>(*obj));
2675 }
2676 return true;
2677 case chatMembers::ID:
2678 if constexpr (AllowTag) {
2679 downcast_call_tag<chatMembers> type_tag;
2680 func(type_tag);
2681 } else {
2682 func(static_cast<chatMembers &>(*obj));
2683 }
2684 return true;
2685 case chatMembersFilterContacts::ID:
2686 if constexpr (AllowTag) {
2687 downcast_call_tag<chatMembersFilterContacts> type_tag;
2688 func(type_tag);
2689 } else {
2690 func(static_cast<chatMembersFilterContacts &>(*obj));
2691 }
2692 return true;
2693 case chatMembersFilterAdministrators::ID:
2694 if constexpr (AllowTag) {
2695 downcast_call_tag<chatMembersFilterAdministrators> type_tag;
2696 func(type_tag);
2697 } else {
2698 func(static_cast<chatMembersFilterAdministrators &>(*obj));
2699 }
2700 return true;
2701 case chatMembersFilterMembers::ID:
2702 if constexpr (AllowTag) {
2703 downcast_call_tag<chatMembersFilterMembers> type_tag;
2704 func(type_tag);
2705 } else {
2706 func(static_cast<chatMembersFilterMembers &>(*obj));
2707 }
2708 return true;
2709 case chatMembersFilterMention::ID:
2710 if constexpr (AllowTag) {
2711 downcast_call_tag<chatMembersFilterMention> type_tag;
2712 func(type_tag);
2713 } else {
2714 func(static_cast<chatMembersFilterMention &>(*obj));
2715 }
2716 return true;
2717 case chatMembersFilterRestricted::ID:
2718 if constexpr (AllowTag) {
2719 downcast_call_tag<chatMembersFilterRestricted> type_tag;
2720 func(type_tag);
2721 } else {
2722 func(static_cast<chatMembersFilterRestricted &>(*obj));
2723 }
2724 return true;
2725 case chatMembersFilterBanned::ID:
2726 if constexpr (AllowTag) {
2727 downcast_call_tag<chatMembersFilterBanned> type_tag;
2728 func(type_tag);
2729 } else {
2730 func(static_cast<chatMembersFilterBanned &>(*obj));
2731 }
2732 return true;
2733 case chatMembersFilterBots::ID:
2734 if constexpr (AllowTag) {
2735 downcast_call_tag<chatMembersFilterBots> type_tag;
2736 func(type_tag);
2737 } else {
2738 func(static_cast<chatMembersFilterBots &>(*obj));
2739 }
2740 return true;
2741 case chatMessageSender::ID:
2742 if constexpr (AllowTag) {
2743 downcast_call_tag<chatMessageSender> type_tag;
2744 func(type_tag);
2745 } else {
2746 func(static_cast<chatMessageSender &>(*obj));
2747 }
2748 return true;
2749 case chatMessageSenders::ID:
2750 if constexpr (AllowTag) {
2751 downcast_call_tag<chatMessageSenders> type_tag;
2752 func(type_tag);
2753 } else {
2754 func(static_cast<chatMessageSenders &>(*obj));
2755 }
2756 return true;
2757 case chatNotificationSettings::ID:
2758 if constexpr (AllowTag) {
2759 downcast_call_tag<chatNotificationSettings> type_tag;
2760 func(type_tag);
2761 } else {
2762 func(static_cast<chatNotificationSettings &>(*obj));
2763 }
2764 return true;
2765 case chatPermissions::ID:
2766 if constexpr (AllowTag) {
2767 downcast_call_tag<chatPermissions> type_tag;
2768 func(type_tag);
2769 } else {
2770 func(static_cast<chatPermissions &>(*obj));
2771 }
2772 return true;
2773 case chatPhoto::ID:
2774 if constexpr (AllowTag) {
2775 downcast_call_tag<chatPhoto> type_tag;
2776 func(type_tag);
2777 } else {
2778 func(static_cast<chatPhoto &>(*obj));
2779 }
2780 return true;
2781 case chatPhotoInfo::ID:
2782 if constexpr (AllowTag) {
2783 downcast_call_tag<chatPhotoInfo> type_tag;
2784 func(type_tag);
2785 } else {
2786 func(static_cast<chatPhotoInfo &>(*obj));
2787 }
2788 return true;
2789 case chatPhotoSticker::ID:
2790 if constexpr (AllowTag) {
2791 downcast_call_tag<chatPhotoSticker> type_tag;
2792 func(type_tag);
2793 } else {
2794 func(static_cast<chatPhotoSticker &>(*obj));
2795 }
2796 return true;
2797 case chatPhotoStickerTypeRegularOrMask::ID:
2798 if constexpr (AllowTag) {
2799 downcast_call_tag<chatPhotoStickerTypeRegularOrMask> type_tag;
2800 func(type_tag);
2801 } else {
2802 func(static_cast<chatPhotoStickerTypeRegularOrMask &>(*obj));
2803 }
2804 return true;
2805 case chatPhotoStickerTypeCustomEmoji::ID:
2806 if constexpr (AllowTag) {
2807 downcast_call_tag<chatPhotoStickerTypeCustomEmoji> type_tag;
2808 func(type_tag);
2809 } else {
2810 func(static_cast<chatPhotoStickerTypeCustomEmoji &>(*obj));
2811 }
2812 return true;
2813 case chatPhotos::ID:
2814 if constexpr (AllowTag) {
2815 downcast_call_tag<chatPhotos> type_tag;
2816 func(type_tag);
2817 } else {
2818 func(static_cast<chatPhotos &>(*obj));
2819 }
2820 return true;
2821 case chatPosition::ID:
2822 if constexpr (AllowTag) {
2823 downcast_call_tag<chatPosition> type_tag;
2824 func(type_tag);
2825 } else {
2826 func(static_cast<chatPosition &>(*obj));
2827 }
2828 return true;
2829 case chatRevenueAmount::ID:
2830 if constexpr (AllowTag) {
2831 downcast_call_tag<chatRevenueAmount> type_tag;
2832 func(type_tag);
2833 } else {
2834 func(static_cast<chatRevenueAmount &>(*obj));
2835 }
2836 return true;
2837 case chatRevenueStatistics::ID:
2838 if constexpr (AllowTag) {
2839 downcast_call_tag<chatRevenueStatistics> type_tag;
2840 func(type_tag);
2841 } else {
2842 func(static_cast<chatRevenueStatistics &>(*obj));
2843 }
2844 return true;
2845 case chatRevenueTransaction::ID:
2846 if constexpr (AllowTag) {
2847 downcast_call_tag<chatRevenueTransaction> type_tag;
2848 func(type_tag);
2849 } else {
2850 func(static_cast<chatRevenueTransaction &>(*obj));
2851 }
2852 return true;
2853 case chatRevenueTransactionTypeUnsupported::ID:
2854 if constexpr (AllowTag) {
2855 downcast_call_tag<chatRevenueTransactionTypeUnsupported> type_tag;
2856 func(type_tag);
2857 } else {
2858 func(static_cast<chatRevenueTransactionTypeUnsupported &>(*obj));
2859 }
2860 return true;
2861 case chatRevenueTransactionTypeSponsoredMessageEarnings::ID:
2862 if constexpr (AllowTag) {
2863 downcast_call_tag<chatRevenueTransactionTypeSponsoredMessageEarnings> type_tag;
2864 func(type_tag);
2865 } else {
2866 func(static_cast<chatRevenueTransactionTypeSponsoredMessageEarnings &>(*obj));
2867 }
2868 return true;
2869 case chatRevenueTransactionTypeSuggestedPostEarnings::ID:
2870 if constexpr (AllowTag) {
2871 downcast_call_tag<chatRevenueTransactionTypeSuggestedPostEarnings> type_tag;
2872 func(type_tag);
2873 } else {
2874 func(static_cast<chatRevenueTransactionTypeSuggestedPostEarnings &>(*obj));
2875 }
2876 return true;
2877 case chatRevenueTransactionTypeFragmentWithdrawal::ID:
2878 if constexpr (AllowTag) {
2879 downcast_call_tag<chatRevenueTransactionTypeFragmentWithdrawal> type_tag;
2880 func(type_tag);
2881 } else {
2882 func(static_cast<chatRevenueTransactionTypeFragmentWithdrawal &>(*obj));
2883 }
2884 return true;
2885 case chatRevenueTransactionTypeFragmentRefund::ID:
2886 if constexpr (AllowTag) {
2887 downcast_call_tag<chatRevenueTransactionTypeFragmentRefund> type_tag;
2888 func(type_tag);
2889 } else {
2890 func(static_cast<chatRevenueTransactionTypeFragmentRefund &>(*obj));
2891 }
2892 return true;
2893 case chatRevenueTransactions::ID:
2894 if constexpr (AllowTag) {
2895 downcast_call_tag<chatRevenueTransactions> type_tag;
2896 func(type_tag);
2897 } else {
2898 func(static_cast<chatRevenueTransactions &>(*obj));
2899 }
2900 return true;
2901 case chatSourceMtprotoProxy::ID:
2902 if constexpr (AllowTag) {
2903 downcast_call_tag<chatSourceMtprotoProxy> type_tag;
2904 func(type_tag);
2905 } else {
2906 func(static_cast<chatSourceMtprotoProxy &>(*obj));
2907 }
2908 return true;
2909 case chatSourcePublicServiceAnnouncement::ID:
2910 if constexpr (AllowTag) {
2911 downcast_call_tag<chatSourcePublicServiceAnnouncement> type_tag;
2912 func(type_tag);
2913 } else {
2914 func(static_cast<chatSourcePublicServiceAnnouncement &>(*obj));
2915 }
2916 return true;
2917 case chatStatisticsSupergroup::ID:
2918 if constexpr (AllowTag) {
2919 downcast_call_tag<chatStatisticsSupergroup> type_tag;
2920 func(type_tag);
2921 } else {
2922 func(static_cast<chatStatisticsSupergroup &>(*obj));
2923 }
2924 return true;
2925 case chatStatisticsChannel::ID:
2926 if constexpr (AllowTag) {
2927 downcast_call_tag<chatStatisticsChannel> type_tag;
2928 func(type_tag);
2929 } else {
2930 func(static_cast<chatStatisticsChannel &>(*obj));
2931 }
2932 return true;
2933 case chatStatisticsAdministratorActionsInfo::ID:
2934 if constexpr (AllowTag) {
2935 downcast_call_tag<chatStatisticsAdministratorActionsInfo> type_tag;
2936 func(type_tag);
2937 } else {
2938 func(static_cast<chatStatisticsAdministratorActionsInfo &>(*obj));
2939 }
2940 return true;
2941 case chatStatisticsInteractionInfo::ID:
2942 if constexpr (AllowTag) {
2943 downcast_call_tag<chatStatisticsInteractionInfo> type_tag;
2944 func(type_tag);
2945 } else {
2946 func(static_cast<chatStatisticsInteractionInfo &>(*obj));
2947 }
2948 return true;
2949 case chatStatisticsInviterInfo::ID:
2950 if constexpr (AllowTag) {
2951 downcast_call_tag<chatStatisticsInviterInfo> type_tag;
2952 func(type_tag);
2953 } else {
2954 func(static_cast<chatStatisticsInviterInfo &>(*obj));
2955 }
2956 return true;
2957 case chatStatisticsMessageSenderInfo::ID:
2958 if constexpr (AllowTag) {
2959 downcast_call_tag<chatStatisticsMessageSenderInfo> type_tag;
2960 func(type_tag);
2961 } else {
2962 func(static_cast<chatStatisticsMessageSenderInfo &>(*obj));
2963 }
2964 return true;
2965 case chatStatisticsObjectTypeMessage::ID:
2966 if constexpr (AllowTag) {
2967 downcast_call_tag<chatStatisticsObjectTypeMessage> type_tag;
2968 func(type_tag);
2969 } else {
2970 func(static_cast<chatStatisticsObjectTypeMessage &>(*obj));
2971 }
2972 return true;
2973 case chatStatisticsObjectTypeStory::ID:
2974 if constexpr (AllowTag) {
2975 downcast_call_tag<chatStatisticsObjectTypeStory> type_tag;
2976 func(type_tag);
2977 } else {
2978 func(static_cast<chatStatisticsObjectTypeStory &>(*obj));
2979 }
2980 return true;
2981 case chatThemeEmoji::ID:
2982 if constexpr (AllowTag) {
2983 downcast_call_tag<chatThemeEmoji> type_tag;
2984 func(type_tag);
2985 } else {
2986 func(static_cast<chatThemeEmoji &>(*obj));
2987 }
2988 return true;
2989 case chatThemeGift::ID:
2990 if constexpr (AllowTag) {
2991 downcast_call_tag<chatThemeGift> type_tag;
2992 func(type_tag);
2993 } else {
2994 func(static_cast<chatThemeGift &>(*obj));
2995 }
2996 return true;
2997 case chatTypePrivate::ID:
2998 if constexpr (AllowTag) {
2999 downcast_call_tag<chatTypePrivate> type_tag;
3000 func(type_tag);
3001 } else {
3002 func(static_cast<chatTypePrivate &>(*obj));
3003 }
3004 return true;
3005 case chatTypeBasicGroup::ID:
3006 if constexpr (AllowTag) {
3007 downcast_call_tag<chatTypeBasicGroup> type_tag;
3008 func(type_tag);
3009 } else {
3010 func(static_cast<chatTypeBasicGroup &>(*obj));
3011 }
3012 return true;
3013 case chatTypeSupergroup::ID:
3014 if constexpr (AllowTag) {
3015 downcast_call_tag<chatTypeSupergroup> type_tag;
3016 func(type_tag);
3017 } else {
3018 func(static_cast<chatTypeSupergroup &>(*obj));
3019 }
3020 return true;
3021 case chatTypeSecret::ID:
3022 if constexpr (AllowTag) {
3023 downcast_call_tag<chatTypeSecret> type_tag;
3024 func(type_tag);
3025 } else {
3026 func(static_cast<chatTypeSecret &>(*obj));
3027 }
3028 return true;
3029 case chats::ID:
3030 if constexpr (AllowTag) {
3031 downcast_call_tag<chats> type_tag;
3032 func(type_tag);
3033 } else {
3034 func(static_cast<chats &>(*obj));
3035 }
3036 return true;
3037 case checkChatUsernameResultOk::ID:
3038 if constexpr (AllowTag) {
3039 downcast_call_tag<checkChatUsernameResultOk> type_tag;
3040 func(type_tag);
3041 } else {
3042 func(static_cast<checkChatUsernameResultOk &>(*obj));
3043 }
3044 return true;
3045 case checkChatUsernameResultUsernameInvalid::ID:
3046 if constexpr (AllowTag) {
3047 downcast_call_tag<checkChatUsernameResultUsernameInvalid> type_tag;
3048 func(type_tag);
3049 } else {
3050 func(static_cast<checkChatUsernameResultUsernameInvalid &>(*obj));
3051 }
3052 return true;
3053 case checkChatUsernameResultUsernameOccupied::ID:
3054 if constexpr (AllowTag) {
3055 downcast_call_tag<checkChatUsernameResultUsernameOccupied> type_tag;
3056 func(type_tag);
3057 } else {
3058 func(static_cast<checkChatUsernameResultUsernameOccupied &>(*obj));
3059 }
3060 return true;
3061 case checkChatUsernameResultUsernamePurchasable::ID:
3062 if constexpr (AllowTag) {
3063 downcast_call_tag<checkChatUsernameResultUsernamePurchasable> type_tag;
3064 func(type_tag);
3065 } else {
3066 func(static_cast<checkChatUsernameResultUsernamePurchasable &>(*obj));
3067 }
3068 return true;
3069 case checkChatUsernameResultPublicChatsTooMany::ID:
3070 if constexpr (AllowTag) {
3071 downcast_call_tag<checkChatUsernameResultPublicChatsTooMany> type_tag;
3072 func(type_tag);
3073 } else {
3074 func(static_cast<checkChatUsernameResultPublicChatsTooMany &>(*obj));
3075 }
3076 return true;
3077 case checkChatUsernameResultPublicGroupsUnavailable::ID:
3078 if constexpr (AllowTag) {
3079 downcast_call_tag<checkChatUsernameResultPublicGroupsUnavailable> type_tag;
3080 func(type_tag);
3081 } else {
3082 func(static_cast<checkChatUsernameResultPublicGroupsUnavailable &>(*obj));
3083 }
3084 return true;
3085 case checkStickerSetNameResultOk::ID:
3086 if constexpr (AllowTag) {
3087 downcast_call_tag<checkStickerSetNameResultOk> type_tag;
3088 func(type_tag);
3089 } else {
3090 func(static_cast<checkStickerSetNameResultOk &>(*obj));
3091 }
3092 return true;
3093 case checkStickerSetNameResultNameInvalid::ID:
3094 if constexpr (AllowTag) {
3095 downcast_call_tag<checkStickerSetNameResultNameInvalid> type_tag;
3096 func(type_tag);
3097 } else {
3098 func(static_cast<checkStickerSetNameResultNameInvalid &>(*obj));
3099 }
3100 return true;
3101 case checkStickerSetNameResultNameOccupied::ID:
3102 if constexpr (AllowTag) {
3103 downcast_call_tag<checkStickerSetNameResultNameOccupied> type_tag;
3104 func(type_tag);
3105 } else {
3106 func(static_cast<checkStickerSetNameResultNameOccupied &>(*obj));
3107 }
3108 return true;
3109 case checklist::ID:
3110 if constexpr (AllowTag) {
3111 downcast_call_tag<checklist> type_tag;
3112 func(type_tag);
3113 } else {
3114 func(static_cast<checklist &>(*obj));
3115 }
3116 return true;
3117 case checklistTask::ID:
3118 if constexpr (AllowTag) {
3119 downcast_call_tag<checklistTask> type_tag;
3120 func(type_tag);
3121 } else {
3122 func(static_cast<checklistTask &>(*obj));
3123 }
3124 return true;
3125 case closeBirthdayUser::ID:
3126 if constexpr (AllowTag) {
3127 downcast_call_tag<closeBirthdayUser> type_tag;
3128 func(type_tag);
3129 } else {
3130 func(static_cast<closeBirthdayUser &>(*obj));
3131 }
3132 return true;
3133 case closedVectorPath::ID:
3134 if constexpr (AllowTag) {
3135 downcast_call_tag<closedVectorPath> type_tag;
3136 func(type_tag);
3137 } else {
3138 func(static_cast<closedVectorPath &>(*obj));
3139 }
3140 return true;
3141 case collectibleItemInfo::ID:
3142 if constexpr (AllowTag) {
3143 downcast_call_tag<collectibleItemInfo> type_tag;
3144 func(type_tag);
3145 } else {
3146 func(static_cast<collectibleItemInfo &>(*obj));
3147 }
3148 return true;
3149 case collectibleItemTypeUsername::ID:
3150 if constexpr (AllowTag) {
3151 downcast_call_tag<collectibleItemTypeUsername> type_tag;
3152 func(type_tag);
3153 } else {
3154 func(static_cast<collectibleItemTypeUsername &>(*obj));
3155 }
3156 return true;
3157 case collectibleItemTypePhoneNumber::ID:
3158 if constexpr (AllowTag) {
3159 downcast_call_tag<collectibleItemTypePhoneNumber> type_tag;
3160 func(type_tag);
3161 } else {
3162 func(static_cast<collectibleItemTypePhoneNumber &>(*obj));
3163 }
3164 return true;
3165 case connectedAffiliateProgram::ID:
3166 if constexpr (AllowTag) {
3167 downcast_call_tag<connectedAffiliateProgram> type_tag;
3168 func(type_tag);
3169 } else {
3170 func(static_cast<connectedAffiliateProgram &>(*obj));
3171 }
3172 return true;
3173 case connectedAffiliatePrograms::ID:
3174 if constexpr (AllowTag) {
3175 downcast_call_tag<connectedAffiliatePrograms> type_tag;
3176 func(type_tag);
3177 } else {
3178 func(static_cast<connectedAffiliatePrograms &>(*obj));
3179 }
3180 return true;
3181 case connectedWebsite::ID:
3182 if constexpr (AllowTag) {
3183 downcast_call_tag<connectedWebsite> type_tag;
3184 func(type_tag);
3185 } else {
3186 func(static_cast<connectedWebsite &>(*obj));
3187 }
3188 return true;
3189 case connectedWebsites::ID:
3190 if constexpr (AllowTag) {
3191 downcast_call_tag<connectedWebsites> type_tag;
3192 func(type_tag);
3193 } else {
3194 func(static_cast<connectedWebsites &>(*obj));
3195 }
3196 return true;
3197 case connectionStateWaitingForNetwork::ID:
3198 if constexpr (AllowTag) {
3199 downcast_call_tag<connectionStateWaitingForNetwork> type_tag;
3200 func(type_tag);
3201 } else {
3202 func(static_cast<connectionStateWaitingForNetwork &>(*obj));
3203 }
3204 return true;
3205 case connectionStateConnectingToProxy::ID:
3206 if constexpr (AllowTag) {
3207 downcast_call_tag<connectionStateConnectingToProxy> type_tag;
3208 func(type_tag);
3209 } else {
3210 func(static_cast<connectionStateConnectingToProxy &>(*obj));
3211 }
3212 return true;
3213 case connectionStateConnecting::ID:
3214 if constexpr (AllowTag) {
3215 downcast_call_tag<connectionStateConnecting> type_tag;
3216 func(type_tag);
3217 } else {
3218 func(static_cast<connectionStateConnecting &>(*obj));
3219 }
3220 return true;
3221 case connectionStateUpdating::ID:
3222 if constexpr (AllowTag) {
3223 downcast_call_tag<connectionStateUpdating> type_tag;
3224 func(type_tag);
3225 } else {
3226 func(static_cast<connectionStateUpdating &>(*obj));
3227 }
3228 return true;
3229 case connectionStateReady::ID:
3230 if constexpr (AllowTag) {
3231 downcast_call_tag<connectionStateReady> type_tag;
3232 func(type_tag);
3233 } else {
3234 func(static_cast<connectionStateReady &>(*obj));
3235 }
3236 return true;
3237 case contact::ID:
3238 if constexpr (AllowTag) {
3239 downcast_call_tag<contact> type_tag;
3240 func(type_tag);
3241 } else {
3242 func(static_cast<contact &>(*obj));
3243 }
3244 return true;
3245 case count::ID:
3246 if constexpr (AllowTag) {
3247 downcast_call_tag<count> type_tag;
3248 func(type_tag);
3249 } else {
3250 func(static_cast<count &>(*obj));
3251 }
3252 return true;
3253 case countries::ID:
3254 if constexpr (AllowTag) {
3255 downcast_call_tag<countries> type_tag;
3256 func(type_tag);
3257 } else {
3258 func(static_cast<countries &>(*obj));
3259 }
3260 return true;
3261 case countryInfo::ID:
3262 if constexpr (AllowTag) {
3263 downcast_call_tag<countryInfo> type_tag;
3264 func(type_tag);
3265 } else {
3266 func(static_cast<countryInfo &>(*obj));
3267 }
3268 return true;
3269 case craftGiftResultSuccess::ID:
3270 if constexpr (AllowTag) {
3271 downcast_call_tag<craftGiftResultSuccess> type_tag;
3272 func(type_tag);
3273 } else {
3274 func(static_cast<craftGiftResultSuccess &>(*obj));
3275 }
3276 return true;
3277 case craftGiftResultTooEarly::ID:
3278 if constexpr (AllowTag) {
3279 downcast_call_tag<craftGiftResultTooEarly> type_tag;
3280 func(type_tag);
3281 } else {
3282 func(static_cast<craftGiftResultTooEarly &>(*obj));
3283 }
3284 return true;
3285 case craftGiftResultInvalidGift::ID:
3286 if constexpr (AllowTag) {
3287 downcast_call_tag<craftGiftResultInvalidGift> type_tag;
3288 func(type_tag);
3289 } else {
3290 func(static_cast<craftGiftResultInvalidGift &>(*obj));
3291 }
3292 return true;
3293 case craftGiftResultFail::ID:
3294 if constexpr (AllowTag) {
3295 downcast_call_tag<craftGiftResultFail> type_tag;
3296 func(type_tag);
3297 } else {
3298 func(static_cast<craftGiftResultFail &>(*obj));
3299 }
3300 return true;
3301 case createdBasicGroupChat::ID:
3302 if constexpr (AllowTag) {
3303 downcast_call_tag<createdBasicGroupChat> type_tag;
3304 func(type_tag);
3305 } else {
3306 func(static_cast<createdBasicGroupChat &>(*obj));
3307 }
3308 return true;
3309 case currentWeather::ID:
3310 if constexpr (AllowTag) {
3311 downcast_call_tag<currentWeather> type_tag;
3312 func(type_tag);
3313 } else {
3314 func(static_cast<currentWeather &>(*obj));
3315 }
3316 return true;
3317 case customRequestResult::ID:
3318 if constexpr (AllowTag) {
3319 downcast_call_tag<customRequestResult> type_tag;
3320 func(type_tag);
3321 } else {
3322 func(static_cast<customRequestResult &>(*obj));
3323 }
3324 return true;
3325 case data::ID:
3326 if constexpr (AllowTag) {
3327 downcast_call_tag<data> type_tag;
3328 func(type_tag);
3329 } else {
3330 func(static_cast<data &>(*obj));
3331 }
3332 return true;
3333 case databaseStatistics::ID:
3334 if constexpr (AllowTag) {
3335 downcast_call_tag<databaseStatistics> type_tag;
3336 func(type_tag);
3337 } else {
3338 func(static_cast<databaseStatistics &>(*obj));
3339 }
3340 return true;
3341 case date::ID:
3342 if constexpr (AllowTag) {
3343 downcast_call_tag<date> type_tag;
3344 func(type_tag);
3345 } else {
3346 func(static_cast<date &>(*obj));
3347 }
3348 return true;
3349 case dateRange::ID:
3350 if constexpr (AllowTag) {
3351 downcast_call_tag<dateRange> type_tag;
3352 func(type_tag);
3353 } else {
3354 func(static_cast<dateRange &>(*obj));
3355 }
3356 return true;
3357 case dateTimeFormattingTypeRelative::ID:
3358 if constexpr (AllowTag) {
3359 downcast_call_tag<dateTimeFormattingTypeRelative> type_tag;
3360 func(type_tag);
3361 } else {
3362 func(static_cast<dateTimeFormattingTypeRelative &>(*obj));
3363 }
3364 return true;
3365 case dateTimeFormattingTypeAbsolute::ID:
3366 if constexpr (AllowTag) {
3367 downcast_call_tag<dateTimeFormattingTypeAbsolute> type_tag;
3368 func(type_tag);
3369 } else {
3370 func(static_cast<dateTimeFormattingTypeAbsolute &>(*obj));
3371 }
3372 return true;
3373 case dateTimePartPrecisionNone::ID:
3374 if constexpr (AllowTag) {
3375 downcast_call_tag<dateTimePartPrecisionNone> type_tag;
3376 func(type_tag);
3377 } else {
3378 func(static_cast<dateTimePartPrecisionNone &>(*obj));
3379 }
3380 return true;
3381 case dateTimePartPrecisionShort::ID:
3382 if constexpr (AllowTag) {
3383 downcast_call_tag<dateTimePartPrecisionShort> type_tag;
3384 func(type_tag);
3385 } else {
3386 func(static_cast<dateTimePartPrecisionShort &>(*obj));
3387 }
3388 return true;
3389 case dateTimePartPrecisionLong::ID:
3390 if constexpr (AllowTag) {
3391 downcast_call_tag<dateTimePartPrecisionLong> type_tag;
3392 func(type_tag);
3393 } else {
3394 func(static_cast<dateTimePartPrecisionLong &>(*obj));
3395 }
3396 return true;
3397 case datedFile::ID:
3398 if constexpr (AllowTag) {
3399 downcast_call_tag<datedFile> type_tag;
3400 func(type_tag);
3401 } else {
3402 func(static_cast<datedFile &>(*obj));
3403 }
3404 return true;
3405 case deepLinkInfo::ID:
3406 if constexpr (AllowTag) {
3407 downcast_call_tag<deepLinkInfo> type_tag;
3408 func(type_tag);
3409 } else {
3410 func(static_cast<deepLinkInfo &>(*obj));
3411 }
3412 return true;
3413 case deviceTokenFirebaseCloudMessaging::ID:
3414 if constexpr (AllowTag) {
3415 downcast_call_tag<deviceTokenFirebaseCloudMessaging> type_tag;
3416 func(type_tag);
3417 } else {
3418 func(static_cast<deviceTokenFirebaseCloudMessaging &>(*obj));
3419 }
3420 return true;
3421 case deviceTokenApplePush::ID:
3422 if constexpr (AllowTag) {
3423 downcast_call_tag<deviceTokenApplePush> type_tag;
3424 func(type_tag);
3425 } else {
3426 func(static_cast<deviceTokenApplePush &>(*obj));
3427 }
3428 return true;
3429 case deviceTokenApplePushVoIP::ID:
3430 if constexpr (AllowTag) {
3431 downcast_call_tag<deviceTokenApplePushVoIP> type_tag;
3432 func(type_tag);
3433 } else {
3434 func(static_cast<deviceTokenApplePushVoIP &>(*obj));
3435 }
3436 return true;
3437 case deviceTokenWindowsPush::ID:
3438 if constexpr (AllowTag) {
3439 downcast_call_tag<deviceTokenWindowsPush> type_tag;
3440 func(type_tag);
3441 } else {
3442 func(static_cast<deviceTokenWindowsPush &>(*obj));
3443 }
3444 return true;
3445 case deviceTokenMicrosoftPush::ID:
3446 if constexpr (AllowTag) {
3447 downcast_call_tag<deviceTokenMicrosoftPush> type_tag;
3448 func(type_tag);
3449 } else {
3450 func(static_cast<deviceTokenMicrosoftPush &>(*obj));
3451 }
3452 return true;
3453 case deviceTokenMicrosoftPushVoIP::ID:
3454 if constexpr (AllowTag) {
3455 downcast_call_tag<deviceTokenMicrosoftPushVoIP> type_tag;
3456 func(type_tag);
3457 } else {
3458 func(static_cast<deviceTokenMicrosoftPushVoIP &>(*obj));
3459 }
3460 return true;
3461 case deviceTokenWebPush::ID:
3462 if constexpr (AllowTag) {
3463 downcast_call_tag<deviceTokenWebPush> type_tag;
3464 func(type_tag);
3465 } else {
3466 func(static_cast<deviceTokenWebPush &>(*obj));
3467 }
3468 return true;
3469 case deviceTokenSimplePush::ID:
3470 if constexpr (AllowTag) {
3471 downcast_call_tag<deviceTokenSimplePush> type_tag;
3472 func(type_tag);
3473 } else {
3474 func(static_cast<deviceTokenSimplePush &>(*obj));
3475 }
3476 return true;
3477 case deviceTokenUbuntuPush::ID:
3478 if constexpr (AllowTag) {
3479 downcast_call_tag<deviceTokenUbuntuPush> type_tag;
3480 func(type_tag);
3481 } else {
3482 func(static_cast<deviceTokenUbuntuPush &>(*obj));
3483 }
3484 return true;
3485 case deviceTokenBlackBerryPush::ID:
3486 if constexpr (AllowTag) {
3487 downcast_call_tag<deviceTokenBlackBerryPush> type_tag;
3488 func(type_tag);
3489 } else {
3490 func(static_cast<deviceTokenBlackBerryPush &>(*obj));
3491 }
3492 return true;
3493 case deviceTokenTizenPush::ID:
3494 if constexpr (AllowTag) {
3495 downcast_call_tag<deviceTokenTizenPush> type_tag;
3496 func(type_tag);
3497 } else {
3498 func(static_cast<deviceTokenTizenPush &>(*obj));
3499 }
3500 return true;
3501 case deviceTokenHuaweiPush::ID:
3502 if constexpr (AllowTag) {
3503 downcast_call_tag<deviceTokenHuaweiPush> type_tag;
3504 func(type_tag);
3505 } else {
3506 func(static_cast<deviceTokenHuaweiPush &>(*obj));
3507 }
3508 return true;
3509 case diceStickersRegular::ID:
3510 if constexpr (AllowTag) {
3511 downcast_call_tag<diceStickersRegular> type_tag;
3512 func(type_tag);
3513 } else {
3514 func(static_cast<diceStickersRegular &>(*obj));
3515 }
3516 return true;
3517 case diceStickersSlotMachine::ID:
3518 if constexpr (AllowTag) {
3519 downcast_call_tag<diceStickersSlotMachine> type_tag;
3520 func(type_tag);
3521 } else {
3522 func(static_cast<diceStickersSlotMachine &>(*obj));
3523 }
3524 return true;
3525 case diffEntity::ID:
3526 if constexpr (AllowTag) {
3527 downcast_call_tag<diffEntity> type_tag;
3528 func(type_tag);
3529 } else {
3530 func(static_cast<diffEntity &>(*obj));
3531 }
3532 return true;
3533 case diffEntityTypeInsert::ID:
3534 if constexpr (AllowTag) {
3535 downcast_call_tag<diffEntityTypeInsert> type_tag;
3536 func(type_tag);
3537 } else {
3538 func(static_cast<diffEntityTypeInsert &>(*obj));
3539 }
3540 return true;
3541 case diffEntityTypeReplace::ID:
3542 if constexpr (AllowTag) {
3543 downcast_call_tag<diffEntityTypeReplace> type_tag;
3544 func(type_tag);
3545 } else {
3546 func(static_cast<diffEntityTypeReplace &>(*obj));
3547 }
3548 return true;
3549 case diffEntityTypeDelete::ID:
3550 if constexpr (AllowTag) {
3551 downcast_call_tag<diffEntityTypeDelete> type_tag;
3552 func(type_tag);
3553 } else {
3554 func(static_cast<diffEntityTypeDelete &>(*obj));
3555 }
3556 return true;
3557 case diffText::ID:
3558 if constexpr (AllowTag) {
3559 downcast_call_tag<diffText> type_tag;
3560 func(type_tag);
3561 } else {
3562 func(static_cast<diffText &>(*obj));
3563 }
3564 return true;
3565 case directMessagesChatTopic::ID:
3566 if constexpr (AllowTag) {
3567 downcast_call_tag<directMessagesChatTopic> type_tag;
3568 func(type_tag);
3569 } else {
3570 func(static_cast<directMessagesChatTopic &>(*obj));
3571 }
3572 return true;
3573 case document::ID:
3574 if constexpr (AllowTag) {
3575 downcast_call_tag<document> type_tag;
3576 func(type_tag);
3577 } else {
3578 func(static_cast<document &>(*obj));
3579 }
3580 return true;
3581 case downloadedFileCounts::ID:
3582 if constexpr (AllowTag) {
3583 downcast_call_tag<downloadedFileCounts> type_tag;
3584 func(type_tag);
3585 } else {
3586 func(static_cast<downloadedFileCounts &>(*obj));
3587 }
3588 return true;
3589 case draftMessage::ID:
3590 if constexpr (AllowTag) {
3591 downcast_call_tag<draftMessage> type_tag;
3592 func(type_tag);
3593 } else {
3594 func(static_cast<draftMessage &>(*obj));
3595 }
3596 return true;
3597 case emailAddressAuthenticationCode::ID:
3598 if constexpr (AllowTag) {
3599 downcast_call_tag<emailAddressAuthenticationCode> type_tag;
3600 func(type_tag);
3601 } else {
3602 func(static_cast<emailAddressAuthenticationCode &>(*obj));
3603 }
3604 return true;
3605 case emailAddressAuthenticationAppleId::ID:
3606 if constexpr (AllowTag) {
3607 downcast_call_tag<emailAddressAuthenticationAppleId> type_tag;
3608 func(type_tag);
3609 } else {
3610 func(static_cast<emailAddressAuthenticationAppleId &>(*obj));
3611 }
3612 return true;
3613 case emailAddressAuthenticationGoogleId::ID:
3614 if constexpr (AllowTag) {
3615 downcast_call_tag<emailAddressAuthenticationGoogleId> type_tag;
3616 func(type_tag);
3617 } else {
3618 func(static_cast<emailAddressAuthenticationGoogleId &>(*obj));
3619 }
3620 return true;
3621 case emailAddressAuthenticationCodeInfo::ID:
3622 if constexpr (AllowTag) {
3623 downcast_call_tag<emailAddressAuthenticationCodeInfo> type_tag;
3624 func(type_tag);
3625 } else {
3626 func(static_cast<emailAddressAuthenticationCodeInfo &>(*obj));
3627 }
3628 return true;
3629 case emailAddressResetStateAvailable::ID:
3630 if constexpr (AllowTag) {
3631 downcast_call_tag<emailAddressResetStateAvailable> type_tag;
3632 func(type_tag);
3633 } else {
3634 func(static_cast<emailAddressResetStateAvailable &>(*obj));
3635 }
3636 return true;
3637 case emailAddressResetStatePending::ID:
3638 if constexpr (AllowTag) {
3639 downcast_call_tag<emailAddressResetStatePending> type_tag;
3640 func(type_tag);
3641 } else {
3642 func(static_cast<emailAddressResetStatePending &>(*obj));
3643 }
3644 return true;
3645 case emojiCategories::ID:
3646 if constexpr (AllowTag) {
3647 downcast_call_tag<emojiCategories> type_tag;
3648 func(type_tag);
3649 } else {
3650 func(static_cast<emojiCategories &>(*obj));
3651 }
3652 return true;
3653 case emojiCategory::ID:
3654 if constexpr (AllowTag) {
3655 downcast_call_tag<emojiCategory> type_tag;
3656 func(type_tag);
3657 } else {
3658 func(static_cast<emojiCategory &>(*obj));
3659 }
3660 return true;
3661 case emojiCategorySourceSearch::ID:
3662 if constexpr (AllowTag) {
3663 downcast_call_tag<emojiCategorySourceSearch> type_tag;
3664 func(type_tag);
3665 } else {
3666 func(static_cast<emojiCategorySourceSearch &>(*obj));
3667 }
3668 return true;
3669 case emojiCategorySourcePremium::ID:
3670 if constexpr (AllowTag) {
3671 downcast_call_tag<emojiCategorySourcePremium> type_tag;
3672 func(type_tag);
3673 } else {
3674 func(static_cast<emojiCategorySourcePremium &>(*obj));
3675 }
3676 return true;
3677 case emojiCategoryTypeDefault::ID:
3678 if constexpr (AllowTag) {
3679 downcast_call_tag<emojiCategoryTypeDefault> type_tag;
3680 func(type_tag);
3681 } else {
3682 func(static_cast<emojiCategoryTypeDefault &>(*obj));
3683 }
3684 return true;
3685 case emojiCategoryTypeRegularStickers::ID:
3686 if constexpr (AllowTag) {
3687 downcast_call_tag<emojiCategoryTypeRegularStickers> type_tag;
3688 func(type_tag);
3689 } else {
3690 func(static_cast<emojiCategoryTypeRegularStickers &>(*obj));
3691 }
3692 return true;
3693 case emojiCategoryTypeEmojiStatus::ID:
3694 if constexpr (AllowTag) {
3695 downcast_call_tag<emojiCategoryTypeEmojiStatus> type_tag;
3696 func(type_tag);
3697 } else {
3698 func(static_cast<emojiCategoryTypeEmojiStatus &>(*obj));
3699 }
3700 return true;
3701 case emojiCategoryTypeChatPhoto::ID:
3702 if constexpr (AllowTag) {
3703 downcast_call_tag<emojiCategoryTypeChatPhoto> type_tag;
3704 func(type_tag);
3705 } else {
3706 func(static_cast<emojiCategoryTypeChatPhoto &>(*obj));
3707 }
3708 return true;
3709 case emojiChatTheme::ID:
3710 if constexpr (AllowTag) {
3711 downcast_call_tag<emojiChatTheme> type_tag;
3712 func(type_tag);
3713 } else {
3714 func(static_cast<emojiChatTheme &>(*obj));
3715 }
3716 return true;
3717 case emojiKeyword::ID:
3718 if constexpr (AllowTag) {
3719 downcast_call_tag<emojiKeyword> type_tag;
3720 func(type_tag);
3721 } else {
3722 func(static_cast<emojiKeyword &>(*obj));
3723 }
3724 return true;
3725 case emojiKeywords::ID:
3726 if constexpr (AllowTag) {
3727 downcast_call_tag<emojiKeywords> type_tag;
3728 func(type_tag);
3729 } else {
3730 func(static_cast<emojiKeywords &>(*obj));
3731 }
3732 return true;
3733 case emojiReaction::ID:
3734 if constexpr (AllowTag) {
3735 downcast_call_tag<emojiReaction> type_tag;
3736 func(type_tag);
3737 } else {
3738 func(static_cast<emojiReaction &>(*obj));
3739 }
3740 return true;
3741 case emojiStatus::ID:
3742 if constexpr (AllowTag) {
3743 downcast_call_tag<emojiStatus> type_tag;
3744 func(type_tag);
3745 } else {
3746 func(static_cast<emojiStatus &>(*obj));
3747 }
3748 return true;
3749 case emojiStatusCustomEmojis::ID:
3750 if constexpr (AllowTag) {
3751 downcast_call_tag<emojiStatusCustomEmojis> type_tag;
3752 func(type_tag);
3753 } else {
3754 func(static_cast<emojiStatusCustomEmojis &>(*obj));
3755 }
3756 return true;
3757 case emojiStatusTypeCustomEmoji::ID:
3758 if constexpr (AllowTag) {
3759 downcast_call_tag<emojiStatusTypeCustomEmoji> type_tag;
3760 func(type_tag);
3761 } else {
3762 func(static_cast<emojiStatusTypeCustomEmoji &>(*obj));
3763 }
3764 return true;
3765 case emojiStatusTypeUpgradedGift::ID:
3766 if constexpr (AllowTag) {
3767 downcast_call_tag<emojiStatusTypeUpgradedGift> type_tag;
3768 func(type_tag);
3769 } else {
3770 func(static_cast<emojiStatusTypeUpgradedGift &>(*obj));
3771 }
3772 return true;
3773 case emojiStatuses::ID:
3774 if constexpr (AllowTag) {
3775 downcast_call_tag<emojiStatuses> type_tag;
3776 func(type_tag);
3777 } else {
3778 func(static_cast<emojiStatuses &>(*obj));
3779 }
3780 return true;
3781 case emojis::ID:
3782 if constexpr (AllowTag) {
3783 downcast_call_tag<emojis> type_tag;
3784 func(type_tag);
3785 } else {
3786 func(static_cast<emojis &>(*obj));
3787 }
3788 return true;
3789 case encryptedCredentials::ID:
3790 if constexpr (AllowTag) {
3791 downcast_call_tag<encryptedCredentials> type_tag;
3792 func(type_tag);
3793 } else {
3794 func(static_cast<encryptedCredentials &>(*obj));
3795 }
3796 return true;
3797 case encryptedPassportElement::ID:
3798 if constexpr (AllowTag) {
3799 downcast_call_tag<encryptedPassportElement> type_tag;
3800 func(type_tag);
3801 } else {
3802 func(static_cast<encryptedPassportElement &>(*obj));
3803 }
3804 return true;
3805 case error::ID:
3806 if constexpr (AllowTag) {
3807 downcast_call_tag<error> type_tag;
3808 func(type_tag);
3809 } else {
3810 func(static_cast<error &>(*obj));
3811 }
3812 return true;
3813 case factCheck::ID:
3814 if constexpr (AllowTag) {
3815 downcast_call_tag<factCheck> type_tag;
3816 func(type_tag);
3817 } else {
3818 func(static_cast<factCheck &>(*obj));
3819 }
3820 return true;
3821 case failedToAddMember::ID:
3822 if constexpr (AllowTag) {
3823 downcast_call_tag<failedToAddMember> type_tag;
3824 func(type_tag);
3825 } else {
3826 func(static_cast<failedToAddMember &>(*obj));
3827 }
3828 return true;
3829 case failedToAddMembers::ID:
3830 if constexpr (AllowTag) {
3831 downcast_call_tag<failedToAddMembers> type_tag;
3832 func(type_tag);
3833 } else {
3834 func(static_cast<failedToAddMembers &>(*obj));
3835 }
3836 return true;
3837 case file::ID:
3838 if constexpr (AllowTag) {
3839 downcast_call_tag<file> type_tag;
3840 func(type_tag);
3841 } else {
3842 func(static_cast<file &>(*obj));
3843 }
3844 return true;
3845 case fileDownload::ID:
3846 if constexpr (AllowTag) {
3847 downcast_call_tag<fileDownload> type_tag;
3848 func(type_tag);
3849 } else {
3850 func(static_cast<fileDownload &>(*obj));
3851 }
3852 return true;
3853 case fileDownloadedPrefixSize::ID:
3854 if constexpr (AllowTag) {
3855 downcast_call_tag<fileDownloadedPrefixSize> type_tag;
3856 func(type_tag);
3857 } else {
3858 func(static_cast<fileDownloadedPrefixSize &>(*obj));
3859 }
3860 return true;
3861 case fileTypeNone::ID:
3862 if constexpr (AllowTag) {
3863 downcast_call_tag<fileTypeNone> type_tag;
3864 func(type_tag);
3865 } else {
3866 func(static_cast<fileTypeNone &>(*obj));
3867 }
3868 return true;
3869 case fileTypeAnimation::ID:
3870 if constexpr (AllowTag) {
3871 downcast_call_tag<fileTypeAnimation> type_tag;
3872 func(type_tag);
3873 } else {
3874 func(static_cast<fileTypeAnimation &>(*obj));
3875 }
3876 return true;
3877 case fileTypeAudio::ID:
3878 if constexpr (AllowTag) {
3879 downcast_call_tag<fileTypeAudio> type_tag;
3880 func(type_tag);
3881 } else {
3882 func(static_cast<fileTypeAudio &>(*obj));
3883 }
3884 return true;
3885 case fileTypeDocument::ID:
3886 if constexpr (AllowTag) {
3887 downcast_call_tag<fileTypeDocument> type_tag;
3888 func(type_tag);
3889 } else {
3890 func(static_cast<fileTypeDocument &>(*obj));
3891 }
3892 return true;
3893 case fileTypeLivePhotoVideo::ID:
3894 if constexpr (AllowTag) {
3895 downcast_call_tag<fileTypeLivePhotoVideo> type_tag;
3896 func(type_tag);
3897 } else {
3898 func(static_cast<fileTypeLivePhotoVideo &>(*obj));
3899 }
3900 return true;
3901 case fileTypeNotificationSound::ID:
3902 if constexpr (AllowTag) {
3903 downcast_call_tag<fileTypeNotificationSound> type_tag;
3904 func(type_tag);
3905 } else {
3906 func(static_cast<fileTypeNotificationSound &>(*obj));
3907 }
3908 return true;
3909 case fileTypePhoto::ID:
3910 if constexpr (AllowTag) {
3911 downcast_call_tag<fileTypePhoto> type_tag;
3912 func(type_tag);
3913 } else {
3914 func(static_cast<fileTypePhoto &>(*obj));
3915 }
3916 return true;
3917 case fileTypePhotoStory::ID:
3918 if constexpr (AllowTag) {
3919 downcast_call_tag<fileTypePhotoStory> type_tag;
3920 func(type_tag);
3921 } else {
3922 func(static_cast<fileTypePhotoStory &>(*obj));
3923 }
3924 return true;
3925 case fileTypeProfilePhoto::ID:
3926 if constexpr (AllowTag) {
3927 downcast_call_tag<fileTypeProfilePhoto> type_tag;
3928 func(type_tag);
3929 } else {
3930 func(static_cast<fileTypeProfilePhoto &>(*obj));
3931 }
3932 return true;
3933 case fileTypeSecret::ID:
3934 if constexpr (AllowTag) {
3935 downcast_call_tag<fileTypeSecret> type_tag;
3936 func(type_tag);
3937 } else {
3938 func(static_cast<fileTypeSecret &>(*obj));
3939 }
3940 return true;
3941 case fileTypeSecretThumbnail::ID:
3942 if constexpr (AllowTag) {
3943 downcast_call_tag<fileTypeSecretThumbnail> type_tag;
3944 func(type_tag);
3945 } else {
3946 func(static_cast<fileTypeSecretThumbnail &>(*obj));
3947 }
3948 return true;
3949 case fileTypeSecure::ID:
3950 if constexpr (AllowTag) {
3951 downcast_call_tag<fileTypeSecure> type_tag;
3952 func(type_tag);
3953 } else {
3954 func(static_cast<fileTypeSecure &>(*obj));
3955 }
3956 return true;
3957 case fileTypeSelfDestructingLivePhotoVideo::ID:
3958 if constexpr (AllowTag) {
3959 downcast_call_tag<fileTypeSelfDestructingLivePhotoVideo> type_tag;
3960 func(type_tag);
3961 } else {
3962 func(static_cast<fileTypeSelfDestructingLivePhotoVideo &>(*obj));
3963 }
3964 return true;
3965 case fileTypeSelfDestructingPhoto::ID:
3966 if constexpr (AllowTag) {
3967 downcast_call_tag<fileTypeSelfDestructingPhoto> type_tag;
3968 func(type_tag);
3969 } else {
3970 func(static_cast<fileTypeSelfDestructingPhoto &>(*obj));
3971 }
3972 return true;
3973 case fileTypeSelfDestructingVideo::ID:
3974 if constexpr (AllowTag) {
3975 downcast_call_tag<fileTypeSelfDestructingVideo> type_tag;
3976 func(type_tag);
3977 } else {
3978 func(static_cast<fileTypeSelfDestructingVideo &>(*obj));
3979 }
3980 return true;
3981 case fileTypeSelfDestructingVideoNote::ID:
3982 if constexpr (AllowTag) {
3983 downcast_call_tag<fileTypeSelfDestructingVideoNote> type_tag;
3984 func(type_tag);
3985 } else {
3986 func(static_cast<fileTypeSelfDestructingVideoNote &>(*obj));
3987 }
3988 return true;
3989 case fileTypeSelfDestructingVoiceNote::ID:
3990 if constexpr (AllowTag) {
3991 downcast_call_tag<fileTypeSelfDestructingVoiceNote> type_tag;
3992 func(type_tag);
3993 } else {
3994 func(static_cast<fileTypeSelfDestructingVoiceNote &>(*obj));
3995 }
3996 return true;
3997 case fileTypeSticker::ID:
3998 if constexpr (AllowTag) {
3999 downcast_call_tag<fileTypeSticker> type_tag;
4000 func(type_tag);
4001 } else {
4002 func(static_cast<fileTypeSticker &>(*obj));
4003 }
4004 return true;
4005 case fileTypeThumbnail::ID:
4006 if constexpr (AllowTag) {
4007 downcast_call_tag<fileTypeThumbnail> type_tag;
4008 func(type_tag);
4009 } else {
4010 func(static_cast<fileTypeThumbnail &>(*obj));
4011 }
4012 return true;
4013 case fileTypeUnknown::ID:
4014 if constexpr (AllowTag) {
4015 downcast_call_tag<fileTypeUnknown> type_tag;
4016 func(type_tag);
4017 } else {
4018 func(static_cast<fileTypeUnknown &>(*obj));
4019 }
4020 return true;
4021 case fileTypeVideo::ID:
4022 if constexpr (AllowTag) {
4023 downcast_call_tag<fileTypeVideo> type_tag;
4024 func(type_tag);
4025 } else {
4026 func(static_cast<fileTypeVideo &>(*obj));
4027 }
4028 return true;
4029 case fileTypeVideoNote::ID:
4030 if constexpr (AllowTag) {
4031 downcast_call_tag<fileTypeVideoNote> type_tag;
4032 func(type_tag);
4033 } else {
4034 func(static_cast<fileTypeVideoNote &>(*obj));
4035 }
4036 return true;
4037 case fileTypeVideoStory::ID:
4038 if constexpr (AllowTag) {
4039 downcast_call_tag<fileTypeVideoStory> type_tag;
4040 func(type_tag);
4041 } else {
4042 func(static_cast<fileTypeVideoStory &>(*obj));
4043 }
4044 return true;
4045 case fileTypeVoiceNote::ID:
4046 if constexpr (AllowTag) {
4047 downcast_call_tag<fileTypeVoiceNote> type_tag;
4048 func(type_tag);
4049 } else {
4050 func(static_cast<fileTypeVoiceNote &>(*obj));
4051 }
4052 return true;
4053 case fileTypeWallpaper::ID:
4054 if constexpr (AllowTag) {
4055 downcast_call_tag<fileTypeWallpaper> type_tag;
4056 func(type_tag);
4057 } else {
4058 func(static_cast<fileTypeWallpaper &>(*obj));
4059 }
4060 return true;
4061 case firebaseAuthenticationSettingsAndroid::ID:
4062 if constexpr (AllowTag) {
4063 downcast_call_tag<firebaseAuthenticationSettingsAndroid> type_tag;
4064 func(type_tag);
4065 } else {
4066 func(static_cast<firebaseAuthenticationSettingsAndroid &>(*obj));
4067 }
4068 return true;
4069 case firebaseAuthenticationSettingsIos::ID:
4070 if constexpr (AllowTag) {
4071 downcast_call_tag<firebaseAuthenticationSettingsIos> type_tag;
4072 func(type_tag);
4073 } else {
4074 func(static_cast<firebaseAuthenticationSettingsIos &>(*obj));
4075 }
4076 return true;
4077 case firebaseDeviceVerificationParametersSafetyNet::ID:
4078 if constexpr (AllowTag) {
4079 downcast_call_tag<firebaseDeviceVerificationParametersSafetyNet> type_tag;
4080 func(type_tag);
4081 } else {
4082 func(static_cast<firebaseDeviceVerificationParametersSafetyNet &>(*obj));
4083 }
4084 return true;
4085 case firebaseDeviceVerificationParametersPlayIntegrity::ID:
4086 if constexpr (AllowTag) {
4087 downcast_call_tag<firebaseDeviceVerificationParametersPlayIntegrity> type_tag;
4088 func(type_tag);
4089 } else {
4090 func(static_cast<firebaseDeviceVerificationParametersPlayIntegrity &>(*obj));
4091 }
4092 return true;
4093 case fixedText::ID:
4094 if constexpr (AllowTag) {
4095 downcast_call_tag<fixedText> type_tag;
4096 func(type_tag);
4097 } else {
4098 func(static_cast<fixedText &>(*obj));
4099 }
4100 return true;
4101 case formattedText::ID:
4102 if constexpr (AllowTag) {
4103 downcast_call_tag<formattedText> type_tag;
4104 func(type_tag);
4105 } else {
4106 func(static_cast<formattedText &>(*obj));
4107 }
4108 return true;
4109 case forumTopic::ID:
4110 if constexpr (AllowTag) {
4111 downcast_call_tag<forumTopic> type_tag;
4112 func(type_tag);
4113 } else {
4114 func(static_cast<forumTopic &>(*obj));
4115 }
4116 return true;
4117 case forumTopicIcon::ID:
4118 if constexpr (AllowTag) {
4119 downcast_call_tag<forumTopicIcon> type_tag;
4120 func(type_tag);
4121 } else {
4122 func(static_cast<forumTopicIcon &>(*obj));
4123 }
4124 return true;
4125 case forumTopicInfo::ID:
4126 if constexpr (AllowTag) {
4127 downcast_call_tag<forumTopicInfo> type_tag;
4128 func(type_tag);
4129 } else {
4130 func(static_cast<forumTopicInfo &>(*obj));
4131 }
4132 return true;
4133 case forumTopics::ID:
4134 if constexpr (AllowTag) {
4135 downcast_call_tag<forumTopics> type_tag;
4136 func(type_tag);
4137 } else {
4138 func(static_cast<forumTopics &>(*obj));
4139 }
4140 return true;
4141 case forwardSource::ID:
4142 if constexpr (AllowTag) {
4143 downcast_call_tag<forwardSource> type_tag;
4144 func(type_tag);
4145 } else {
4146 func(static_cast<forwardSource &>(*obj));
4147 }
4148 return true;
4149 case foundAffiliateProgram::ID:
4150 if constexpr (AllowTag) {
4151 downcast_call_tag<foundAffiliateProgram> type_tag;
4152 func(type_tag);
4153 } else {
4154 func(static_cast<foundAffiliateProgram &>(*obj));
4155 }
4156 return true;
4157 case foundAffiliatePrograms::ID:
4158 if constexpr (AllowTag) {
4159 downcast_call_tag<foundAffiliatePrograms> type_tag;
4160 func(type_tag);
4161 } else {
4162 func(static_cast<foundAffiliatePrograms &>(*obj));
4163 }
4164 return true;
4165 case foundChatBoosts::ID:
4166 if constexpr (AllowTag) {
4167 downcast_call_tag<foundChatBoosts> type_tag;
4168 func(type_tag);
4169 } else {
4170 func(static_cast<foundChatBoosts &>(*obj));
4171 }
4172 return true;
4173 case foundChatMessages::ID:
4174 if constexpr (AllowTag) {
4175 downcast_call_tag<foundChatMessages> type_tag;
4176 func(type_tag);
4177 } else {
4178 func(static_cast<foundChatMessages &>(*obj));
4179 }
4180 return true;
4181 case foundFileDownloads::ID:
4182 if constexpr (AllowTag) {
4183 downcast_call_tag<foundFileDownloads> type_tag;
4184 func(type_tag);
4185 } else {
4186 func(static_cast<foundFileDownloads &>(*obj));
4187 }
4188 return true;
4189 case foundMessages::ID:
4190 if constexpr (AllowTag) {
4191 downcast_call_tag<foundMessages> type_tag;
4192 func(type_tag);
4193 } else {
4194 func(static_cast<foundMessages &>(*obj));
4195 }
4196 return true;
4197 case foundPosition::ID:
4198 if constexpr (AllowTag) {
4199 downcast_call_tag<foundPosition> type_tag;
4200 func(type_tag);
4201 } else {
4202 func(static_cast<foundPosition &>(*obj));
4203 }
4204 return true;
4205 case foundPositions::ID:
4206 if constexpr (AllowTag) {
4207 downcast_call_tag<foundPositions> type_tag;
4208 func(type_tag);
4209 } else {
4210 func(static_cast<foundPositions &>(*obj));
4211 }
4212 return true;
4213 case foundPublicPosts::ID:
4214 if constexpr (AllowTag) {
4215 downcast_call_tag<foundPublicPosts> type_tag;
4216 func(type_tag);
4217 } else {
4218 func(static_cast<foundPublicPosts &>(*obj));
4219 }
4220 return true;
4221 case foundStories::ID:
4222 if constexpr (AllowTag) {
4223 downcast_call_tag<foundStories> type_tag;
4224 func(type_tag);
4225 } else {
4226 func(static_cast<foundStories &>(*obj));
4227 }
4228 return true;
4229 case foundUsers::ID:
4230 if constexpr (AllowTag) {
4231 downcast_call_tag<foundUsers> type_tag;
4232 func(type_tag);
4233 } else {
4234 func(static_cast<foundUsers &>(*obj));
4235 }
4236 return true;
4237 case foundWebApp::ID:
4238 if constexpr (AllowTag) {
4239 downcast_call_tag<foundWebApp> type_tag;
4240 func(type_tag);
4241 } else {
4242 func(static_cast<foundWebApp &>(*obj));
4243 }
4244 return true;
4245 case game::ID:
4246 if constexpr (AllowTag) {
4247 downcast_call_tag<game> type_tag;
4248 func(type_tag);
4249 } else {
4250 func(static_cast<game &>(*obj));
4251 }
4252 return true;
4253 case gameHighScore::ID:
4254 if constexpr (AllowTag) {
4255 downcast_call_tag<gameHighScore> type_tag;
4256 func(type_tag);
4257 } else {
4258 func(static_cast<gameHighScore &>(*obj));
4259 }
4260 return true;
4261 case gameHighScores::ID:
4262 if constexpr (AllowTag) {
4263 downcast_call_tag<gameHighScores> type_tag;
4264 func(type_tag);
4265 } else {
4266 func(static_cast<gameHighScores &>(*obj));
4267 }
4268 return true;
4269 case gift::ID:
4270 if constexpr (AllowTag) {
4271 downcast_call_tag<gift> type_tag;
4272 func(type_tag);
4273 } else {
4274 func(static_cast<gift &>(*obj));
4275 }
4276 return true;
4277 case giftAuction::ID:
4278 if constexpr (AllowTag) {
4279 downcast_call_tag<giftAuction> type_tag;
4280 func(type_tag);
4281 } else {
4282 func(static_cast<giftAuction &>(*obj));
4283 }
4284 return true;
4285 case giftAuctionAcquiredGift::ID:
4286 if constexpr (AllowTag) {
4287 downcast_call_tag<giftAuctionAcquiredGift> type_tag;
4288 func(type_tag);
4289 } else {
4290 func(static_cast<giftAuctionAcquiredGift &>(*obj));
4291 }
4292 return true;
4293 case giftAuctionAcquiredGifts::ID:
4294 if constexpr (AllowTag) {
4295 downcast_call_tag<giftAuctionAcquiredGifts> type_tag;
4296 func(type_tag);
4297 } else {
4298 func(static_cast<giftAuctionAcquiredGifts &>(*obj));
4299 }
4300 return true;
4301 case giftAuctionState::ID:
4302 if constexpr (AllowTag) {
4303 downcast_call_tag<giftAuctionState> type_tag;
4304 func(type_tag);
4305 } else {
4306 func(static_cast<giftAuctionState &>(*obj));
4307 }
4308 return true;
4309 case giftBackground::ID:
4310 if constexpr (AllowTag) {
4311 downcast_call_tag<giftBackground> type_tag;
4312 func(type_tag);
4313 } else {
4314 func(static_cast<giftBackground &>(*obj));
4315 }
4316 return true;
4317 case giftChatTheme::ID:
4318 if constexpr (AllowTag) {
4319 downcast_call_tag<giftChatTheme> type_tag;
4320 func(type_tag);
4321 } else {
4322 func(static_cast<giftChatTheme &>(*obj));
4323 }
4324 return true;
4325 case giftChatThemes::ID:
4326 if constexpr (AllowTag) {
4327 downcast_call_tag<giftChatThemes> type_tag;
4328 func(type_tag);
4329 } else {
4330 func(static_cast<giftChatThemes &>(*obj));
4331 }
4332 return true;
4333 case giftCollection::ID:
4334 if constexpr (AllowTag) {
4335 downcast_call_tag<giftCollection> type_tag;
4336 func(type_tag);
4337 } else {
4338 func(static_cast<giftCollection &>(*obj));
4339 }
4340 return true;
4341 case giftCollections::ID:
4342 if constexpr (AllowTag) {
4343 downcast_call_tag<giftCollections> type_tag;
4344 func(type_tag);
4345 } else {
4346 func(static_cast<giftCollections &>(*obj));
4347 }
4348 return true;
4349 case giftForResale::ID:
4350 if constexpr (AllowTag) {
4351 downcast_call_tag<giftForResale> type_tag;
4352 func(type_tag);
4353 } else {
4354 func(static_cast<giftForResale &>(*obj));
4355 }
4356 return true;
4357 case giftForResaleOrderPrice::ID:
4358 if constexpr (AllowTag) {
4359 downcast_call_tag<giftForResaleOrderPrice> type_tag;
4360 func(type_tag);
4361 } else {
4362 func(static_cast<giftForResaleOrderPrice &>(*obj));
4363 }
4364 return true;
4365 case giftForResaleOrderPriceChangeDate::ID:
4366 if constexpr (AllowTag) {
4367 downcast_call_tag<giftForResaleOrderPriceChangeDate> type_tag;
4368 func(type_tag);
4369 } else {
4370 func(static_cast<giftForResaleOrderPriceChangeDate &>(*obj));
4371 }
4372 return true;
4373 case giftForResaleOrderNumber::ID:
4374 if constexpr (AllowTag) {
4375 downcast_call_tag<giftForResaleOrderNumber> type_tag;
4376 func(type_tag);
4377 } else {
4378 func(static_cast<giftForResaleOrderNumber &>(*obj));
4379 }
4380 return true;
4381 case giftPurchaseLimits::ID:
4382 if constexpr (AllowTag) {
4383 downcast_call_tag<giftPurchaseLimits> type_tag;
4384 func(type_tag);
4385 } else {
4386 func(static_cast<giftPurchaseLimits &>(*obj));
4387 }
4388 return true;
4389 case giftPurchaseOfferStatePending::ID:
4390 if constexpr (AllowTag) {
4391 downcast_call_tag<giftPurchaseOfferStatePending> type_tag;
4392 func(type_tag);
4393 } else {
4394 func(static_cast<giftPurchaseOfferStatePending &>(*obj));
4395 }
4396 return true;
4397 case giftPurchaseOfferStateAccepted::ID:
4398 if constexpr (AllowTag) {
4399 downcast_call_tag<giftPurchaseOfferStateAccepted> type_tag;
4400 func(type_tag);
4401 } else {
4402 func(static_cast<giftPurchaseOfferStateAccepted &>(*obj));
4403 }
4404 return true;
4405 case giftPurchaseOfferStateRejected::ID:
4406 if constexpr (AllowTag) {
4407 downcast_call_tag<giftPurchaseOfferStateRejected> type_tag;
4408 func(type_tag);
4409 } else {
4410 func(static_cast<giftPurchaseOfferStateRejected &>(*obj));
4411 }
4412 return true;
4413 case giftResaleParameters::ID:
4414 if constexpr (AllowTag) {
4415 downcast_call_tag<giftResaleParameters> type_tag;
4416 func(type_tag);
4417 } else {
4418 func(static_cast<giftResaleParameters &>(*obj));
4419 }
4420 return true;
4421 case giftResalePriceStar::ID:
4422 if constexpr (AllowTag) {
4423 downcast_call_tag<giftResalePriceStar> type_tag;
4424 func(type_tag);
4425 } else {
4426 func(static_cast<giftResalePriceStar &>(*obj));
4427 }
4428 return true;
4429 case giftResalePriceTon::ID:
4430 if constexpr (AllowTag) {
4431 downcast_call_tag<giftResalePriceTon> type_tag;
4432 func(type_tag);
4433 } else {
4434 func(static_cast<giftResalePriceTon &>(*obj));
4435 }
4436 return true;
4437 case giftResaleResultOk::ID:
4438 if constexpr (AllowTag) {
4439 downcast_call_tag<giftResaleResultOk> type_tag;
4440 func(type_tag);
4441 } else {
4442 func(static_cast<giftResaleResultOk &>(*obj));
4443 }
4444 return true;
4445 case giftResaleResultPriceIncreased::ID:
4446 if constexpr (AllowTag) {
4447 downcast_call_tag<giftResaleResultPriceIncreased> type_tag;
4448 func(type_tag);
4449 } else {
4450 func(static_cast<giftResaleResultPriceIncreased &>(*obj));
4451 }
4452 return true;
4453 case giftSettings::ID:
4454 if constexpr (AllowTag) {
4455 downcast_call_tag<giftSettings> type_tag;
4456 func(type_tag);
4457 } else {
4458 func(static_cast<giftSettings &>(*obj));
4459 }
4460 return true;
4461 case giftUpgradePreview::ID:
4462 if constexpr (AllowTag) {
4463 downcast_call_tag<giftUpgradePreview> type_tag;
4464 func(type_tag);
4465 } else {
4466 func(static_cast<giftUpgradePreview &>(*obj));
4467 }
4468 return true;
4469 case giftUpgradePrice::ID:
4470 if constexpr (AllowTag) {
4471 downcast_call_tag<giftUpgradePrice> type_tag;
4472 func(type_tag);
4473 } else {
4474 func(static_cast<giftUpgradePrice &>(*obj));
4475 }
4476 return true;
4477 case giftUpgradeVariants::ID:
4478 if constexpr (AllowTag) {
4479 downcast_call_tag<giftUpgradeVariants> type_tag;
4480 func(type_tag);
4481 } else {
4482 func(static_cast<giftUpgradeVariants &>(*obj));
4483 }
4484 return true;
4485 case giftsForCrafting::ID:
4486 if constexpr (AllowTag) {
4487 downcast_call_tag<giftsForCrafting> type_tag;
4488 func(type_tag);
4489 } else {
4490 func(static_cast<giftsForCrafting &>(*obj));
4491 }
4492 return true;
4493 case giftsForResale::ID:
4494 if constexpr (AllowTag) {
4495 downcast_call_tag<giftsForResale> type_tag;
4496 func(type_tag);
4497 } else {
4498 func(static_cast<giftsForResale &>(*obj));
4499 }
4500 return true;
4501 case giveawayInfoOngoing::ID:
4502 if constexpr (AllowTag) {
4503 downcast_call_tag<giveawayInfoOngoing> type_tag;
4504 func(type_tag);
4505 } else {
4506 func(static_cast<giveawayInfoOngoing &>(*obj));
4507 }
4508 return true;
4509 case giveawayInfoCompleted::ID:
4510 if constexpr (AllowTag) {
4511 downcast_call_tag<giveawayInfoCompleted> type_tag;
4512 func(type_tag);
4513 } else {
4514 func(static_cast<giveawayInfoCompleted &>(*obj));
4515 }
4516 return true;
4517 case giveawayParameters::ID:
4518 if constexpr (AllowTag) {
4519 downcast_call_tag<giveawayParameters> type_tag;
4520 func(type_tag);
4521 } else {
4522 func(static_cast<giveawayParameters &>(*obj));
4523 }
4524 return true;
4525 case giveawayParticipantStatusEligible::ID:
4526 if constexpr (AllowTag) {
4527 downcast_call_tag<giveawayParticipantStatusEligible> type_tag;
4528 func(type_tag);
4529 } else {
4530 func(static_cast<giveawayParticipantStatusEligible &>(*obj));
4531 }
4532 return true;
4533 case giveawayParticipantStatusParticipating::ID:
4534 if constexpr (AllowTag) {
4535 downcast_call_tag<giveawayParticipantStatusParticipating> type_tag;
4536 func(type_tag);
4537 } else {
4538 func(static_cast<giveawayParticipantStatusParticipating &>(*obj));
4539 }
4540 return true;
4541 case giveawayParticipantStatusAlreadyWasMember::ID:
4542 if constexpr (AllowTag) {
4543 downcast_call_tag<giveawayParticipantStatusAlreadyWasMember> type_tag;
4544 func(type_tag);
4545 } else {
4546 func(static_cast<giveawayParticipantStatusAlreadyWasMember &>(*obj));
4547 }
4548 return true;
4549 case giveawayParticipantStatusAdministrator::ID:
4550 if constexpr (AllowTag) {
4551 downcast_call_tag<giveawayParticipantStatusAdministrator> type_tag;
4552 func(type_tag);
4553 } else {
4554 func(static_cast<giveawayParticipantStatusAdministrator &>(*obj));
4555 }
4556 return true;
4557 case giveawayParticipantStatusDisallowedCountry::ID:
4558 if constexpr (AllowTag) {
4559 downcast_call_tag<giveawayParticipantStatusDisallowedCountry> type_tag;
4560 func(type_tag);
4561 } else {
4562 func(static_cast<giveawayParticipantStatusDisallowedCountry &>(*obj));
4563 }
4564 return true;
4565 case giveawayPrizePremium::ID:
4566 if constexpr (AllowTag) {
4567 downcast_call_tag<giveawayPrizePremium> type_tag;
4568 func(type_tag);
4569 } else {
4570 func(static_cast<giveawayPrizePremium &>(*obj));
4571 }
4572 return true;
4573 case giveawayPrizeStars::ID:
4574 if constexpr (AllowTag) {
4575 downcast_call_tag<giveawayPrizeStars> type_tag;
4576 func(type_tag);
4577 } else {
4578 func(static_cast<giveawayPrizeStars &>(*obj));
4579 }
4580 return true;
4581 case groupCall::ID:
4582 if constexpr (AllowTag) {
4583 downcast_call_tag<groupCall> type_tag;
4584 func(type_tag);
4585 } else {
4586 func(static_cast<groupCall &>(*obj));
4587 }
4588 return true;
4589 case groupCallDataChannelMain::ID:
4590 if constexpr (AllowTag) {
4591 downcast_call_tag<groupCallDataChannelMain> type_tag;
4592 func(type_tag);
4593 } else {
4594 func(static_cast<groupCallDataChannelMain &>(*obj));
4595 }
4596 return true;
4597 case groupCallDataChannelScreenSharing::ID:
4598 if constexpr (AllowTag) {
4599 downcast_call_tag<groupCallDataChannelScreenSharing> type_tag;
4600 func(type_tag);
4601 } else {
4602 func(static_cast<groupCallDataChannelScreenSharing &>(*obj));
4603 }
4604 return true;
4605 case groupCallId::ID:
4606 if constexpr (AllowTag) {
4607 downcast_call_tag<groupCallId> type_tag;
4608 func(type_tag);
4609 } else {
4610 func(static_cast<groupCallId &>(*obj));
4611 }
4612 return true;
4613 case groupCallInfo::ID:
4614 if constexpr (AllowTag) {
4615 downcast_call_tag<groupCallInfo> type_tag;
4616 func(type_tag);
4617 } else {
4618 func(static_cast<groupCallInfo &>(*obj));
4619 }
4620 return true;
4621 case groupCallJoinParameters::ID:
4622 if constexpr (AllowTag) {
4623 downcast_call_tag<groupCallJoinParameters> type_tag;
4624 func(type_tag);
4625 } else {
4626 func(static_cast<groupCallJoinParameters &>(*obj));
4627 }
4628 return true;
4629 case groupCallMessage::ID:
4630 if constexpr (AllowTag) {
4631 downcast_call_tag<groupCallMessage> type_tag;
4632 func(type_tag);
4633 } else {
4634 func(static_cast<groupCallMessage &>(*obj));
4635 }
4636 return true;
4637 case groupCallMessageLevel::ID:
4638 if constexpr (AllowTag) {
4639 downcast_call_tag<groupCallMessageLevel> type_tag;
4640 func(type_tag);
4641 } else {
4642 func(static_cast<groupCallMessageLevel &>(*obj));
4643 }
4644 return true;
4645 case groupCallParticipant::ID:
4646 if constexpr (AllowTag) {
4647 downcast_call_tag<groupCallParticipant> type_tag;
4648 func(type_tag);
4649 } else {
4650 func(static_cast<groupCallParticipant &>(*obj));
4651 }
4652 return true;
4653 case groupCallParticipantVideoInfo::ID:
4654 if constexpr (AllowTag) {
4655 downcast_call_tag<groupCallParticipantVideoInfo> type_tag;
4656 func(type_tag);
4657 } else {
4658 func(static_cast<groupCallParticipantVideoInfo &>(*obj));
4659 }
4660 return true;
4661 case groupCallParticipants::ID:
4662 if constexpr (AllowTag) {
4663 downcast_call_tag<groupCallParticipants> type_tag;
4664 func(type_tag);
4665 } else {
4666 func(static_cast<groupCallParticipants &>(*obj));
4667 }
4668 return true;
4669 case groupCallRecentSpeaker::ID:
4670 if constexpr (AllowTag) {
4671 downcast_call_tag<groupCallRecentSpeaker> type_tag;
4672 func(type_tag);
4673 } else {
4674 func(static_cast<groupCallRecentSpeaker &>(*obj));
4675 }
4676 return true;
4677 case groupCallStream::ID:
4678 if constexpr (AllowTag) {
4679 downcast_call_tag<groupCallStream> type_tag;
4680 func(type_tag);
4681 } else {
4682 func(static_cast<groupCallStream &>(*obj));
4683 }
4684 return true;
4685 case groupCallStreams::ID:
4686 if constexpr (AllowTag) {
4687 downcast_call_tag<groupCallStreams> type_tag;
4688 func(type_tag);
4689 } else {
4690 func(static_cast<groupCallStreams &>(*obj));
4691 }
4692 return true;
4693 case groupCallVideoQualityThumbnail::ID:
4694 if constexpr (AllowTag) {
4695 downcast_call_tag<groupCallVideoQualityThumbnail> type_tag;
4696 func(type_tag);
4697 } else {
4698 func(static_cast<groupCallVideoQualityThumbnail &>(*obj));
4699 }
4700 return true;
4701 case groupCallVideoQualityMedium::ID:
4702 if constexpr (AllowTag) {
4703 downcast_call_tag<groupCallVideoQualityMedium> type_tag;
4704 func(type_tag);
4705 } else {
4706 func(static_cast<groupCallVideoQualityMedium &>(*obj));
4707 }
4708 return true;
4709 case groupCallVideoQualityFull::ID:
4710 if constexpr (AllowTag) {
4711 downcast_call_tag<groupCallVideoQualityFull> type_tag;
4712 func(type_tag);
4713 } else {
4714 func(static_cast<groupCallVideoQualityFull &>(*obj));
4715 }
4716 return true;
4717 case groupCallVideoSourceGroup::ID:
4718 if constexpr (AllowTag) {
4719 downcast_call_tag<groupCallVideoSourceGroup> type_tag;
4720 func(type_tag);
4721 } else {
4722 func(static_cast<groupCallVideoSourceGroup &>(*obj));
4723 }
4724 return true;
4725 case hashtags::ID:
4726 if constexpr (AllowTag) {
4727 downcast_call_tag<hashtags> type_tag;
4728 func(type_tag);
4729 } else {
4730 func(static_cast<hashtags &>(*obj));
4731 }
4732 return true;
4733 case httpUrl::ID:
4734 if constexpr (AllowTag) {
4735 downcast_call_tag<httpUrl> type_tag;
4736 func(type_tag);
4737 } else {
4738 func(static_cast<httpUrl &>(*obj));
4739 }
4740 return true;
4741 case identityDocument::ID:
4742 if constexpr (AllowTag) {
4743 downcast_call_tag<identityDocument> type_tag;
4744 func(type_tag);
4745 } else {
4746 func(static_cast<identityDocument &>(*obj));
4747 }
4748 return true;
4749 case importedContact::ID:
4750 if constexpr (AllowTag) {
4751 downcast_call_tag<importedContact> type_tag;
4752 func(type_tag);
4753 } else {
4754 func(static_cast<importedContact &>(*obj));
4755 }
4756 return true;
4757 case importedContacts::ID:
4758 if constexpr (AllowTag) {
4759 downcast_call_tag<importedContacts> type_tag;
4760 func(type_tag);
4761 } else {
4762 func(static_cast<importedContacts &>(*obj));
4763 }
4764 return true;
4765 case inlineKeyboardButton::ID:
4766 if constexpr (AllowTag) {
4767 downcast_call_tag<inlineKeyboardButton> type_tag;
4768 func(type_tag);
4769 } else {
4770 func(static_cast<inlineKeyboardButton &>(*obj));
4771 }
4772 return true;
4773 case inlineKeyboardButtonTypeUrl::ID:
4774 if constexpr (AllowTag) {
4775 downcast_call_tag<inlineKeyboardButtonTypeUrl> type_tag;
4776 func(type_tag);
4777 } else {
4778 func(static_cast<inlineKeyboardButtonTypeUrl &>(*obj));
4779 }
4780 return true;
4781 case inlineKeyboardButtonTypeLoginUrl::ID:
4782 if constexpr (AllowTag) {
4783 downcast_call_tag<inlineKeyboardButtonTypeLoginUrl> type_tag;
4784 func(type_tag);
4785 } else {
4786 func(static_cast<inlineKeyboardButtonTypeLoginUrl &>(*obj));
4787 }
4788 return true;
4789 case inlineKeyboardButtonTypeWebApp::ID:
4790 if constexpr (AllowTag) {
4791 downcast_call_tag<inlineKeyboardButtonTypeWebApp> type_tag;
4792 func(type_tag);
4793 } else {
4794 func(static_cast<inlineKeyboardButtonTypeWebApp &>(*obj));
4795 }
4796 return true;
4797 case inlineKeyboardButtonTypeCallback::ID:
4798 if constexpr (AllowTag) {
4799 downcast_call_tag<inlineKeyboardButtonTypeCallback> type_tag;
4800 func(type_tag);
4801 } else {
4802 func(static_cast<inlineKeyboardButtonTypeCallback &>(*obj));
4803 }
4804 return true;
4805 case inlineKeyboardButtonTypeCallbackWithPassword::ID:
4806 if constexpr (AllowTag) {
4807 downcast_call_tag<inlineKeyboardButtonTypeCallbackWithPassword> type_tag;
4808 func(type_tag);
4809 } else {
4810 func(static_cast<inlineKeyboardButtonTypeCallbackWithPassword &>(*obj));
4811 }
4812 return true;
4813 case inlineKeyboardButtonTypeCallbackGame::ID:
4814 if constexpr (AllowTag) {
4815 downcast_call_tag<inlineKeyboardButtonTypeCallbackGame> type_tag;
4816 func(type_tag);
4817 } else {
4818 func(static_cast<inlineKeyboardButtonTypeCallbackGame &>(*obj));
4819 }
4820 return true;
4821 case inlineKeyboardButtonTypeSwitchInline::ID:
4822 if constexpr (AllowTag) {
4823 downcast_call_tag<inlineKeyboardButtonTypeSwitchInline> type_tag;
4824 func(type_tag);
4825 } else {
4826 func(static_cast<inlineKeyboardButtonTypeSwitchInline &>(*obj));
4827 }
4828 return true;
4829 case inlineKeyboardButtonTypeBuy::ID:
4830 if constexpr (AllowTag) {
4831 downcast_call_tag<inlineKeyboardButtonTypeBuy> type_tag;
4832 func(type_tag);
4833 } else {
4834 func(static_cast<inlineKeyboardButtonTypeBuy &>(*obj));
4835 }
4836 return true;
4837 case inlineKeyboardButtonTypeUser::ID:
4838 if constexpr (AllowTag) {
4839 downcast_call_tag<inlineKeyboardButtonTypeUser> type_tag;
4840 func(type_tag);
4841 } else {
4842 func(static_cast<inlineKeyboardButtonTypeUser &>(*obj));
4843 }
4844 return true;
4845 case inlineKeyboardButtonTypeCopyText::ID:
4846 if constexpr (AllowTag) {
4847 downcast_call_tag<inlineKeyboardButtonTypeCopyText> type_tag;
4848 func(type_tag);
4849 } else {
4850 func(static_cast<inlineKeyboardButtonTypeCopyText &>(*obj));
4851 }
4852 return true;
4853 case inlineMessageId::ID:
4854 if constexpr (AllowTag) {
4855 downcast_call_tag<inlineMessageId> type_tag;
4856 func(type_tag);
4857 } else {
4858 func(static_cast<inlineMessageId &>(*obj));
4859 }
4860 return true;
4861 case inlineQueryResultArticle::ID:
4862 if constexpr (AllowTag) {
4863 downcast_call_tag<inlineQueryResultArticle> type_tag;
4864 func(type_tag);
4865 } else {
4866 func(static_cast<inlineQueryResultArticle &>(*obj));
4867 }
4868 return true;
4869 case inlineQueryResultContact::ID:
4870 if constexpr (AllowTag) {
4871 downcast_call_tag<inlineQueryResultContact> type_tag;
4872 func(type_tag);
4873 } else {
4874 func(static_cast<inlineQueryResultContact &>(*obj));
4875 }
4876 return true;
4877 case inlineQueryResultLocation::ID:
4878 if constexpr (AllowTag) {
4879 downcast_call_tag<inlineQueryResultLocation> type_tag;
4880 func(type_tag);
4881 } else {
4882 func(static_cast<inlineQueryResultLocation &>(*obj));
4883 }
4884 return true;
4885 case inlineQueryResultVenue::ID:
4886 if constexpr (AllowTag) {
4887 downcast_call_tag<inlineQueryResultVenue> type_tag;
4888 func(type_tag);
4889 } else {
4890 func(static_cast<inlineQueryResultVenue &>(*obj));
4891 }
4892 return true;
4893 case inlineQueryResultGame::ID:
4894 if constexpr (AllowTag) {
4895 downcast_call_tag<inlineQueryResultGame> type_tag;
4896 func(type_tag);
4897 } else {
4898 func(static_cast<inlineQueryResultGame &>(*obj));
4899 }
4900 return true;
4901 case inlineQueryResultAnimation::ID:
4902 if constexpr (AllowTag) {
4903 downcast_call_tag<inlineQueryResultAnimation> type_tag;
4904 func(type_tag);
4905 } else {
4906 func(static_cast<inlineQueryResultAnimation &>(*obj));
4907 }
4908 return true;
4909 case inlineQueryResultAudio::ID:
4910 if constexpr (AllowTag) {
4911 downcast_call_tag<inlineQueryResultAudio> type_tag;
4912 func(type_tag);
4913 } else {
4914 func(static_cast<inlineQueryResultAudio &>(*obj));
4915 }
4916 return true;
4917 case inlineQueryResultDocument::ID:
4918 if constexpr (AllowTag) {
4919 downcast_call_tag<inlineQueryResultDocument> type_tag;
4920 func(type_tag);
4921 } else {
4922 func(static_cast<inlineQueryResultDocument &>(*obj));
4923 }
4924 return true;
4925 case inlineQueryResultPhoto::ID:
4926 if constexpr (AllowTag) {
4927 downcast_call_tag<inlineQueryResultPhoto> type_tag;
4928 func(type_tag);
4929 } else {
4930 func(static_cast<inlineQueryResultPhoto &>(*obj));
4931 }
4932 return true;
4933 case inlineQueryResultSticker::ID:
4934 if constexpr (AllowTag) {
4935 downcast_call_tag<inlineQueryResultSticker> type_tag;
4936 func(type_tag);
4937 } else {
4938 func(static_cast<inlineQueryResultSticker &>(*obj));
4939 }
4940 return true;
4941 case inlineQueryResultVideo::ID:
4942 if constexpr (AllowTag) {
4943 downcast_call_tag<inlineQueryResultVideo> type_tag;
4944 func(type_tag);
4945 } else {
4946 func(static_cast<inlineQueryResultVideo &>(*obj));
4947 }
4948 return true;
4949 case inlineQueryResultVoiceNote::ID:
4950 if constexpr (AllowTag) {
4951 downcast_call_tag<inlineQueryResultVoiceNote> type_tag;
4952 func(type_tag);
4953 } else {
4954 func(static_cast<inlineQueryResultVoiceNote &>(*obj));
4955 }
4956 return true;
4957 case inlineQueryResults::ID:
4958 if constexpr (AllowTag) {
4959 downcast_call_tag<inlineQueryResults> type_tag;
4960 func(type_tag);
4961 } else {
4962 func(static_cast<inlineQueryResults &>(*obj));
4963 }
4964 return true;
4965 case inlineQueryResultsButton::ID:
4966 if constexpr (AllowTag) {
4967 downcast_call_tag<inlineQueryResultsButton> type_tag;
4968 func(type_tag);
4969 } else {
4970 func(static_cast<inlineQueryResultsButton &>(*obj));
4971 }
4972 return true;
4973 case inlineQueryResultsButtonTypeStartBot::ID:
4974 if constexpr (AllowTag) {
4975 downcast_call_tag<inlineQueryResultsButtonTypeStartBot> type_tag;
4976 func(type_tag);
4977 } else {
4978 func(static_cast<inlineQueryResultsButtonTypeStartBot &>(*obj));
4979 }
4980 return true;
4981 case inlineQueryResultsButtonTypeWebApp::ID:
4982 if constexpr (AllowTag) {
4983 downcast_call_tag<inlineQueryResultsButtonTypeWebApp> type_tag;
4984 func(type_tag);
4985 } else {
4986 func(static_cast<inlineQueryResultsButtonTypeWebApp &>(*obj));
4987 }
4988 return true;
4989 case inputBackgroundLocal::ID:
4990 if constexpr (AllowTag) {
4991 downcast_call_tag<inputBackgroundLocal> type_tag;
4992 func(type_tag);
4993 } else {
4994 func(static_cast<inputBackgroundLocal &>(*obj));
4995 }
4996 return true;
4997 case inputBackgroundRemote::ID:
4998 if constexpr (AllowTag) {
4999 downcast_call_tag<inputBackgroundRemote> type_tag;
5000 func(type_tag);
5001 } else {
5002 func(static_cast<inputBackgroundRemote &>(*obj));
5003 }
5004 return true;
5005 case inputBackgroundPrevious::ID:
5006 if constexpr (AllowTag) {
5007 downcast_call_tag<inputBackgroundPrevious> type_tag;
5008 func(type_tag);
5009 } else {
5010 func(static_cast<inputBackgroundPrevious &>(*obj));
5011 }
5012 return true;
5013 case inputBusinessChatLink::ID:
5014 if constexpr (AllowTag) {
5015 downcast_call_tag<inputBusinessChatLink> type_tag;
5016 func(type_tag);
5017 } else {
5018 func(static_cast<inputBusinessChatLink &>(*obj));
5019 }
5020 return true;
5021 case inputBusinessStartPage::ID:
5022 if constexpr (AllowTag) {
5023 downcast_call_tag<inputBusinessStartPage> type_tag;
5024 func(type_tag);
5025 } else {
5026 func(static_cast<inputBusinessStartPage &>(*obj));
5027 }
5028 return true;
5029 case inputCallDiscarded::ID:
5030 if constexpr (AllowTag) {
5031 downcast_call_tag<inputCallDiscarded> type_tag;
5032 func(type_tag);
5033 } else {
5034 func(static_cast<inputCallDiscarded &>(*obj));
5035 }
5036 return true;
5037 case inputCallFromMessage::ID:
5038 if constexpr (AllowTag) {
5039 downcast_call_tag<inputCallFromMessage> type_tag;
5040 func(type_tag);
5041 } else {
5042 func(static_cast<inputCallFromMessage &>(*obj));
5043 }
5044 return true;
5045 case inputChatPhotoPrevious::ID:
5046 if constexpr (AllowTag) {
5047 downcast_call_tag<inputChatPhotoPrevious> type_tag;
5048 func(type_tag);
5049 } else {
5050 func(static_cast<inputChatPhotoPrevious &>(*obj));
5051 }
5052 return true;
5053 case inputChatPhotoStatic::ID:
5054 if constexpr (AllowTag) {
5055 downcast_call_tag<inputChatPhotoStatic> type_tag;
5056 func(type_tag);
5057 } else {
5058 func(static_cast<inputChatPhotoStatic &>(*obj));
5059 }
5060 return true;
5061 case inputChatPhotoAnimation::ID:
5062 if constexpr (AllowTag) {
5063 downcast_call_tag<inputChatPhotoAnimation> type_tag;
5064 func(type_tag);
5065 } else {
5066 func(static_cast<inputChatPhotoAnimation &>(*obj));
5067 }
5068 return true;
5069 case inputChatPhotoSticker::ID:
5070 if constexpr (AllowTag) {
5071 downcast_call_tag<inputChatPhotoSticker> type_tag;
5072 func(type_tag);
5073 } else {
5074 func(static_cast<inputChatPhotoSticker &>(*obj));
5075 }
5076 return true;
5077 case inputChatThemeEmoji::ID:
5078 if constexpr (AllowTag) {
5079 downcast_call_tag<inputChatThemeEmoji> type_tag;
5080 func(type_tag);
5081 } else {
5082 func(static_cast<inputChatThemeEmoji &>(*obj));
5083 }
5084 return true;
5085 case inputChatThemeGift::ID:
5086 if constexpr (AllowTag) {
5087 downcast_call_tag<inputChatThemeGift> type_tag;
5088 func(type_tag);
5089 } else {
5090 func(static_cast<inputChatThemeGift &>(*obj));
5091 }
5092 return true;
5093 case inputChecklist::ID:
5094 if constexpr (AllowTag) {
5095 downcast_call_tag<inputChecklist> type_tag;
5096 func(type_tag);
5097 } else {
5098 func(static_cast<inputChecklist &>(*obj));
5099 }
5100 return true;
5101 case inputChecklistTask::ID:
5102 if constexpr (AllowTag) {
5103 downcast_call_tag<inputChecklistTask> type_tag;
5104 func(type_tag);
5105 } else {
5106 func(static_cast<inputChecklistTask &>(*obj));
5107 }
5108 return true;
5109 case inputCredentialsSaved::ID:
5110 if constexpr (AllowTag) {
5111 downcast_call_tag<inputCredentialsSaved> type_tag;
5112 func(type_tag);
5113 } else {
5114 func(static_cast<inputCredentialsSaved &>(*obj));
5115 }
5116 return true;
5117 case inputCredentialsNew::ID:
5118 if constexpr (AllowTag) {
5119 downcast_call_tag<inputCredentialsNew> type_tag;
5120 func(type_tag);
5121 } else {
5122 func(static_cast<inputCredentialsNew &>(*obj));
5123 }
5124 return true;
5125 case inputCredentialsApplePay::ID:
5126 if constexpr (AllowTag) {
5127 downcast_call_tag<inputCredentialsApplePay> type_tag;
5128 func(type_tag);
5129 } else {
5130 func(static_cast<inputCredentialsApplePay &>(*obj));
5131 }
5132 return true;
5133 case inputCredentialsGooglePay::ID:
5134 if constexpr (AllowTag) {
5135 downcast_call_tag<inputCredentialsGooglePay> type_tag;
5136 func(type_tag);
5137 } else {
5138 func(static_cast<inputCredentialsGooglePay &>(*obj));
5139 }
5140 return true;
5141 case inputFileId::ID:
5142 if constexpr (AllowTag) {
5143 downcast_call_tag<inputFileId> type_tag;
5144 func(type_tag);
5145 } else {
5146 func(static_cast<inputFileId &>(*obj));
5147 }
5148 return true;
5149 case inputFileRemote::ID:
5150 if constexpr (AllowTag) {
5151 downcast_call_tag<inputFileRemote> type_tag;
5152 func(type_tag);
5153 } else {
5154 func(static_cast<inputFileRemote &>(*obj));
5155 }
5156 return true;
5157 case inputFileLocal::ID:
5158 if constexpr (AllowTag) {
5159 downcast_call_tag<inputFileLocal> type_tag;
5160 func(type_tag);
5161 } else {
5162 func(static_cast<inputFileLocal &>(*obj));
5163 }
5164 return true;
5165 case inputFileGenerated::ID:
5166 if constexpr (AllowTag) {
5167 downcast_call_tag<inputFileGenerated> type_tag;
5168 func(type_tag);
5169 } else {
5170 func(static_cast<inputFileGenerated &>(*obj));
5171 }
5172 return true;
5173 case inputGroupCallLink::ID:
5174 if constexpr (AllowTag) {
5175 downcast_call_tag<inputGroupCallLink> type_tag;
5176 func(type_tag);
5177 } else {
5178 func(static_cast<inputGroupCallLink &>(*obj));
5179 }
5180 return true;
5181 case inputGroupCallMessage::ID:
5182 if constexpr (AllowTag) {
5183 downcast_call_tag<inputGroupCallMessage> type_tag;
5184 func(type_tag);
5185 } else {
5186 func(static_cast<inputGroupCallMessage &>(*obj));
5187 }
5188 return true;
5189 case inputIdentityDocument::ID:
5190 if constexpr (AllowTag) {
5191 downcast_call_tag<inputIdentityDocument> type_tag;
5192 func(type_tag);
5193 } else {
5194 func(static_cast<inputIdentityDocument &>(*obj));
5195 }
5196 return true;
5197 case inputInlineQueryResultAnimation::ID:
5198 if constexpr (AllowTag) {
5199 downcast_call_tag<inputInlineQueryResultAnimation> type_tag;
5200 func(type_tag);
5201 } else {
5202 func(static_cast<inputInlineQueryResultAnimation &>(*obj));
5203 }
5204 return true;
5205 case inputInlineQueryResultArticle::ID:
5206 if constexpr (AllowTag) {
5207 downcast_call_tag<inputInlineQueryResultArticle> type_tag;
5208 func(type_tag);
5209 } else {
5210 func(static_cast<inputInlineQueryResultArticle &>(*obj));
5211 }
5212 return true;
5213 case inputInlineQueryResultAudio::ID:
5214 if constexpr (AllowTag) {
5215 downcast_call_tag<inputInlineQueryResultAudio> type_tag;
5216 func(type_tag);
5217 } else {
5218 func(static_cast<inputInlineQueryResultAudio &>(*obj));
5219 }
5220 return true;
5221 case inputInlineQueryResultContact::ID:
5222 if constexpr (AllowTag) {
5223 downcast_call_tag<inputInlineQueryResultContact> type_tag;
5224 func(type_tag);
5225 } else {
5226 func(static_cast<inputInlineQueryResultContact &>(*obj));
5227 }
5228 return true;
5229 case inputInlineQueryResultDocument::ID:
5230 if constexpr (AllowTag) {
5231 downcast_call_tag<inputInlineQueryResultDocument> type_tag;
5232 func(type_tag);
5233 } else {
5234 func(static_cast<inputInlineQueryResultDocument &>(*obj));
5235 }
5236 return true;
5237 case inputInlineQueryResultGame::ID:
5238 if constexpr (AllowTag) {
5239 downcast_call_tag<inputInlineQueryResultGame> type_tag;
5240 func(type_tag);
5241 } else {
5242 func(static_cast<inputInlineQueryResultGame &>(*obj));
5243 }
5244 return true;
5245 case inputInlineQueryResultLocation::ID:
5246 if constexpr (AllowTag) {
5247 downcast_call_tag<inputInlineQueryResultLocation> type_tag;
5248 func(type_tag);
5249 } else {
5250 func(static_cast<inputInlineQueryResultLocation &>(*obj));
5251 }
5252 return true;
5253 case inputInlineQueryResultPhoto::ID:
5254 if constexpr (AllowTag) {
5255 downcast_call_tag<inputInlineQueryResultPhoto> type_tag;
5256 func(type_tag);
5257 } else {
5258 func(static_cast<inputInlineQueryResultPhoto &>(*obj));
5259 }
5260 return true;
5261 case inputInlineQueryResultSticker::ID:
5262 if constexpr (AllowTag) {
5263 downcast_call_tag<inputInlineQueryResultSticker> type_tag;
5264 func(type_tag);
5265 } else {
5266 func(static_cast<inputInlineQueryResultSticker &>(*obj));
5267 }
5268 return true;
5269 case inputInlineQueryResultVenue::ID:
5270 if constexpr (AllowTag) {
5271 downcast_call_tag<inputInlineQueryResultVenue> type_tag;
5272 func(type_tag);
5273 } else {
5274 func(static_cast<inputInlineQueryResultVenue &>(*obj));
5275 }
5276 return true;
5277 case inputInlineQueryResultVideo::ID:
5278 if constexpr (AllowTag) {
5279 downcast_call_tag<inputInlineQueryResultVideo> type_tag;
5280 func(type_tag);
5281 } else {
5282 func(static_cast<inputInlineQueryResultVideo &>(*obj));
5283 }
5284 return true;
5285 case inputInlineQueryResultVoiceNote::ID:
5286 if constexpr (AllowTag) {
5287 downcast_call_tag<inputInlineQueryResultVoiceNote> type_tag;
5288 func(type_tag);
5289 } else {
5290 func(static_cast<inputInlineQueryResultVoiceNote &>(*obj));
5291 }
5292 return true;
5293 case inputInvoiceMessage::ID:
5294 if constexpr (AllowTag) {
5295 downcast_call_tag<inputInvoiceMessage> type_tag;
5296 func(type_tag);
5297 } else {
5298 func(static_cast<inputInvoiceMessage &>(*obj));
5299 }
5300 return true;
5301 case inputInvoiceName::ID:
5302 if constexpr (AllowTag) {
5303 downcast_call_tag<inputInvoiceName> type_tag;
5304 func(type_tag);
5305 } else {
5306 func(static_cast<inputInvoiceName &>(*obj));
5307 }
5308 return true;
5309 case inputInvoiceTelegram::ID:
5310 if constexpr (AllowTag) {
5311 downcast_call_tag<inputInvoiceTelegram> type_tag;
5312 func(type_tag);
5313 } else {
5314 func(static_cast<inputInvoiceTelegram &>(*obj));
5315 }
5316 return true;
5317 case inputMessageText::ID:
5318 if constexpr (AllowTag) {
5319 downcast_call_tag<inputMessageText> type_tag;
5320 func(type_tag);
5321 } else {
5322 func(static_cast<inputMessageText &>(*obj));
5323 }
5324 return true;
5325 case inputMessageAnimation::ID:
5326 if constexpr (AllowTag) {
5327 downcast_call_tag<inputMessageAnimation> type_tag;
5328 func(type_tag);
5329 } else {
5330 func(static_cast<inputMessageAnimation &>(*obj));
5331 }
5332 return true;
5333 case inputMessageAudio::ID:
5334 if constexpr (AllowTag) {
5335 downcast_call_tag<inputMessageAudio> type_tag;
5336 func(type_tag);
5337 } else {
5338 func(static_cast<inputMessageAudio &>(*obj));
5339 }
5340 return true;
5341 case inputMessageDocument::ID:
5342 if constexpr (AllowTag) {
5343 downcast_call_tag<inputMessageDocument> type_tag;
5344 func(type_tag);
5345 } else {
5346 func(static_cast<inputMessageDocument &>(*obj));
5347 }
5348 return true;
5349 case inputMessagePaidMedia::ID:
5350 if constexpr (AllowTag) {
5351 downcast_call_tag<inputMessagePaidMedia> type_tag;
5352 func(type_tag);
5353 } else {
5354 func(static_cast<inputMessagePaidMedia &>(*obj));
5355 }
5356 return true;
5357 case inputMessagePhoto::ID:
5358 if constexpr (AllowTag) {
5359 downcast_call_tag<inputMessagePhoto> type_tag;
5360 func(type_tag);
5361 } else {
5362 func(static_cast<inputMessagePhoto &>(*obj));
5363 }
5364 return true;
5365 case inputMessageSticker::ID:
5366 if constexpr (AllowTag) {
5367 downcast_call_tag<inputMessageSticker> type_tag;
5368 func(type_tag);
5369 } else {
5370 func(static_cast<inputMessageSticker &>(*obj));
5371 }
5372 return true;
5373 case inputMessageVideo::ID:
5374 if constexpr (AllowTag) {
5375 downcast_call_tag<inputMessageVideo> type_tag;
5376 func(type_tag);
5377 } else {
5378 func(static_cast<inputMessageVideo &>(*obj));
5379 }
5380 return true;
5381 case inputMessageVideoNote::ID:
5382 if constexpr (AllowTag) {
5383 downcast_call_tag<inputMessageVideoNote> type_tag;
5384 func(type_tag);
5385 } else {
5386 func(static_cast<inputMessageVideoNote &>(*obj));
5387 }
5388 return true;
5389 case inputMessageVoiceNote::ID:
5390 if constexpr (AllowTag) {
5391 downcast_call_tag<inputMessageVoiceNote> type_tag;
5392 func(type_tag);
5393 } else {
5394 func(static_cast<inputMessageVoiceNote &>(*obj));
5395 }
5396 return true;
5397 case inputMessageLocation::ID:
5398 if constexpr (AllowTag) {
5399 downcast_call_tag<inputMessageLocation> type_tag;
5400 func(type_tag);
5401 } else {
5402 func(static_cast<inputMessageLocation &>(*obj));
5403 }
5404 return true;
5405 case inputMessageVenue::ID:
5406 if constexpr (AllowTag) {
5407 downcast_call_tag<inputMessageVenue> type_tag;
5408 func(type_tag);
5409 } else {
5410 func(static_cast<inputMessageVenue &>(*obj));
5411 }
5412 return true;
5413 case inputMessageContact::ID:
5414 if constexpr (AllowTag) {
5415 downcast_call_tag<inputMessageContact> type_tag;
5416 func(type_tag);
5417 } else {
5418 func(static_cast<inputMessageContact &>(*obj));
5419 }
5420 return true;
5421 case inputMessageDice::ID:
5422 if constexpr (AllowTag) {
5423 downcast_call_tag<inputMessageDice> type_tag;
5424 func(type_tag);
5425 } else {
5426 func(static_cast<inputMessageDice &>(*obj));
5427 }
5428 return true;
5429 case inputMessageGame::ID:
5430 if constexpr (AllowTag) {
5431 downcast_call_tag<inputMessageGame> type_tag;
5432 func(type_tag);
5433 } else {
5434 func(static_cast<inputMessageGame &>(*obj));
5435 }
5436 return true;
5437 case inputMessageInvoice::ID:
5438 if constexpr (AllowTag) {
5439 downcast_call_tag<inputMessageInvoice> type_tag;
5440 func(type_tag);
5441 } else {
5442 func(static_cast<inputMessageInvoice &>(*obj));
5443 }
5444 return true;
5445 case inputMessagePoll::ID:
5446 if constexpr (AllowTag) {
5447 downcast_call_tag<inputMessagePoll> type_tag;
5448 func(type_tag);
5449 } else {
5450 func(static_cast<inputMessagePoll &>(*obj));
5451 }
5452 return true;
5453 case inputMessageStakeDice::ID:
5454 if constexpr (AllowTag) {
5455 downcast_call_tag<inputMessageStakeDice> type_tag;
5456 func(type_tag);
5457 } else {
5458 func(static_cast<inputMessageStakeDice &>(*obj));
5459 }
5460 return true;
5461 case inputMessageStory::ID:
5462 if constexpr (AllowTag) {
5463 downcast_call_tag<inputMessageStory> type_tag;
5464 func(type_tag);
5465 } else {
5466 func(static_cast<inputMessageStory &>(*obj));
5467 }
5468 return true;
5469 case inputMessageChecklist::ID:
5470 if constexpr (AllowTag) {
5471 downcast_call_tag<inputMessageChecklist> type_tag;
5472 func(type_tag);
5473 } else {
5474 func(static_cast<inputMessageChecklist &>(*obj));
5475 }
5476 return true;
5477 case inputMessageForwarded::ID:
5478 if constexpr (AllowTag) {
5479 downcast_call_tag<inputMessageForwarded> type_tag;
5480 func(type_tag);
5481 } else {
5482 func(static_cast<inputMessageForwarded &>(*obj));
5483 }
5484 return true;
5485 case inputMessageReplyToMessage::ID:
5486 if constexpr (AllowTag) {
5487 downcast_call_tag<inputMessageReplyToMessage> type_tag;
5488 func(type_tag);
5489 } else {
5490 func(static_cast<inputMessageReplyToMessage &>(*obj));
5491 }
5492 return true;
5493 case inputMessageReplyToExternalMessage::ID:
5494 if constexpr (AllowTag) {
5495 downcast_call_tag<inputMessageReplyToExternalMessage> type_tag;
5496 func(type_tag);
5497 } else {
5498 func(static_cast<inputMessageReplyToExternalMessage &>(*obj));
5499 }
5500 return true;
5501 case inputMessageReplyToStory::ID:
5502 if constexpr (AllowTag) {
5503 downcast_call_tag<inputMessageReplyToStory> type_tag;
5504 func(type_tag);
5505 } else {
5506 func(static_cast<inputMessageReplyToStory &>(*obj));
5507 }
5508 return true;
5509 case inputPaidMedia::ID:
5510 if constexpr (AllowTag) {
5511 downcast_call_tag<inputPaidMedia> type_tag;
5512 func(type_tag);
5513 } else {
5514 func(static_cast<inputPaidMedia &>(*obj));
5515 }
5516 return true;
5517 case inputPaidMediaTypePhoto::ID:
5518 if constexpr (AllowTag) {
5519 downcast_call_tag<inputPaidMediaTypePhoto> type_tag;
5520 func(type_tag);
5521 } else {
5522 func(static_cast<inputPaidMediaTypePhoto &>(*obj));
5523 }
5524 return true;
5525 case inputPaidMediaTypeVideo::ID:
5526 if constexpr (AllowTag) {
5527 downcast_call_tag<inputPaidMediaTypeVideo> type_tag;
5528 func(type_tag);
5529 } else {
5530 func(static_cast<inputPaidMediaTypeVideo &>(*obj));
5531 }
5532 return true;
5533 case inputPassportElementPersonalDetails::ID:
5534 if constexpr (AllowTag) {
5535 downcast_call_tag<inputPassportElementPersonalDetails> type_tag;
5536 func(type_tag);
5537 } else {
5538 func(static_cast<inputPassportElementPersonalDetails &>(*obj));
5539 }
5540 return true;
5541 case inputPassportElementPassport::ID:
5542 if constexpr (AllowTag) {
5543 downcast_call_tag<inputPassportElementPassport> type_tag;
5544 func(type_tag);
5545 } else {
5546 func(static_cast<inputPassportElementPassport &>(*obj));
5547 }
5548 return true;
5549 case inputPassportElementDriverLicense::ID:
5550 if constexpr (AllowTag) {
5551 downcast_call_tag<inputPassportElementDriverLicense> type_tag;
5552 func(type_tag);
5553 } else {
5554 func(static_cast<inputPassportElementDriverLicense &>(*obj));
5555 }
5556 return true;
5557 case inputPassportElementIdentityCard::ID:
5558 if constexpr (AllowTag) {
5559 downcast_call_tag<inputPassportElementIdentityCard> type_tag;
5560 func(type_tag);
5561 } else {
5562 func(static_cast<inputPassportElementIdentityCard &>(*obj));
5563 }
5564 return true;
5565 case inputPassportElementInternalPassport::ID:
5566 if constexpr (AllowTag) {
5567 downcast_call_tag<inputPassportElementInternalPassport> type_tag;
5568 func(type_tag);
5569 } else {
5570 func(static_cast<inputPassportElementInternalPassport &>(*obj));
5571 }
5572 return true;
5573 case inputPassportElementAddress::ID:
5574 if constexpr (AllowTag) {
5575 downcast_call_tag<inputPassportElementAddress> type_tag;
5576 func(type_tag);
5577 } else {
5578 func(static_cast<inputPassportElementAddress &>(*obj));
5579 }
5580 return true;
5581 case inputPassportElementUtilityBill::ID:
5582 if constexpr (AllowTag) {
5583 downcast_call_tag<inputPassportElementUtilityBill> type_tag;
5584 func(type_tag);
5585 } else {
5586 func(static_cast<inputPassportElementUtilityBill &>(*obj));
5587 }
5588 return true;
5589 case inputPassportElementBankStatement::ID:
5590 if constexpr (AllowTag) {
5591 downcast_call_tag<inputPassportElementBankStatement> type_tag;
5592 func(type_tag);
5593 } else {
5594 func(static_cast<inputPassportElementBankStatement &>(*obj));
5595 }
5596 return true;
5597 case inputPassportElementRentalAgreement::ID:
5598 if constexpr (AllowTag) {
5599 downcast_call_tag<inputPassportElementRentalAgreement> type_tag;
5600 func(type_tag);
5601 } else {
5602 func(static_cast<inputPassportElementRentalAgreement &>(*obj));
5603 }
5604 return true;
5605 case inputPassportElementPassportRegistration::ID:
5606 if constexpr (AllowTag) {
5607 downcast_call_tag<inputPassportElementPassportRegistration> type_tag;
5608 func(type_tag);
5609 } else {
5610 func(static_cast<inputPassportElementPassportRegistration &>(*obj));
5611 }
5612 return true;
5613 case inputPassportElementTemporaryRegistration::ID:
5614 if constexpr (AllowTag) {
5615 downcast_call_tag<inputPassportElementTemporaryRegistration> type_tag;
5616 func(type_tag);
5617 } else {
5618 func(static_cast<inputPassportElementTemporaryRegistration &>(*obj));
5619 }
5620 return true;
5621 case inputPassportElementPhoneNumber::ID:
5622 if constexpr (AllowTag) {
5623 downcast_call_tag<inputPassportElementPhoneNumber> type_tag;
5624 func(type_tag);
5625 } else {
5626 func(static_cast<inputPassportElementPhoneNumber &>(*obj));
5627 }
5628 return true;
5629 case inputPassportElementEmailAddress::ID:
5630 if constexpr (AllowTag) {
5631 downcast_call_tag<inputPassportElementEmailAddress> type_tag;
5632 func(type_tag);
5633 } else {
5634 func(static_cast<inputPassportElementEmailAddress &>(*obj));
5635 }
5636 return true;
5637 case inputPassportElementError::ID:
5638 if constexpr (AllowTag) {
5639 downcast_call_tag<inputPassportElementError> type_tag;
5640 func(type_tag);
5641 } else {
5642 func(static_cast<inputPassportElementError &>(*obj));
5643 }
5644 return true;
5645 case inputPassportElementErrorSourceUnspecified::ID:
5646 if constexpr (AllowTag) {
5647 downcast_call_tag<inputPassportElementErrorSourceUnspecified> type_tag;
5648 func(type_tag);
5649 } else {
5650 func(static_cast<inputPassportElementErrorSourceUnspecified &>(*obj));
5651 }
5652 return true;
5653 case inputPassportElementErrorSourceDataField::ID:
5654 if constexpr (AllowTag) {
5655 downcast_call_tag<inputPassportElementErrorSourceDataField> type_tag;
5656 func(type_tag);
5657 } else {
5658 func(static_cast<inputPassportElementErrorSourceDataField &>(*obj));
5659 }
5660 return true;
5661 case inputPassportElementErrorSourceFrontSide::ID:
5662 if constexpr (AllowTag) {
5663 downcast_call_tag<inputPassportElementErrorSourceFrontSide> type_tag;
5664 func(type_tag);
5665 } else {
5666 func(static_cast<inputPassportElementErrorSourceFrontSide &>(*obj));
5667 }
5668 return true;
5669 case inputPassportElementErrorSourceReverseSide::ID:
5670 if constexpr (AllowTag) {
5671 downcast_call_tag<inputPassportElementErrorSourceReverseSide> type_tag;
5672 func(type_tag);
5673 } else {
5674 func(static_cast<inputPassportElementErrorSourceReverseSide &>(*obj));
5675 }
5676 return true;
5677 case inputPassportElementErrorSourceSelfie::ID:
5678 if constexpr (AllowTag) {
5679 downcast_call_tag<inputPassportElementErrorSourceSelfie> type_tag;
5680 func(type_tag);
5681 } else {
5682 func(static_cast<inputPassportElementErrorSourceSelfie &>(*obj));
5683 }
5684 return true;
5685 case inputPassportElementErrorSourceTranslationFile::ID:
5686 if constexpr (AllowTag) {
5687 downcast_call_tag<inputPassportElementErrorSourceTranslationFile> type_tag;
5688 func(type_tag);
5689 } else {
5690 func(static_cast<inputPassportElementErrorSourceTranslationFile &>(*obj));
5691 }
5692 return true;
5693 case inputPassportElementErrorSourceTranslationFiles::ID:
5694 if constexpr (AllowTag) {
5695 downcast_call_tag<inputPassportElementErrorSourceTranslationFiles> type_tag;
5696 func(type_tag);
5697 } else {
5698 func(static_cast<inputPassportElementErrorSourceTranslationFiles &>(*obj));
5699 }
5700 return true;
5701 case inputPassportElementErrorSourceFile::ID:
5702 if constexpr (AllowTag) {
5703 downcast_call_tag<inputPassportElementErrorSourceFile> type_tag;
5704 func(type_tag);
5705 } else {
5706 func(static_cast<inputPassportElementErrorSourceFile &>(*obj));
5707 }
5708 return true;
5709 case inputPassportElementErrorSourceFiles::ID:
5710 if constexpr (AllowTag) {
5711 downcast_call_tag<inputPassportElementErrorSourceFiles> type_tag;
5712 func(type_tag);
5713 } else {
5714 func(static_cast<inputPassportElementErrorSourceFiles &>(*obj));
5715 }
5716 return true;
5717 case inputPersonalDocument::ID:
5718 if constexpr (AllowTag) {
5719 downcast_call_tag<inputPersonalDocument> type_tag;
5720 func(type_tag);
5721 } else {
5722 func(static_cast<inputPersonalDocument &>(*obj));
5723 }
5724 return true;
5725 case inputPollOption::ID:
5726 if constexpr (AllowTag) {
5727 downcast_call_tag<inputPollOption> type_tag;
5728 func(type_tag);
5729 } else {
5730 func(static_cast<inputPollOption &>(*obj));
5731 }
5732 return true;
5733 case inputPollTypeRegular::ID:
5734 if constexpr (AllowTag) {
5735 downcast_call_tag<inputPollTypeRegular> type_tag;
5736 func(type_tag);
5737 } else {
5738 func(static_cast<inputPollTypeRegular &>(*obj));
5739 }
5740 return true;
5741 case inputPollTypeQuiz::ID:
5742 if constexpr (AllowTag) {
5743 downcast_call_tag<inputPollTypeQuiz> type_tag;
5744 func(type_tag);
5745 } else {
5746 func(static_cast<inputPollTypeQuiz &>(*obj));
5747 }
5748 return true;
5749 case inputSticker::ID:
5750 if constexpr (AllowTag) {
5751 downcast_call_tag<inputSticker> type_tag;
5752 func(type_tag);
5753 } else {
5754 func(static_cast<inputSticker &>(*obj));
5755 }
5756 return true;
5757 case inputStoryArea::ID:
5758 if constexpr (AllowTag) {
5759 downcast_call_tag<inputStoryArea> type_tag;
5760 func(type_tag);
5761 } else {
5762 func(static_cast<inputStoryArea &>(*obj));
5763 }
5764 return true;
5765 case inputStoryAreaTypeLocation::ID:
5766 if constexpr (AllowTag) {
5767 downcast_call_tag<inputStoryAreaTypeLocation> type_tag;
5768 func(type_tag);
5769 } else {
5770 func(static_cast<inputStoryAreaTypeLocation &>(*obj));
5771 }
5772 return true;
5773 case inputStoryAreaTypeFoundVenue::ID:
5774 if constexpr (AllowTag) {
5775 downcast_call_tag<inputStoryAreaTypeFoundVenue> type_tag;
5776 func(type_tag);
5777 } else {
5778 func(static_cast<inputStoryAreaTypeFoundVenue &>(*obj));
5779 }
5780 return true;
5781 case inputStoryAreaTypePreviousVenue::ID:
5782 if constexpr (AllowTag) {
5783 downcast_call_tag<inputStoryAreaTypePreviousVenue> type_tag;
5784 func(type_tag);
5785 } else {
5786 func(static_cast<inputStoryAreaTypePreviousVenue &>(*obj));
5787 }
5788 return true;
5789 case inputStoryAreaTypeSuggestedReaction::ID:
5790 if constexpr (AllowTag) {
5791 downcast_call_tag<inputStoryAreaTypeSuggestedReaction> type_tag;
5792 func(type_tag);
5793 } else {
5794 func(static_cast<inputStoryAreaTypeSuggestedReaction &>(*obj));
5795 }
5796 return true;
5797 case inputStoryAreaTypeMessage::ID:
5798 if constexpr (AllowTag) {
5799 downcast_call_tag<inputStoryAreaTypeMessage> type_tag;
5800 func(type_tag);
5801 } else {
5802 func(static_cast<inputStoryAreaTypeMessage &>(*obj));
5803 }
5804 return true;
5805 case inputStoryAreaTypeLink::ID:
5806 if constexpr (AllowTag) {
5807 downcast_call_tag<inputStoryAreaTypeLink> type_tag;
5808 func(type_tag);
5809 } else {
5810 func(static_cast<inputStoryAreaTypeLink &>(*obj));
5811 }
5812 return true;
5813 case inputStoryAreaTypeWeather::ID:
5814 if constexpr (AllowTag) {
5815 downcast_call_tag<inputStoryAreaTypeWeather> type_tag;
5816 func(type_tag);
5817 } else {
5818 func(static_cast<inputStoryAreaTypeWeather &>(*obj));
5819 }
5820 return true;
5821 case inputStoryAreaTypeUpgradedGift::ID:
5822 if constexpr (AllowTag) {
5823 downcast_call_tag<inputStoryAreaTypeUpgradedGift> type_tag;
5824 func(type_tag);
5825 } else {
5826 func(static_cast<inputStoryAreaTypeUpgradedGift &>(*obj));
5827 }
5828 return true;
5829 case inputStoryAreas::ID:
5830 if constexpr (AllowTag) {
5831 downcast_call_tag<inputStoryAreas> type_tag;
5832 func(type_tag);
5833 } else {
5834 func(static_cast<inputStoryAreas &>(*obj));
5835 }
5836 return true;
5837 case inputStoryContentPhoto::ID:
5838 if constexpr (AllowTag) {
5839 downcast_call_tag<inputStoryContentPhoto> type_tag;
5840 func(type_tag);
5841 } else {
5842 func(static_cast<inputStoryContentPhoto &>(*obj));
5843 }
5844 return true;
5845 case inputStoryContentVideo::ID:
5846 if constexpr (AllowTag) {
5847 downcast_call_tag<inputStoryContentVideo> type_tag;
5848 func(type_tag);
5849 } else {
5850 func(static_cast<inputStoryContentVideo &>(*obj));
5851 }
5852 return true;
5853 case inputSuggestedPostInfo::ID:
5854 if constexpr (AllowTag) {
5855 downcast_call_tag<inputSuggestedPostInfo> type_tag;
5856 func(type_tag);
5857 } else {
5858 func(static_cast<inputSuggestedPostInfo &>(*obj));
5859 }
5860 return true;
5861 case inputTextQuote::ID:
5862 if constexpr (AllowTag) {
5863 downcast_call_tag<inputTextQuote> type_tag;
5864 func(type_tag);
5865 } else {
5866 func(static_cast<inputTextQuote &>(*obj));
5867 }
5868 return true;
5869 case inputThumbnail::ID:
5870 if constexpr (AllowTag) {
5871 downcast_call_tag<inputThumbnail> type_tag;
5872 func(type_tag);
5873 } else {
5874 func(static_cast<inputThumbnail &>(*obj));
5875 }
5876 return true;
5877 case internalLinkTypeAttachmentMenuBot::ID:
5878 if constexpr (AllowTag) {
5879 downcast_call_tag<internalLinkTypeAttachmentMenuBot> type_tag;
5880 func(type_tag);
5881 } else {
5882 func(static_cast<internalLinkTypeAttachmentMenuBot &>(*obj));
5883 }
5884 return true;
5885 case internalLinkTypeAuthenticationCode::ID:
5886 if constexpr (AllowTag) {
5887 downcast_call_tag<internalLinkTypeAuthenticationCode> type_tag;
5888 func(type_tag);
5889 } else {
5890 func(static_cast<internalLinkTypeAuthenticationCode &>(*obj));
5891 }
5892 return true;
5893 case internalLinkTypeBackground::ID:
5894 if constexpr (AllowTag) {
5895 downcast_call_tag<internalLinkTypeBackground> type_tag;
5896 func(type_tag);
5897 } else {
5898 func(static_cast<internalLinkTypeBackground &>(*obj));
5899 }
5900 return true;
5901 case internalLinkTypeBotAddToChannel::ID:
5902 if constexpr (AllowTag) {
5903 downcast_call_tag<internalLinkTypeBotAddToChannel> type_tag;
5904 func(type_tag);
5905 } else {
5906 func(static_cast<internalLinkTypeBotAddToChannel &>(*obj));
5907 }
5908 return true;
5909 case internalLinkTypeBotStart::ID:
5910 if constexpr (AllowTag) {
5911 downcast_call_tag<internalLinkTypeBotStart> type_tag;
5912 func(type_tag);
5913 } else {
5914 func(static_cast<internalLinkTypeBotStart &>(*obj));
5915 }
5916 return true;
5917 case internalLinkTypeBotStartInGroup::ID:
5918 if constexpr (AllowTag) {
5919 downcast_call_tag<internalLinkTypeBotStartInGroup> type_tag;
5920 func(type_tag);
5921 } else {
5922 func(static_cast<internalLinkTypeBotStartInGroup &>(*obj));
5923 }
5924 return true;
5925 case internalLinkTypeBusinessChat::ID:
5926 if constexpr (AllowTag) {
5927 downcast_call_tag<internalLinkTypeBusinessChat> type_tag;
5928 func(type_tag);
5929 } else {
5930 func(static_cast<internalLinkTypeBusinessChat &>(*obj));
5931 }
5932 return true;
5933 case internalLinkTypeCallsPage::ID:
5934 if constexpr (AllowTag) {
5935 downcast_call_tag<internalLinkTypeCallsPage> type_tag;
5936 func(type_tag);
5937 } else {
5938 func(static_cast<internalLinkTypeCallsPage &>(*obj));
5939 }
5940 return true;
5941 case internalLinkTypeChatAffiliateProgram::ID:
5942 if constexpr (AllowTag) {
5943 downcast_call_tag<internalLinkTypeChatAffiliateProgram> type_tag;
5944 func(type_tag);
5945 } else {
5946 func(static_cast<internalLinkTypeChatAffiliateProgram &>(*obj));
5947 }
5948 return true;
5949 case internalLinkTypeChatBoost::ID:
5950 if constexpr (AllowTag) {
5951 downcast_call_tag<internalLinkTypeChatBoost> type_tag;
5952 func(type_tag);
5953 } else {
5954 func(static_cast<internalLinkTypeChatBoost &>(*obj));
5955 }
5956 return true;
5957 case internalLinkTypeChatFolderInvite::ID:
5958 if constexpr (AllowTag) {
5959 downcast_call_tag<internalLinkTypeChatFolderInvite> type_tag;
5960 func(type_tag);
5961 } else {
5962 func(static_cast<internalLinkTypeChatFolderInvite &>(*obj));
5963 }
5964 return true;
5965 case internalLinkTypeChatInvite::ID:
5966 if constexpr (AllowTag) {
5967 downcast_call_tag<internalLinkTypeChatInvite> type_tag;
5968 func(type_tag);
5969 } else {
5970 func(static_cast<internalLinkTypeChatInvite &>(*obj));
5971 }
5972 return true;
5973 case internalLinkTypeChatSelection::ID:
5974 if constexpr (AllowTag) {
5975 downcast_call_tag<internalLinkTypeChatSelection> type_tag;
5976 func(type_tag);
5977 } else {
5978 func(static_cast<internalLinkTypeChatSelection &>(*obj));
5979 }
5980 return true;
5981 case internalLinkTypeContactsPage::ID:
5982 if constexpr (AllowTag) {
5983 downcast_call_tag<internalLinkTypeContactsPage> type_tag;
5984 func(type_tag);
5985 } else {
5986 func(static_cast<internalLinkTypeContactsPage &>(*obj));
5987 }
5988 return true;
5989 case internalLinkTypeDirectMessagesChat::ID:
5990 if constexpr (AllowTag) {
5991 downcast_call_tag<internalLinkTypeDirectMessagesChat> type_tag;
5992 func(type_tag);
5993 } else {
5994 func(static_cast<internalLinkTypeDirectMessagesChat &>(*obj));
5995 }
5996 return true;
5997 case internalLinkTypeGame::ID:
5998 if constexpr (AllowTag) {
5999 downcast_call_tag<internalLinkTypeGame> type_tag;
6000 func(type_tag);
6001 } else {
6002 func(static_cast<internalLinkTypeGame &>(*obj));
6003 }
6004 return true;
6005 case internalLinkTypeGiftAuction::ID:
6006 if constexpr (AllowTag) {
6007 downcast_call_tag<internalLinkTypeGiftAuction> type_tag;
6008 func(type_tag);
6009 } else {
6010 func(static_cast<internalLinkTypeGiftAuction &>(*obj));
6011 }
6012 return true;
6013 case internalLinkTypeGiftCollection::ID:
6014 if constexpr (AllowTag) {
6015 downcast_call_tag<internalLinkTypeGiftCollection> type_tag;
6016 func(type_tag);
6017 } else {
6018 func(static_cast<internalLinkTypeGiftCollection &>(*obj));
6019 }
6020 return true;
6021 case internalLinkTypeGroupCall::ID:
6022 if constexpr (AllowTag) {
6023 downcast_call_tag<internalLinkTypeGroupCall> type_tag;
6024 func(type_tag);
6025 } else {
6026 func(static_cast<internalLinkTypeGroupCall &>(*obj));
6027 }
6028 return true;
6029 case internalLinkTypeInstantView::ID:
6030 if constexpr (AllowTag) {
6031 downcast_call_tag<internalLinkTypeInstantView> type_tag;
6032 func(type_tag);
6033 } else {
6034 func(static_cast<internalLinkTypeInstantView &>(*obj));
6035 }
6036 return true;
6037 case internalLinkTypeInvoice::ID:
6038 if constexpr (AllowTag) {
6039 downcast_call_tag<internalLinkTypeInvoice> type_tag;
6040 func(type_tag);
6041 } else {
6042 func(static_cast<internalLinkTypeInvoice &>(*obj));
6043 }
6044 return true;
6045 case internalLinkTypeLanguagePack::ID:
6046 if constexpr (AllowTag) {
6047 downcast_call_tag<internalLinkTypeLanguagePack> type_tag;
6048 func(type_tag);
6049 } else {
6050 func(static_cast<internalLinkTypeLanguagePack &>(*obj));
6051 }
6052 return true;
6053 case internalLinkTypeLiveStory::ID:
6054 if constexpr (AllowTag) {
6055 downcast_call_tag<internalLinkTypeLiveStory> type_tag;
6056 func(type_tag);
6057 } else {
6058 func(static_cast<internalLinkTypeLiveStory &>(*obj));
6059 }
6060 return true;
6061 case internalLinkTypeMainWebApp::ID:
6062 if constexpr (AllowTag) {
6063 downcast_call_tag<internalLinkTypeMainWebApp> type_tag;
6064 func(type_tag);
6065 } else {
6066 func(static_cast<internalLinkTypeMainWebApp &>(*obj));
6067 }
6068 return true;
6069 case internalLinkTypeMessage::ID:
6070 if constexpr (AllowTag) {
6071 downcast_call_tag<internalLinkTypeMessage> type_tag;
6072 func(type_tag);
6073 } else {
6074 func(static_cast<internalLinkTypeMessage &>(*obj));
6075 }
6076 return true;
6077 case internalLinkTypeMessageDraft::ID:
6078 if constexpr (AllowTag) {
6079 downcast_call_tag<internalLinkTypeMessageDraft> type_tag;
6080 func(type_tag);
6081 } else {
6082 func(static_cast<internalLinkTypeMessageDraft &>(*obj));
6083 }
6084 return true;
6085 case internalLinkTypeMyProfilePage::ID:
6086 if constexpr (AllowTag) {
6087 downcast_call_tag<internalLinkTypeMyProfilePage> type_tag;
6088 func(type_tag);
6089 } else {
6090 func(static_cast<internalLinkTypeMyProfilePage &>(*obj));
6091 }
6092 return true;
6093 case internalLinkTypeNewChannelChat::ID:
6094 if constexpr (AllowTag) {
6095 downcast_call_tag<internalLinkTypeNewChannelChat> type_tag;
6096 func(type_tag);
6097 } else {
6098 func(static_cast<internalLinkTypeNewChannelChat &>(*obj));
6099 }
6100 return true;
6101 case internalLinkTypeNewGroupChat::ID:
6102 if constexpr (AllowTag) {
6103 downcast_call_tag<internalLinkTypeNewGroupChat> type_tag;
6104 func(type_tag);
6105 } else {
6106 func(static_cast<internalLinkTypeNewGroupChat &>(*obj));
6107 }
6108 return true;
6109 case internalLinkTypeNewPrivateChat::ID:
6110 if constexpr (AllowTag) {
6111 downcast_call_tag<internalLinkTypeNewPrivateChat> type_tag;
6112 func(type_tag);
6113 } else {
6114 func(static_cast<internalLinkTypeNewPrivateChat &>(*obj));
6115 }
6116 return true;
6117 case internalLinkTypeNewStory::ID:
6118 if constexpr (AllowTag) {
6119 downcast_call_tag<internalLinkTypeNewStory> type_tag;
6120 func(type_tag);
6121 } else {
6122 func(static_cast<internalLinkTypeNewStory &>(*obj));
6123 }
6124 return true;
6125 case internalLinkTypeOauth::ID:
6126 if constexpr (AllowTag) {
6127 downcast_call_tag<internalLinkTypeOauth> type_tag;
6128 func(type_tag);
6129 } else {
6130 func(static_cast<internalLinkTypeOauth &>(*obj));
6131 }
6132 return true;
6133 case internalLinkTypePassportDataRequest::ID:
6134 if constexpr (AllowTag) {
6135 downcast_call_tag<internalLinkTypePassportDataRequest> type_tag;
6136 func(type_tag);
6137 } else {
6138 func(static_cast<internalLinkTypePassportDataRequest &>(*obj));
6139 }
6140 return true;
6141 case internalLinkTypePhoneNumberConfirmation::ID:
6142 if constexpr (AllowTag) {
6143 downcast_call_tag<internalLinkTypePhoneNumberConfirmation> type_tag;
6144 func(type_tag);
6145 } else {
6146 func(static_cast<internalLinkTypePhoneNumberConfirmation &>(*obj));
6147 }
6148 return true;
6149 case internalLinkTypePremiumFeaturesPage::ID:
6150 if constexpr (AllowTag) {
6151 downcast_call_tag<internalLinkTypePremiumFeaturesPage> type_tag;
6152 func(type_tag);
6153 } else {
6154 func(static_cast<internalLinkTypePremiumFeaturesPage &>(*obj));
6155 }
6156 return true;
6157 case internalLinkTypePremiumGiftCode::ID:
6158 if constexpr (AllowTag) {
6159 downcast_call_tag<internalLinkTypePremiumGiftCode> type_tag;
6160 func(type_tag);
6161 } else {
6162 func(static_cast<internalLinkTypePremiumGiftCode &>(*obj));
6163 }
6164 return true;
6165 case internalLinkTypePremiumGiftPurchase::ID:
6166 if constexpr (AllowTag) {
6167 downcast_call_tag<internalLinkTypePremiumGiftPurchase> type_tag;
6168 func(type_tag);
6169 } else {
6170 func(static_cast<internalLinkTypePremiumGiftPurchase &>(*obj));
6171 }
6172 return true;
6173 case internalLinkTypeProxy::ID:
6174 if constexpr (AllowTag) {
6175 downcast_call_tag<internalLinkTypeProxy> type_tag;
6176 func(type_tag);
6177 } else {
6178 func(static_cast<internalLinkTypeProxy &>(*obj));
6179 }
6180 return true;
6181 case internalLinkTypePublicChat::ID:
6182 if constexpr (AllowTag) {
6183 downcast_call_tag<internalLinkTypePublicChat> type_tag;
6184 func(type_tag);
6185 } else {
6186 func(static_cast<internalLinkTypePublicChat &>(*obj));
6187 }
6188 return true;
6189 case internalLinkTypeQrCodeAuthentication::ID:
6190 if constexpr (AllowTag) {
6191 downcast_call_tag<internalLinkTypeQrCodeAuthentication> type_tag;
6192 func(type_tag);
6193 } else {
6194 func(static_cast<internalLinkTypeQrCodeAuthentication &>(*obj));
6195 }
6196 return true;
6197 case internalLinkTypeRequestManagedBot::ID:
6198 if constexpr (AllowTag) {
6199 downcast_call_tag<internalLinkTypeRequestManagedBot> type_tag;
6200 func(type_tag);
6201 } else {
6202 func(static_cast<internalLinkTypeRequestManagedBot &>(*obj));
6203 }
6204 return true;
6205 case internalLinkTypeRestorePurchases::ID:
6206 if constexpr (AllowTag) {
6207 downcast_call_tag<internalLinkTypeRestorePurchases> type_tag;
6208 func(type_tag);
6209 } else {
6210 func(static_cast<internalLinkTypeRestorePurchases &>(*obj));
6211 }
6212 return true;
6213 case internalLinkTypeSavedMessages::ID:
6214 if constexpr (AllowTag) {
6215 downcast_call_tag<internalLinkTypeSavedMessages> type_tag;
6216 func(type_tag);
6217 } else {
6218 func(static_cast<internalLinkTypeSavedMessages &>(*obj));
6219 }
6220 return true;
6221 case internalLinkTypeSearch::ID:
6222 if constexpr (AllowTag) {
6223 downcast_call_tag<internalLinkTypeSearch> type_tag;
6224 func(type_tag);
6225 } else {
6226 func(static_cast<internalLinkTypeSearch &>(*obj));
6227 }
6228 return true;
6229 case internalLinkTypeSettings::ID:
6230 if constexpr (AllowTag) {
6231 downcast_call_tag<internalLinkTypeSettings> type_tag;
6232 func(type_tag);
6233 } else {
6234 func(static_cast<internalLinkTypeSettings &>(*obj));
6235 }
6236 return true;
6237 case internalLinkTypeStarPurchase::ID:
6238 if constexpr (AllowTag) {
6239 downcast_call_tag<internalLinkTypeStarPurchase> type_tag;
6240 func(type_tag);
6241 } else {
6242 func(static_cast<internalLinkTypeStarPurchase &>(*obj));
6243 }
6244 return true;
6245 case internalLinkTypeStickerSet::ID:
6246 if constexpr (AllowTag) {
6247 downcast_call_tag<internalLinkTypeStickerSet> type_tag;
6248 func(type_tag);
6249 } else {
6250 func(static_cast<internalLinkTypeStickerSet &>(*obj));
6251 }
6252 return true;
6253 case internalLinkTypeStory::ID:
6254 if constexpr (AllowTag) {
6255 downcast_call_tag<internalLinkTypeStory> type_tag;
6256 func(type_tag);
6257 } else {
6258 func(static_cast<internalLinkTypeStory &>(*obj));
6259 }
6260 return true;
6261 case internalLinkTypeStoryAlbum::ID:
6262 if constexpr (AllowTag) {
6263 downcast_call_tag<internalLinkTypeStoryAlbum> type_tag;
6264 func(type_tag);
6265 } else {
6266 func(static_cast<internalLinkTypeStoryAlbum &>(*obj));
6267 }
6268 return true;
6269 case internalLinkTypeTheme::ID:
6270 if constexpr (AllowTag) {
6271 downcast_call_tag<internalLinkTypeTheme> type_tag;
6272 func(type_tag);
6273 } else {
6274 func(static_cast<internalLinkTypeTheme &>(*obj));
6275 }
6276 return true;
6277 case internalLinkTypeTextCompositionStyle::ID:
6278 if constexpr (AllowTag) {
6279 downcast_call_tag<internalLinkTypeTextCompositionStyle> type_tag;
6280 func(type_tag);
6281 } else {
6282 func(static_cast<internalLinkTypeTextCompositionStyle &>(*obj));
6283 }
6284 return true;
6285 case internalLinkTypeUnknownDeepLink::ID:
6286 if constexpr (AllowTag) {
6287 downcast_call_tag<internalLinkTypeUnknownDeepLink> type_tag;
6288 func(type_tag);
6289 } else {
6290 func(static_cast<internalLinkTypeUnknownDeepLink &>(*obj));
6291 }
6292 return true;
6293 case internalLinkTypeUpgradedGift::ID:
6294 if constexpr (AllowTag) {
6295 downcast_call_tag<internalLinkTypeUpgradedGift> type_tag;
6296 func(type_tag);
6297 } else {
6298 func(static_cast<internalLinkTypeUpgradedGift &>(*obj));
6299 }
6300 return true;
6301 case internalLinkTypeUserPhoneNumber::ID:
6302 if constexpr (AllowTag) {
6303 downcast_call_tag<internalLinkTypeUserPhoneNumber> type_tag;
6304 func(type_tag);
6305 } else {
6306 func(static_cast<internalLinkTypeUserPhoneNumber &>(*obj));
6307 }
6308 return true;
6309 case internalLinkTypeUserToken::ID:
6310 if constexpr (AllowTag) {
6311 downcast_call_tag<internalLinkTypeUserToken> type_tag;
6312 func(type_tag);
6313 } else {
6314 func(static_cast<internalLinkTypeUserToken &>(*obj));
6315 }
6316 return true;
6317 case internalLinkTypeVideoChat::ID:
6318 if constexpr (AllowTag) {
6319 downcast_call_tag<internalLinkTypeVideoChat> type_tag;
6320 func(type_tag);
6321 } else {
6322 func(static_cast<internalLinkTypeVideoChat &>(*obj));
6323 }
6324 return true;
6325 case internalLinkTypeWebApp::ID:
6326 if constexpr (AllowTag) {
6327 downcast_call_tag<internalLinkTypeWebApp> type_tag;
6328 func(type_tag);
6329 } else {
6330 func(static_cast<internalLinkTypeWebApp &>(*obj));
6331 }
6332 return true;
6333 case inviteGroupCallParticipantResultUserPrivacyRestricted::ID:
6334 if constexpr (AllowTag) {
6335 downcast_call_tag<inviteGroupCallParticipantResultUserPrivacyRestricted> type_tag;
6336 func(type_tag);
6337 } else {
6338 func(static_cast<inviteGroupCallParticipantResultUserPrivacyRestricted &>(*obj));
6339 }
6340 return true;
6341 case inviteGroupCallParticipantResultUserAlreadyParticipant::ID:
6342 if constexpr (AllowTag) {
6343 downcast_call_tag<inviteGroupCallParticipantResultUserAlreadyParticipant> type_tag;
6344 func(type_tag);
6345 } else {
6346 func(static_cast<inviteGroupCallParticipantResultUserAlreadyParticipant &>(*obj));
6347 }
6348 return true;
6349 case inviteGroupCallParticipantResultUserWasBanned::ID:
6350 if constexpr (AllowTag) {
6351 downcast_call_tag<inviteGroupCallParticipantResultUserWasBanned> type_tag;
6352 func(type_tag);
6353 } else {
6354 func(static_cast<inviteGroupCallParticipantResultUserWasBanned &>(*obj));
6355 }
6356 return true;
6357 case inviteGroupCallParticipantResultSuccess::ID:
6358 if constexpr (AllowTag) {
6359 downcast_call_tag<inviteGroupCallParticipantResultSuccess> type_tag;
6360 func(type_tag);
6361 } else {
6362 func(static_cast<inviteGroupCallParticipantResultSuccess &>(*obj));
6363 }
6364 return true;
6365 case inviteLinkChatTypeBasicGroup::ID:
6366 if constexpr (AllowTag) {
6367 downcast_call_tag<inviteLinkChatTypeBasicGroup> type_tag;
6368 func(type_tag);
6369 } else {
6370 func(static_cast<inviteLinkChatTypeBasicGroup &>(*obj));
6371 }
6372 return true;
6373 case inviteLinkChatTypeSupergroup::ID:
6374 if constexpr (AllowTag) {
6375 downcast_call_tag<inviteLinkChatTypeSupergroup> type_tag;
6376 func(type_tag);
6377 } else {
6378 func(static_cast<inviteLinkChatTypeSupergroup &>(*obj));
6379 }
6380 return true;
6381 case inviteLinkChatTypeChannel::ID:
6382 if constexpr (AllowTag) {
6383 downcast_call_tag<inviteLinkChatTypeChannel> type_tag;
6384 func(type_tag);
6385 } else {
6386 func(static_cast<inviteLinkChatTypeChannel &>(*obj));
6387 }
6388 return true;
6389 case invoice::ID:
6390 if constexpr (AllowTag) {
6391 downcast_call_tag<invoice> type_tag;
6392 func(type_tag);
6393 } else {
6394 func(static_cast<invoice &>(*obj));
6395 }
6396 return true;
6397 case jsonObjectMember::ID:
6398 if constexpr (AllowTag) {
6399 downcast_call_tag<jsonObjectMember> type_tag;
6400 func(type_tag);
6401 } else {
6402 func(static_cast<jsonObjectMember &>(*obj));
6403 }
6404 return true;
6405 case jsonValueNull::ID:
6406 if constexpr (AllowTag) {
6407 downcast_call_tag<jsonValueNull> type_tag;
6408 func(type_tag);
6409 } else {
6410 func(static_cast<jsonValueNull &>(*obj));
6411 }
6412 return true;
6413 case jsonValueBoolean::ID:
6414 if constexpr (AllowTag) {
6415 downcast_call_tag<jsonValueBoolean> type_tag;
6416 func(type_tag);
6417 } else {
6418 func(static_cast<jsonValueBoolean &>(*obj));
6419 }
6420 return true;
6421 case jsonValueNumber::ID:
6422 if constexpr (AllowTag) {
6423 downcast_call_tag<jsonValueNumber> type_tag;
6424 func(type_tag);
6425 } else {
6426 func(static_cast<jsonValueNumber &>(*obj));
6427 }
6428 return true;
6429 case jsonValueString::ID:
6430 if constexpr (AllowTag) {
6431 downcast_call_tag<jsonValueString> type_tag;
6432 func(type_tag);
6433 } else {
6434 func(static_cast<jsonValueString &>(*obj));
6435 }
6436 return true;
6437 case jsonValueArray::ID:
6438 if constexpr (AllowTag) {
6439 downcast_call_tag<jsonValueArray> type_tag;
6440 func(type_tag);
6441 } else {
6442 func(static_cast<jsonValueArray &>(*obj));
6443 }
6444 return true;
6445 case jsonValueObject::ID:
6446 if constexpr (AllowTag) {
6447 downcast_call_tag<jsonValueObject> type_tag;
6448 func(type_tag);
6449 } else {
6450 func(static_cast<jsonValueObject &>(*obj));
6451 }
6452 return true;
6453 case keyboardButton::ID:
6454 if constexpr (AllowTag) {
6455 downcast_call_tag<keyboardButton> type_tag;
6456 func(type_tag);
6457 } else {
6458 func(static_cast<keyboardButton &>(*obj));
6459 }
6460 return true;
6461 case keyboardButtonSourceMessage::ID:
6462 if constexpr (AllowTag) {
6463 downcast_call_tag<keyboardButtonSourceMessage> type_tag;
6464 func(type_tag);
6465 } else {
6466 func(static_cast<keyboardButtonSourceMessage &>(*obj));
6467 }
6468 return true;
6469 case keyboardButtonSourceWebApp::ID:
6470 if constexpr (AllowTag) {
6471 downcast_call_tag<keyboardButtonSourceWebApp> type_tag;
6472 func(type_tag);
6473 } else {
6474 func(static_cast<keyboardButtonSourceWebApp &>(*obj));
6475 }
6476 return true;
6477 case keyboardButtonTypeText::ID:
6478 if constexpr (AllowTag) {
6479 downcast_call_tag<keyboardButtonTypeText> type_tag;
6480 func(type_tag);
6481 } else {
6482 func(static_cast<keyboardButtonTypeText &>(*obj));
6483 }
6484 return true;
6485 case keyboardButtonTypeRequestPhoneNumber::ID:
6486 if constexpr (AllowTag) {
6487 downcast_call_tag<keyboardButtonTypeRequestPhoneNumber> type_tag;
6488 func(type_tag);
6489 } else {
6490 func(static_cast<keyboardButtonTypeRequestPhoneNumber &>(*obj));
6491 }
6492 return true;
6493 case keyboardButtonTypeRequestLocation::ID:
6494 if constexpr (AllowTag) {
6495 downcast_call_tag<keyboardButtonTypeRequestLocation> type_tag;
6496 func(type_tag);
6497 } else {
6498 func(static_cast<keyboardButtonTypeRequestLocation &>(*obj));
6499 }
6500 return true;
6501 case keyboardButtonTypeRequestPoll::ID:
6502 if constexpr (AllowTag) {
6503 downcast_call_tag<keyboardButtonTypeRequestPoll> type_tag;
6504 func(type_tag);
6505 } else {
6506 func(static_cast<keyboardButtonTypeRequestPoll &>(*obj));
6507 }
6508 return true;
6509 case keyboardButtonTypeRequestUsers::ID:
6510 if constexpr (AllowTag) {
6511 downcast_call_tag<keyboardButtonTypeRequestUsers> type_tag;
6512 func(type_tag);
6513 } else {
6514 func(static_cast<keyboardButtonTypeRequestUsers &>(*obj));
6515 }
6516 return true;
6517 case keyboardButtonTypeRequestChat::ID:
6518 if constexpr (AllowTag) {
6519 downcast_call_tag<keyboardButtonTypeRequestChat> type_tag;
6520 func(type_tag);
6521 } else {
6522 func(static_cast<keyboardButtonTypeRequestChat &>(*obj));
6523 }
6524 return true;
6525 case keyboardButtonTypeRequestManagedBot::ID:
6526 if constexpr (AllowTag) {
6527 downcast_call_tag<keyboardButtonTypeRequestManagedBot> type_tag;
6528 func(type_tag);
6529 } else {
6530 func(static_cast<keyboardButtonTypeRequestManagedBot &>(*obj));
6531 }
6532 return true;
6533 case keyboardButtonTypeWebApp::ID:
6534 if constexpr (AllowTag) {
6535 downcast_call_tag<keyboardButtonTypeWebApp> type_tag;
6536 func(type_tag);
6537 } else {
6538 func(static_cast<keyboardButtonTypeWebApp &>(*obj));
6539 }
6540 return true;
6541 case labeledPricePart::ID:
6542 if constexpr (AllowTag) {
6543 downcast_call_tag<labeledPricePart> type_tag;
6544 func(type_tag);
6545 } else {
6546 func(static_cast<labeledPricePart &>(*obj));
6547 }
6548 return true;
6549 case languagePackInfo::ID:
6550 if constexpr (AllowTag) {
6551 downcast_call_tag<languagePackInfo> type_tag;
6552 func(type_tag);
6553 } else {
6554 func(static_cast<languagePackInfo &>(*obj));
6555 }
6556 return true;
6557 case languagePackString::ID:
6558 if constexpr (AllowTag) {
6559 downcast_call_tag<languagePackString> type_tag;
6560 func(type_tag);
6561 } else {
6562 func(static_cast<languagePackString &>(*obj));
6563 }
6564 return true;
6565 case languagePackStringValueOrdinary::ID:
6566 if constexpr (AllowTag) {
6567 downcast_call_tag<languagePackStringValueOrdinary> type_tag;
6568 func(type_tag);
6569 } else {
6570 func(static_cast<languagePackStringValueOrdinary &>(*obj));
6571 }
6572 return true;
6573 case languagePackStringValuePluralized::ID:
6574 if constexpr (AllowTag) {
6575 downcast_call_tag<languagePackStringValuePluralized> type_tag;
6576 func(type_tag);
6577 } else {
6578 func(static_cast<languagePackStringValuePluralized &>(*obj));
6579 }
6580 return true;
6581 case languagePackStringValueDeleted::ID:
6582 if constexpr (AllowTag) {
6583 downcast_call_tag<languagePackStringValueDeleted> type_tag;
6584 func(type_tag);
6585 } else {
6586 func(static_cast<languagePackStringValueDeleted &>(*obj));
6587 }
6588 return true;
6589 case languagePackStrings::ID:
6590 if constexpr (AllowTag) {
6591 downcast_call_tag<languagePackStrings> type_tag;
6592 func(type_tag);
6593 } else {
6594 func(static_cast<languagePackStrings &>(*obj));
6595 }
6596 return true;
6597 case linkPreview::ID:
6598 if constexpr (AllowTag) {
6599 downcast_call_tag<linkPreview> type_tag;
6600 func(type_tag);
6601 } else {
6602 func(static_cast<linkPreview &>(*obj));
6603 }
6604 return true;
6605 case linkPreviewAlbumMediaPhoto::ID:
6606 if constexpr (AllowTag) {
6607 downcast_call_tag<linkPreviewAlbumMediaPhoto> type_tag;
6608 func(type_tag);
6609 } else {
6610 func(static_cast<linkPreviewAlbumMediaPhoto &>(*obj));
6611 }
6612 return true;
6613 case linkPreviewAlbumMediaVideo::ID:
6614 if constexpr (AllowTag) {
6615 downcast_call_tag<linkPreviewAlbumMediaVideo> type_tag;
6616 func(type_tag);
6617 } else {
6618 func(static_cast<linkPreviewAlbumMediaVideo &>(*obj));
6619 }
6620 return true;
6621 case linkPreviewOptions::ID:
6622 if constexpr (AllowTag) {
6623 downcast_call_tag<linkPreviewOptions> type_tag;
6624 func(type_tag);
6625 } else {
6626 func(static_cast<linkPreviewOptions &>(*obj));
6627 }
6628 return true;
6629 case linkPreviewTypeAlbum::ID:
6630 if constexpr (AllowTag) {
6631 downcast_call_tag<linkPreviewTypeAlbum> type_tag;
6632 func(type_tag);
6633 } else {
6634 func(static_cast<linkPreviewTypeAlbum &>(*obj));
6635 }
6636 return true;
6637 case linkPreviewTypeAnimation::ID:
6638 if constexpr (AllowTag) {
6639 downcast_call_tag<linkPreviewTypeAnimation> type_tag;
6640 func(type_tag);
6641 } else {
6642 func(static_cast<linkPreviewTypeAnimation &>(*obj));
6643 }
6644 return true;
6645 case linkPreviewTypeApp::ID:
6646 if constexpr (AllowTag) {
6647 downcast_call_tag<linkPreviewTypeApp> type_tag;
6648 func(type_tag);
6649 } else {
6650 func(static_cast<linkPreviewTypeApp &>(*obj));
6651 }
6652 return true;
6653 case linkPreviewTypeArticle::ID:
6654 if constexpr (AllowTag) {
6655 downcast_call_tag<linkPreviewTypeArticle> type_tag;
6656 func(type_tag);
6657 } else {
6658 func(static_cast<linkPreviewTypeArticle &>(*obj));
6659 }
6660 return true;
6661 case linkPreviewTypeAudio::ID:
6662 if constexpr (AllowTag) {
6663 downcast_call_tag<linkPreviewTypeAudio> type_tag;
6664 func(type_tag);
6665 } else {
6666 func(static_cast<linkPreviewTypeAudio &>(*obj));
6667 }
6668 return true;
6669 case linkPreviewTypeBackground::ID:
6670 if constexpr (AllowTag) {
6671 downcast_call_tag<linkPreviewTypeBackground> type_tag;
6672 func(type_tag);
6673 } else {
6674 func(static_cast<linkPreviewTypeBackground &>(*obj));
6675 }
6676 return true;
6677 case linkPreviewTypeChannelBoost::ID:
6678 if constexpr (AllowTag) {
6679 downcast_call_tag<linkPreviewTypeChannelBoost> type_tag;
6680 func(type_tag);
6681 } else {
6682 func(static_cast<linkPreviewTypeChannelBoost &>(*obj));
6683 }
6684 return true;
6685 case linkPreviewTypeChat::ID:
6686 if constexpr (AllowTag) {
6687 downcast_call_tag<linkPreviewTypeChat> type_tag;
6688 func(type_tag);
6689 } else {
6690 func(static_cast<linkPreviewTypeChat &>(*obj));
6691 }
6692 return true;
6693 case linkPreviewTypeDirectMessagesChat::ID:
6694 if constexpr (AllowTag) {
6695 downcast_call_tag<linkPreviewTypeDirectMessagesChat> type_tag;
6696 func(type_tag);
6697 } else {
6698 func(static_cast<linkPreviewTypeDirectMessagesChat &>(*obj));
6699 }
6700 return true;
6701 case linkPreviewTypeDocument::ID:
6702 if constexpr (AllowTag) {
6703 downcast_call_tag<linkPreviewTypeDocument> type_tag;
6704 func(type_tag);
6705 } else {
6706 func(static_cast<linkPreviewTypeDocument &>(*obj));
6707 }
6708 return true;
6709 case linkPreviewTypeEmbeddedAnimationPlayer::ID:
6710 if constexpr (AllowTag) {
6711 downcast_call_tag<linkPreviewTypeEmbeddedAnimationPlayer> type_tag;
6712 func(type_tag);
6713 } else {
6714 func(static_cast<linkPreviewTypeEmbeddedAnimationPlayer &>(*obj));
6715 }
6716 return true;
6717 case linkPreviewTypeEmbeddedAudioPlayer::ID:
6718 if constexpr (AllowTag) {
6719 downcast_call_tag<linkPreviewTypeEmbeddedAudioPlayer> type_tag;
6720 func(type_tag);
6721 } else {
6722 func(static_cast<linkPreviewTypeEmbeddedAudioPlayer &>(*obj));
6723 }
6724 return true;
6725 case linkPreviewTypeEmbeddedVideoPlayer::ID:
6726 if constexpr (AllowTag) {
6727 downcast_call_tag<linkPreviewTypeEmbeddedVideoPlayer> type_tag;
6728 func(type_tag);
6729 } else {
6730 func(static_cast<linkPreviewTypeEmbeddedVideoPlayer &>(*obj));
6731 }
6732 return true;
6733 case linkPreviewTypeExternalAudio::ID:
6734 if constexpr (AllowTag) {
6735 downcast_call_tag<linkPreviewTypeExternalAudio> type_tag;
6736 func(type_tag);
6737 } else {
6738 func(static_cast<linkPreviewTypeExternalAudio &>(*obj));
6739 }
6740 return true;
6741 case linkPreviewTypeExternalVideo::ID:
6742 if constexpr (AllowTag) {
6743 downcast_call_tag<linkPreviewTypeExternalVideo> type_tag;
6744 func(type_tag);
6745 } else {
6746 func(static_cast<linkPreviewTypeExternalVideo &>(*obj));
6747 }
6748 return true;
6749 case linkPreviewTypeGiftAuction::ID:
6750 if constexpr (AllowTag) {
6751 downcast_call_tag<linkPreviewTypeGiftAuction> type_tag;
6752 func(type_tag);
6753 } else {
6754 func(static_cast<linkPreviewTypeGiftAuction &>(*obj));
6755 }
6756 return true;
6757 case linkPreviewTypeGiftCollection::ID:
6758 if constexpr (AllowTag) {
6759 downcast_call_tag<linkPreviewTypeGiftCollection> type_tag;
6760 func(type_tag);
6761 } else {
6762 func(static_cast<linkPreviewTypeGiftCollection &>(*obj));
6763 }
6764 return true;
6765 case linkPreviewTypeGroupCall::ID:
6766 if constexpr (AllowTag) {
6767 downcast_call_tag<linkPreviewTypeGroupCall> type_tag;
6768 func(type_tag);
6769 } else {
6770 func(static_cast<linkPreviewTypeGroupCall &>(*obj));
6771 }
6772 return true;
6773 case linkPreviewTypeInvoice::ID:
6774 if constexpr (AllowTag) {
6775 downcast_call_tag<linkPreviewTypeInvoice> type_tag;
6776 func(type_tag);
6777 } else {
6778 func(static_cast<linkPreviewTypeInvoice &>(*obj));
6779 }
6780 return true;
6781 case linkPreviewTypeLiveStory::ID:
6782 if constexpr (AllowTag) {
6783 downcast_call_tag<linkPreviewTypeLiveStory> type_tag;
6784 func(type_tag);
6785 } else {
6786 func(static_cast<linkPreviewTypeLiveStory &>(*obj));
6787 }
6788 return true;
6789 case linkPreviewTypeMessage::ID:
6790 if constexpr (AllowTag) {
6791 downcast_call_tag<linkPreviewTypeMessage> type_tag;
6792 func(type_tag);
6793 } else {
6794 func(static_cast<linkPreviewTypeMessage &>(*obj));
6795 }
6796 return true;
6797 case linkPreviewTypePhoto::ID:
6798 if constexpr (AllowTag) {
6799 downcast_call_tag<linkPreviewTypePhoto> type_tag;
6800 func(type_tag);
6801 } else {
6802 func(static_cast<linkPreviewTypePhoto &>(*obj));
6803 }
6804 return true;
6805 case linkPreviewTypePremiumGiftCode::ID:
6806 if constexpr (AllowTag) {
6807 downcast_call_tag<linkPreviewTypePremiumGiftCode> type_tag;
6808 func(type_tag);
6809 } else {
6810 func(static_cast<linkPreviewTypePremiumGiftCode &>(*obj));
6811 }
6812 return true;
6813 case linkPreviewTypeRequestManagedBot::ID:
6814 if constexpr (AllowTag) {
6815 downcast_call_tag<linkPreviewTypeRequestManagedBot> type_tag;
6816 func(type_tag);
6817 } else {
6818 func(static_cast<linkPreviewTypeRequestManagedBot &>(*obj));
6819 }
6820 return true;
6821 case linkPreviewTypeShareableChatFolder::ID:
6822 if constexpr (AllowTag) {
6823 downcast_call_tag<linkPreviewTypeShareableChatFolder> type_tag;
6824 func(type_tag);
6825 } else {
6826 func(static_cast<linkPreviewTypeShareableChatFolder &>(*obj));
6827 }
6828 return true;
6829 case linkPreviewTypeSticker::ID:
6830 if constexpr (AllowTag) {
6831 downcast_call_tag<linkPreviewTypeSticker> type_tag;
6832 func(type_tag);
6833 } else {
6834 func(static_cast<linkPreviewTypeSticker &>(*obj));
6835 }
6836 return true;
6837 case linkPreviewTypeStickerSet::ID:
6838 if constexpr (AllowTag) {
6839 downcast_call_tag<linkPreviewTypeStickerSet> type_tag;
6840 func(type_tag);
6841 } else {
6842 func(static_cast<linkPreviewTypeStickerSet &>(*obj));
6843 }
6844 return true;
6845 case linkPreviewTypeStory::ID:
6846 if constexpr (AllowTag) {
6847 downcast_call_tag<linkPreviewTypeStory> type_tag;
6848 func(type_tag);
6849 } else {
6850 func(static_cast<linkPreviewTypeStory &>(*obj));
6851 }
6852 return true;
6853 case linkPreviewTypeStoryAlbum::ID:
6854 if constexpr (AllowTag) {
6855 downcast_call_tag<linkPreviewTypeStoryAlbum> type_tag;
6856 func(type_tag);
6857 } else {
6858 func(static_cast<linkPreviewTypeStoryAlbum &>(*obj));
6859 }
6860 return true;
6861 case linkPreviewTypeSupergroupBoost::ID:
6862 if constexpr (AllowTag) {
6863 downcast_call_tag<linkPreviewTypeSupergroupBoost> type_tag;
6864 func(type_tag);
6865 } else {
6866 func(static_cast<linkPreviewTypeSupergroupBoost &>(*obj));
6867 }
6868 return true;
6869 case linkPreviewTypeTheme::ID:
6870 if constexpr (AllowTag) {
6871 downcast_call_tag<linkPreviewTypeTheme> type_tag;
6872 func(type_tag);
6873 } else {
6874 func(static_cast<linkPreviewTypeTheme &>(*obj));
6875 }
6876 return true;
6877 case linkPreviewTypeUnsupported::ID:
6878 if constexpr (AllowTag) {
6879 downcast_call_tag<linkPreviewTypeUnsupported> type_tag;
6880 func(type_tag);
6881 } else {
6882 func(static_cast<linkPreviewTypeUnsupported &>(*obj));
6883 }
6884 return true;
6885 case linkPreviewTypeUpgradedGift::ID:
6886 if constexpr (AllowTag) {
6887 downcast_call_tag<linkPreviewTypeUpgradedGift> type_tag;
6888 func(type_tag);
6889 } else {
6890 func(static_cast<linkPreviewTypeUpgradedGift &>(*obj));
6891 }
6892 return true;
6893 case linkPreviewTypeUser::ID:
6894 if constexpr (AllowTag) {
6895 downcast_call_tag<linkPreviewTypeUser> type_tag;
6896 func(type_tag);
6897 } else {
6898 func(static_cast<linkPreviewTypeUser &>(*obj));
6899 }
6900 return true;
6901 case linkPreviewTypeVideo::ID:
6902 if constexpr (AllowTag) {
6903 downcast_call_tag<linkPreviewTypeVideo> type_tag;
6904 func(type_tag);
6905 } else {
6906 func(static_cast<linkPreviewTypeVideo &>(*obj));
6907 }
6908 return true;
6909 case linkPreviewTypeVideoChat::ID:
6910 if constexpr (AllowTag) {
6911 downcast_call_tag<linkPreviewTypeVideoChat> type_tag;
6912 func(type_tag);
6913 } else {
6914 func(static_cast<linkPreviewTypeVideoChat &>(*obj));
6915 }
6916 return true;
6917 case linkPreviewTypeVideoNote::ID:
6918 if constexpr (AllowTag) {
6919 downcast_call_tag<linkPreviewTypeVideoNote> type_tag;
6920 func(type_tag);
6921 } else {
6922 func(static_cast<linkPreviewTypeVideoNote &>(*obj));
6923 }
6924 return true;
6925 case linkPreviewTypeVoiceNote::ID:
6926 if constexpr (AllowTag) {
6927 downcast_call_tag<linkPreviewTypeVoiceNote> type_tag;
6928 func(type_tag);
6929 } else {
6930 func(static_cast<linkPreviewTypeVoiceNote &>(*obj));
6931 }
6932 return true;
6933 case linkPreviewTypeWebApp::ID:
6934 if constexpr (AllowTag) {
6935 downcast_call_tag<linkPreviewTypeWebApp> type_tag;
6936 func(type_tag);
6937 } else {
6938 func(static_cast<linkPreviewTypeWebApp &>(*obj));
6939 }
6940 return true;
6941 case liveStoryDonors::ID:
6942 if constexpr (AllowTag) {
6943 downcast_call_tag<liveStoryDonors> type_tag;
6944 func(type_tag);
6945 } else {
6946 func(static_cast<liveStoryDonors &>(*obj));
6947 }
6948 return true;
6949 case localFile::ID:
6950 if constexpr (AllowTag) {
6951 downcast_call_tag<localFile> type_tag;
6952 func(type_tag);
6953 } else {
6954 func(static_cast<localFile &>(*obj));
6955 }
6956 return true;
6957 case localizationTargetInfo::ID:
6958 if constexpr (AllowTag) {
6959 downcast_call_tag<localizationTargetInfo> type_tag;
6960 func(type_tag);
6961 } else {
6962 func(static_cast<localizationTargetInfo &>(*obj));
6963 }
6964 return true;
6965 case location::ID:
6966 if constexpr (AllowTag) {
6967 downcast_call_tag<location> type_tag;
6968 func(type_tag);
6969 } else {
6970 func(static_cast<location &>(*obj));
6971 }
6972 return true;
6973 case locationAddress::ID:
6974 if constexpr (AllowTag) {
6975 downcast_call_tag<locationAddress> type_tag;
6976 func(type_tag);
6977 } else {
6978 func(static_cast<locationAddress &>(*obj));
6979 }
6980 return true;
6981 case logStreamDefault::ID:
6982 if constexpr (AllowTag) {
6983 downcast_call_tag<logStreamDefault> type_tag;
6984 func(type_tag);
6985 } else {
6986 func(static_cast<logStreamDefault &>(*obj));
6987 }
6988 return true;
6989 case logStreamFile::ID:
6990 if constexpr (AllowTag) {
6991 downcast_call_tag<logStreamFile> type_tag;
6992 func(type_tag);
6993 } else {
6994 func(static_cast<logStreamFile &>(*obj));
6995 }
6996 return true;
6997 case logStreamEmpty::ID:
6998 if constexpr (AllowTag) {
6999 downcast_call_tag<logStreamEmpty> type_tag;
7000 func(type_tag);
7001 } else {
7002 func(static_cast<logStreamEmpty &>(*obj));
7003 }
7004 return true;
7005 case logTags::ID:
7006 if constexpr (AllowTag) {
7007 downcast_call_tag<logTags> type_tag;
7008 func(type_tag);
7009 } else {
7010 func(static_cast<logTags &>(*obj));
7011 }
7012 return true;
7013 case logVerbosityLevel::ID:
7014 if constexpr (AllowTag) {
7015 downcast_call_tag<logVerbosityLevel> type_tag;
7016 func(type_tag);
7017 } else {
7018 func(static_cast<logVerbosityLevel &>(*obj));
7019 }
7020 return true;
7021 case loginUrlInfoOpen::ID:
7022 if constexpr (AllowTag) {
7023 downcast_call_tag<loginUrlInfoOpen> type_tag;
7024 func(type_tag);
7025 } else {
7026 func(static_cast<loginUrlInfoOpen &>(*obj));
7027 }
7028 return true;
7029 case loginUrlInfoRequestConfirmation::ID:
7030 if constexpr (AllowTag) {
7031 downcast_call_tag<loginUrlInfoRequestConfirmation> type_tag;
7032 func(type_tag);
7033 } else {
7034 func(static_cast<loginUrlInfoRequestConfirmation &>(*obj));
7035 }
7036 return true;
7037 case mainWebApp::ID:
7038 if constexpr (AllowTag) {
7039 downcast_call_tag<mainWebApp> type_tag;
7040 func(type_tag);
7041 } else {
7042 func(static_cast<mainWebApp &>(*obj));
7043 }
7044 return true;
7045 case maskPointForehead::ID:
7046 if constexpr (AllowTag) {
7047 downcast_call_tag<maskPointForehead> type_tag;
7048 func(type_tag);
7049 } else {
7050 func(static_cast<maskPointForehead &>(*obj));
7051 }
7052 return true;
7053 case maskPointEyes::ID:
7054 if constexpr (AllowTag) {
7055 downcast_call_tag<maskPointEyes> type_tag;
7056 func(type_tag);
7057 } else {
7058 func(static_cast<maskPointEyes &>(*obj));
7059 }
7060 return true;
7061 case maskPointMouth::ID:
7062 if constexpr (AllowTag) {
7063 downcast_call_tag<maskPointMouth> type_tag;
7064 func(type_tag);
7065 } else {
7066 func(static_cast<maskPointMouth &>(*obj));
7067 }
7068 return true;
7069 case maskPointChin::ID:
7070 if constexpr (AllowTag) {
7071 downcast_call_tag<maskPointChin> type_tag;
7072 func(type_tag);
7073 } else {
7074 func(static_cast<maskPointChin &>(*obj));
7075 }
7076 return true;
7077 case maskPosition::ID:
7078 if constexpr (AllowTag) {
7079 downcast_call_tag<maskPosition> type_tag;
7080 func(type_tag);
7081 } else {
7082 func(static_cast<maskPosition &>(*obj));
7083 }
7084 return true;
7085 case message::ID:
7086 if constexpr (AllowTag) {
7087 downcast_call_tag<message> type_tag;
7088 func(type_tag);
7089 } else {
7090 func(static_cast<message &>(*obj));
7091 }
7092 return true;
7093 case messageAutoDeleteTime::ID:
7094 if constexpr (AllowTag) {
7095 downcast_call_tag<messageAutoDeleteTime> type_tag;
7096 func(type_tag);
7097 } else {
7098 func(static_cast<messageAutoDeleteTime &>(*obj));
7099 }
7100 return true;
7101 case messageCalendar::ID:
7102 if constexpr (AllowTag) {
7103 downcast_call_tag<messageCalendar> type_tag;
7104 func(type_tag);
7105 } else {
7106 func(static_cast<messageCalendar &>(*obj));
7107 }
7108 return true;
7109 case messageCalendarDay::ID:
7110 if constexpr (AllowTag) {
7111 downcast_call_tag<messageCalendarDay> type_tag;
7112 func(type_tag);
7113 } else {
7114 func(static_cast<messageCalendarDay &>(*obj));
7115 }
7116 return true;
7117 case messageText::ID:
7118 if constexpr (AllowTag) {
7119 downcast_call_tag<messageText> type_tag;
7120 func(type_tag);
7121 } else {
7122 func(static_cast<messageText &>(*obj));
7123 }
7124 return true;
7125 case messageAnimation::ID:
7126 if constexpr (AllowTag) {
7127 downcast_call_tag<messageAnimation> type_tag;
7128 func(type_tag);
7129 } else {
7130 func(static_cast<messageAnimation &>(*obj));
7131 }
7132 return true;
7133 case messageAudio::ID:
7134 if constexpr (AllowTag) {
7135 downcast_call_tag<messageAudio> type_tag;
7136 func(type_tag);
7137 } else {
7138 func(static_cast<messageAudio &>(*obj));
7139 }
7140 return true;
7141 case messageDocument::ID:
7142 if constexpr (AllowTag) {
7143 downcast_call_tag<messageDocument> type_tag;
7144 func(type_tag);
7145 } else {
7146 func(static_cast<messageDocument &>(*obj));
7147 }
7148 return true;
7149 case messagePaidMedia::ID:
7150 if constexpr (AllowTag) {
7151 downcast_call_tag<messagePaidMedia> type_tag;
7152 func(type_tag);
7153 } else {
7154 func(static_cast<messagePaidMedia &>(*obj));
7155 }
7156 return true;
7157 case messagePhoto::ID:
7158 if constexpr (AllowTag) {
7159 downcast_call_tag<messagePhoto> type_tag;
7160 func(type_tag);
7161 } else {
7162 func(static_cast<messagePhoto &>(*obj));
7163 }
7164 return true;
7165 case messageSticker::ID:
7166 if constexpr (AllowTag) {
7167 downcast_call_tag<messageSticker> type_tag;
7168 func(type_tag);
7169 } else {
7170 func(static_cast<messageSticker &>(*obj));
7171 }
7172 return true;
7173 case messageVideo::ID:
7174 if constexpr (AllowTag) {
7175 downcast_call_tag<messageVideo> type_tag;
7176 func(type_tag);
7177 } else {
7178 func(static_cast<messageVideo &>(*obj));
7179 }
7180 return true;
7181 case messageVideoNote::ID:
7182 if constexpr (AllowTag) {
7183 downcast_call_tag<messageVideoNote> type_tag;
7184 func(type_tag);
7185 } else {
7186 func(static_cast<messageVideoNote &>(*obj));
7187 }
7188 return true;
7189 case messageVoiceNote::ID:
7190 if constexpr (AllowTag) {
7191 downcast_call_tag<messageVoiceNote> type_tag;
7192 func(type_tag);
7193 } else {
7194 func(static_cast<messageVoiceNote &>(*obj));
7195 }
7196 return true;
7197 case messageExpiredPhoto::ID:
7198 if constexpr (AllowTag) {
7199 downcast_call_tag<messageExpiredPhoto> type_tag;
7200 func(type_tag);
7201 } else {
7202 func(static_cast<messageExpiredPhoto &>(*obj));
7203 }
7204 return true;
7205 case messageExpiredVideo::ID:
7206 if constexpr (AllowTag) {
7207 downcast_call_tag<messageExpiredVideo> type_tag;
7208 func(type_tag);
7209 } else {
7210 func(static_cast<messageExpiredVideo &>(*obj));
7211 }
7212 return true;
7213 case messageExpiredVideoNote::ID:
7214 if constexpr (AllowTag) {
7215 downcast_call_tag<messageExpiredVideoNote> type_tag;
7216 func(type_tag);
7217 } else {
7218 func(static_cast<messageExpiredVideoNote &>(*obj));
7219 }
7220 return true;
7221 case messageExpiredVoiceNote::ID:
7222 if constexpr (AllowTag) {
7223 downcast_call_tag<messageExpiredVoiceNote> type_tag;
7224 func(type_tag);
7225 } else {
7226 func(static_cast<messageExpiredVoiceNote &>(*obj));
7227 }
7228 return true;
7229 case messageLocation::ID:
7230 if constexpr (AllowTag) {
7231 downcast_call_tag<messageLocation> type_tag;
7232 func(type_tag);
7233 } else {
7234 func(static_cast<messageLocation &>(*obj));
7235 }
7236 return true;
7237 case messageVenue::ID:
7238 if constexpr (AllowTag) {
7239 downcast_call_tag<messageVenue> type_tag;
7240 func(type_tag);
7241 } else {
7242 func(static_cast<messageVenue &>(*obj));
7243 }
7244 return true;
7245 case messageContact::ID:
7246 if constexpr (AllowTag) {
7247 downcast_call_tag<messageContact> type_tag;
7248 func(type_tag);
7249 } else {
7250 func(static_cast<messageContact &>(*obj));
7251 }
7252 return true;
7253 case messageAnimatedEmoji::ID:
7254 if constexpr (AllowTag) {
7255 downcast_call_tag<messageAnimatedEmoji> type_tag;
7256 func(type_tag);
7257 } else {
7258 func(static_cast<messageAnimatedEmoji &>(*obj));
7259 }
7260 return true;
7261 case messageDice::ID:
7262 if constexpr (AllowTag) {
7263 downcast_call_tag<messageDice> type_tag;
7264 func(type_tag);
7265 } else {
7266 func(static_cast<messageDice &>(*obj));
7267 }
7268 return true;
7269 case messageGame::ID:
7270 if constexpr (AllowTag) {
7271 downcast_call_tag<messageGame> type_tag;
7272 func(type_tag);
7273 } else {
7274 func(static_cast<messageGame &>(*obj));
7275 }
7276 return true;
7277 case messagePoll::ID:
7278 if constexpr (AllowTag) {
7279 downcast_call_tag<messagePoll> type_tag;
7280 func(type_tag);
7281 } else {
7282 func(static_cast<messagePoll &>(*obj));
7283 }
7284 return true;
7285 case messageStakeDice::ID:
7286 if constexpr (AllowTag) {
7287 downcast_call_tag<messageStakeDice> type_tag;
7288 func(type_tag);
7289 } else {
7290 func(static_cast<messageStakeDice &>(*obj));
7291 }
7292 return true;
7293 case messageStory::ID:
7294 if constexpr (AllowTag) {
7295 downcast_call_tag<messageStory> type_tag;
7296 func(type_tag);
7297 } else {
7298 func(static_cast<messageStory &>(*obj));
7299 }
7300 return true;
7301 case messageChecklist::ID:
7302 if constexpr (AllowTag) {
7303 downcast_call_tag<messageChecklist> type_tag;
7304 func(type_tag);
7305 } else {
7306 func(static_cast<messageChecklist &>(*obj));
7307 }
7308 return true;
7309 case messageInvoice::ID:
7310 if constexpr (AllowTag) {
7311 downcast_call_tag<messageInvoice> type_tag;
7312 func(type_tag);
7313 } else {
7314 func(static_cast<messageInvoice &>(*obj));
7315 }
7316 return true;
7317 case messageCall::ID:
7318 if constexpr (AllowTag) {
7319 downcast_call_tag<messageCall> type_tag;
7320 func(type_tag);
7321 } else {
7322 func(static_cast<messageCall &>(*obj));
7323 }
7324 return true;
7325 case messageGroupCall::ID:
7326 if constexpr (AllowTag) {
7327 downcast_call_tag<messageGroupCall> type_tag;
7328 func(type_tag);
7329 } else {
7330 func(static_cast<messageGroupCall &>(*obj));
7331 }
7332 return true;
7333 case messageVideoChatScheduled::ID:
7334 if constexpr (AllowTag) {
7335 downcast_call_tag<messageVideoChatScheduled> type_tag;
7336 func(type_tag);
7337 } else {
7338 func(static_cast<messageVideoChatScheduled &>(*obj));
7339 }
7340 return true;
7341 case messageVideoChatStarted::ID:
7342 if constexpr (AllowTag) {
7343 downcast_call_tag<messageVideoChatStarted> type_tag;
7344 func(type_tag);
7345 } else {
7346 func(static_cast<messageVideoChatStarted &>(*obj));
7347 }
7348 return true;
7349 case messageVideoChatEnded::ID:
7350 if constexpr (AllowTag) {
7351 downcast_call_tag<messageVideoChatEnded> type_tag;
7352 func(type_tag);
7353 } else {
7354 func(static_cast<messageVideoChatEnded &>(*obj));
7355 }
7356 return true;
7357 case messageInviteVideoChatParticipants::ID:
7358 if constexpr (AllowTag) {
7359 downcast_call_tag<messageInviteVideoChatParticipants> type_tag;
7360 func(type_tag);
7361 } else {
7362 func(static_cast<messageInviteVideoChatParticipants &>(*obj));
7363 }
7364 return true;
7365 case messagePollOptionAdded::ID:
7366 if constexpr (AllowTag) {
7367 downcast_call_tag<messagePollOptionAdded> type_tag;
7368 func(type_tag);
7369 } else {
7370 func(static_cast<messagePollOptionAdded &>(*obj));
7371 }
7372 return true;
7373 case messagePollOptionDeleted::ID:
7374 if constexpr (AllowTag) {
7375 downcast_call_tag<messagePollOptionDeleted> type_tag;
7376 func(type_tag);
7377 } else {
7378 func(static_cast<messagePollOptionDeleted &>(*obj));
7379 }
7380 return true;
7381 case messageBasicGroupChatCreate::ID:
7382 if constexpr (AllowTag) {
7383 downcast_call_tag<messageBasicGroupChatCreate> type_tag;
7384 func(type_tag);
7385 } else {
7386 func(static_cast<messageBasicGroupChatCreate &>(*obj));
7387 }
7388 return true;
7389 case messageSupergroupChatCreate::ID:
7390 if constexpr (AllowTag) {
7391 downcast_call_tag<messageSupergroupChatCreate> type_tag;
7392 func(type_tag);
7393 } else {
7394 func(static_cast<messageSupergroupChatCreate &>(*obj));
7395 }
7396 return true;
7397 case messageChatChangeTitle::ID:
7398 if constexpr (AllowTag) {
7399 downcast_call_tag<messageChatChangeTitle> type_tag;
7400 func(type_tag);
7401 } else {
7402 func(static_cast<messageChatChangeTitle &>(*obj));
7403 }
7404 return true;
7405 case messageChatChangePhoto::ID:
7406 if constexpr (AllowTag) {
7407 downcast_call_tag<messageChatChangePhoto> type_tag;
7408 func(type_tag);
7409 } else {
7410 func(static_cast<messageChatChangePhoto &>(*obj));
7411 }
7412 return true;
7413 case messageChatDeletePhoto::ID:
7414 if constexpr (AllowTag) {
7415 downcast_call_tag<messageChatDeletePhoto> type_tag;
7416 func(type_tag);
7417 } else {
7418 func(static_cast<messageChatDeletePhoto &>(*obj));
7419 }
7420 return true;
7421 case messageChatOwnerLeft::ID:
7422 if constexpr (AllowTag) {
7423 downcast_call_tag<messageChatOwnerLeft> type_tag;
7424 func(type_tag);
7425 } else {
7426 func(static_cast<messageChatOwnerLeft &>(*obj));
7427 }
7428 return true;
7429 case messageChatOwnerChanged::ID:
7430 if constexpr (AllowTag) {
7431 downcast_call_tag<messageChatOwnerChanged> type_tag;
7432 func(type_tag);
7433 } else {
7434 func(static_cast<messageChatOwnerChanged &>(*obj));
7435 }
7436 return true;
7437 case messageChatHasProtectedContentToggled::ID:
7438 if constexpr (AllowTag) {
7439 downcast_call_tag<messageChatHasProtectedContentToggled> type_tag;
7440 func(type_tag);
7441 } else {
7442 func(static_cast<messageChatHasProtectedContentToggled &>(*obj));
7443 }
7444 return true;
7445 case messageChatHasProtectedContentDisableRequested::ID:
7446 if constexpr (AllowTag) {
7447 downcast_call_tag<messageChatHasProtectedContentDisableRequested> type_tag;
7448 func(type_tag);
7449 } else {
7450 func(static_cast<messageChatHasProtectedContentDisableRequested &>(*obj));
7451 }
7452 return true;
7453 case messageChatAddMembers::ID:
7454 if constexpr (AllowTag) {
7455 downcast_call_tag<messageChatAddMembers> type_tag;
7456 func(type_tag);
7457 } else {
7458 func(static_cast<messageChatAddMembers &>(*obj));
7459 }
7460 return true;
7461 case messageChatJoinByLink::ID:
7462 if constexpr (AllowTag) {
7463 downcast_call_tag<messageChatJoinByLink> type_tag;
7464 func(type_tag);
7465 } else {
7466 func(static_cast<messageChatJoinByLink &>(*obj));
7467 }
7468 return true;
7469 case messageChatJoinByRequest::ID:
7470 if constexpr (AllowTag) {
7471 downcast_call_tag<messageChatJoinByRequest> type_tag;
7472 func(type_tag);
7473 } else {
7474 func(static_cast<messageChatJoinByRequest &>(*obj));
7475 }
7476 return true;
7477 case messageChatDeleteMember::ID:
7478 if constexpr (AllowTag) {
7479 downcast_call_tag<messageChatDeleteMember> type_tag;
7480 func(type_tag);
7481 } else {
7482 func(static_cast<messageChatDeleteMember &>(*obj));
7483 }
7484 return true;
7485 case messageChatUpgradeTo::ID:
7486 if constexpr (AllowTag) {
7487 downcast_call_tag<messageChatUpgradeTo> type_tag;
7488 func(type_tag);
7489 } else {
7490 func(static_cast<messageChatUpgradeTo &>(*obj));
7491 }
7492 return true;
7493 case messageChatUpgradeFrom::ID:
7494 if constexpr (AllowTag) {
7495 downcast_call_tag<messageChatUpgradeFrom> type_tag;
7496 func(type_tag);
7497 } else {
7498 func(static_cast<messageChatUpgradeFrom &>(*obj));
7499 }
7500 return true;
7501 case messagePinMessage::ID:
7502 if constexpr (AllowTag) {
7503 downcast_call_tag<messagePinMessage> type_tag;
7504 func(type_tag);
7505 } else {
7506 func(static_cast<messagePinMessage &>(*obj));
7507 }
7508 return true;
7509 case messageScreenshotTaken::ID:
7510 if constexpr (AllowTag) {
7511 downcast_call_tag<messageScreenshotTaken> type_tag;
7512 func(type_tag);
7513 } else {
7514 func(static_cast<messageScreenshotTaken &>(*obj));
7515 }
7516 return true;
7517 case messageChatSetBackground::ID:
7518 if constexpr (AllowTag) {
7519 downcast_call_tag<messageChatSetBackground> type_tag;
7520 func(type_tag);
7521 } else {
7522 func(static_cast<messageChatSetBackground &>(*obj));
7523 }
7524 return true;
7525 case messageChatSetTheme::ID:
7526 if constexpr (AllowTag) {
7527 downcast_call_tag<messageChatSetTheme> type_tag;
7528 func(type_tag);
7529 } else {
7530 func(static_cast<messageChatSetTheme &>(*obj));
7531 }
7532 return true;
7533 case messageChatSetMessageAutoDeleteTime::ID:
7534 if constexpr (AllowTag) {
7535 downcast_call_tag<messageChatSetMessageAutoDeleteTime> type_tag;
7536 func(type_tag);
7537 } else {
7538 func(static_cast<messageChatSetMessageAutoDeleteTime &>(*obj));
7539 }
7540 return true;
7541 case messageChatBoost::ID:
7542 if constexpr (AllowTag) {
7543 downcast_call_tag<messageChatBoost> type_tag;
7544 func(type_tag);
7545 } else {
7546 func(static_cast<messageChatBoost &>(*obj));
7547 }
7548 return true;
7549 case messageForumTopicCreated::ID:
7550 if constexpr (AllowTag) {
7551 downcast_call_tag<messageForumTopicCreated> type_tag;
7552 func(type_tag);
7553 } else {
7554 func(static_cast<messageForumTopicCreated &>(*obj));
7555 }
7556 return true;
7557 case messageForumTopicEdited::ID:
7558 if constexpr (AllowTag) {
7559 downcast_call_tag<messageForumTopicEdited> type_tag;
7560 func(type_tag);
7561 } else {
7562 func(static_cast<messageForumTopicEdited &>(*obj));
7563 }
7564 return true;
7565 case messageForumTopicIsClosedToggled::ID:
7566 if constexpr (AllowTag) {
7567 downcast_call_tag<messageForumTopicIsClosedToggled> type_tag;
7568 func(type_tag);
7569 } else {
7570 func(static_cast<messageForumTopicIsClosedToggled &>(*obj));
7571 }
7572 return true;
7573 case messageForumTopicIsHiddenToggled::ID:
7574 if constexpr (AllowTag) {
7575 downcast_call_tag<messageForumTopicIsHiddenToggled> type_tag;
7576 func(type_tag);
7577 } else {
7578 func(static_cast<messageForumTopicIsHiddenToggled &>(*obj));
7579 }
7580 return true;
7581 case messageSuggestProfilePhoto::ID:
7582 if constexpr (AllowTag) {
7583 downcast_call_tag<messageSuggestProfilePhoto> type_tag;
7584 func(type_tag);
7585 } else {
7586 func(static_cast<messageSuggestProfilePhoto &>(*obj));
7587 }
7588 return true;
7589 case messageSuggestBirthdate::ID:
7590 if constexpr (AllowTag) {
7591 downcast_call_tag<messageSuggestBirthdate> type_tag;
7592 func(type_tag);
7593 } else {
7594 func(static_cast<messageSuggestBirthdate &>(*obj));
7595 }
7596 return true;
7597 case messageCustomServiceAction::ID:
7598 if constexpr (AllowTag) {
7599 downcast_call_tag<messageCustomServiceAction> type_tag;
7600 func(type_tag);
7601 } else {
7602 func(static_cast<messageCustomServiceAction &>(*obj));
7603 }
7604 return true;
7605 case messageGameScore::ID:
7606 if constexpr (AllowTag) {
7607 downcast_call_tag<messageGameScore> type_tag;
7608 func(type_tag);
7609 } else {
7610 func(static_cast<messageGameScore &>(*obj));
7611 }
7612 return true;
7613 case messageManagedBotCreated::ID:
7614 if constexpr (AllowTag) {
7615 downcast_call_tag<messageManagedBotCreated> type_tag;
7616 func(type_tag);
7617 } else {
7618 func(static_cast<messageManagedBotCreated &>(*obj));
7619 }
7620 return true;
7621 case messagePaymentSuccessful::ID:
7622 if constexpr (AllowTag) {
7623 downcast_call_tag<messagePaymentSuccessful> type_tag;
7624 func(type_tag);
7625 } else {
7626 func(static_cast<messagePaymentSuccessful &>(*obj));
7627 }
7628 return true;
7629 case messagePaymentSuccessfulBot::ID:
7630 if constexpr (AllowTag) {
7631 downcast_call_tag<messagePaymentSuccessfulBot> type_tag;
7632 func(type_tag);
7633 } else {
7634 func(static_cast<messagePaymentSuccessfulBot &>(*obj));
7635 }
7636 return true;
7637 case messagePaymentRefunded::ID:
7638 if constexpr (AllowTag) {
7639 downcast_call_tag<messagePaymentRefunded> type_tag;
7640 func(type_tag);
7641 } else {
7642 func(static_cast<messagePaymentRefunded &>(*obj));
7643 }
7644 return true;
7645 case messageGiftedPremium::ID:
7646 if constexpr (AllowTag) {
7647 downcast_call_tag<messageGiftedPremium> type_tag;
7648 func(type_tag);
7649 } else {
7650 func(static_cast<messageGiftedPremium &>(*obj));
7651 }
7652 return true;
7653 case messagePremiumGiftCode::ID:
7654 if constexpr (AllowTag) {
7655 downcast_call_tag<messagePremiumGiftCode> type_tag;
7656 func(type_tag);
7657 } else {
7658 func(static_cast<messagePremiumGiftCode &>(*obj));
7659 }
7660 return true;
7661 case messageGiveawayCreated::ID:
7662 if constexpr (AllowTag) {
7663 downcast_call_tag<messageGiveawayCreated> type_tag;
7664 func(type_tag);
7665 } else {
7666 func(static_cast<messageGiveawayCreated &>(*obj));
7667 }
7668 return true;
7669 case messageGiveaway::ID:
7670 if constexpr (AllowTag) {
7671 downcast_call_tag<messageGiveaway> type_tag;
7672 func(type_tag);
7673 } else {
7674 func(static_cast<messageGiveaway &>(*obj));
7675 }
7676 return true;
7677 case messageGiveawayCompleted::ID:
7678 if constexpr (AllowTag) {
7679 downcast_call_tag<messageGiveawayCompleted> type_tag;
7680 func(type_tag);
7681 } else {
7682 func(static_cast<messageGiveawayCompleted &>(*obj));
7683 }
7684 return true;
7685 case messageGiveawayWinners::ID:
7686 if constexpr (AllowTag) {
7687 downcast_call_tag<messageGiveawayWinners> type_tag;
7688 func(type_tag);
7689 } else {
7690 func(static_cast<messageGiveawayWinners &>(*obj));
7691 }
7692 return true;
7693 case messageGiftedStars::ID:
7694 if constexpr (AllowTag) {
7695 downcast_call_tag<messageGiftedStars> type_tag;
7696 func(type_tag);
7697 } else {
7698 func(static_cast<messageGiftedStars &>(*obj));
7699 }
7700 return true;
7701 case messageGiftedTon::ID:
7702 if constexpr (AllowTag) {
7703 downcast_call_tag<messageGiftedTon> type_tag;
7704 func(type_tag);
7705 } else {
7706 func(static_cast<messageGiftedTon &>(*obj));
7707 }
7708 return true;
7709 case messageGiveawayPrizeStars::ID:
7710 if constexpr (AllowTag) {
7711 downcast_call_tag<messageGiveawayPrizeStars> type_tag;
7712 func(type_tag);
7713 } else {
7714 func(static_cast<messageGiveawayPrizeStars &>(*obj));
7715 }
7716 return true;
7717 case messageGift::ID:
7718 if constexpr (AllowTag) {
7719 downcast_call_tag<messageGift> type_tag;
7720 func(type_tag);
7721 } else {
7722 func(static_cast<messageGift &>(*obj));
7723 }
7724 return true;
7725 case messageUpgradedGift::ID:
7726 if constexpr (AllowTag) {
7727 downcast_call_tag<messageUpgradedGift> type_tag;
7728 func(type_tag);
7729 } else {
7730 func(static_cast<messageUpgradedGift &>(*obj));
7731 }
7732 return true;
7733 case messageRefundedUpgradedGift::ID:
7734 if constexpr (AllowTag) {
7735 downcast_call_tag<messageRefundedUpgradedGift> type_tag;
7736 func(type_tag);
7737 } else {
7738 func(static_cast<messageRefundedUpgradedGift &>(*obj));
7739 }
7740 return true;
7741 case messageUpgradedGiftPurchaseOffer::ID:
7742 if constexpr (AllowTag) {
7743 downcast_call_tag<messageUpgradedGiftPurchaseOffer> type_tag;
7744 func(type_tag);
7745 } else {
7746 func(static_cast<messageUpgradedGiftPurchaseOffer &>(*obj));
7747 }
7748 return true;
7749 case messageUpgradedGiftPurchaseOfferRejected::ID:
7750 if constexpr (AllowTag) {
7751 downcast_call_tag<messageUpgradedGiftPurchaseOfferRejected> type_tag;
7752 func(type_tag);
7753 } else {
7754 func(static_cast<messageUpgradedGiftPurchaseOfferRejected &>(*obj));
7755 }
7756 return true;
7757 case messagePaidMessagesRefunded::ID:
7758 if constexpr (AllowTag) {
7759 downcast_call_tag<messagePaidMessagesRefunded> type_tag;
7760 func(type_tag);
7761 } else {
7762 func(static_cast<messagePaidMessagesRefunded &>(*obj));
7763 }
7764 return true;
7765 case messagePaidMessagePriceChanged::ID:
7766 if constexpr (AllowTag) {
7767 downcast_call_tag<messagePaidMessagePriceChanged> type_tag;
7768 func(type_tag);
7769 } else {
7770 func(static_cast<messagePaidMessagePriceChanged &>(*obj));
7771 }
7772 return true;
7773 case messageDirectMessagePriceChanged::ID:
7774 if constexpr (AllowTag) {
7775 downcast_call_tag<messageDirectMessagePriceChanged> type_tag;
7776 func(type_tag);
7777 } else {
7778 func(static_cast<messageDirectMessagePriceChanged &>(*obj));
7779 }
7780 return true;
7781 case messageChecklistTasksDone::ID:
7782 if constexpr (AllowTag) {
7783 downcast_call_tag<messageChecklistTasksDone> type_tag;
7784 func(type_tag);
7785 } else {
7786 func(static_cast<messageChecklistTasksDone &>(*obj));
7787 }
7788 return true;
7789 case messageChecklistTasksAdded::ID:
7790 if constexpr (AllowTag) {
7791 downcast_call_tag<messageChecklistTasksAdded> type_tag;
7792 func(type_tag);
7793 } else {
7794 func(static_cast<messageChecklistTasksAdded &>(*obj));
7795 }
7796 return true;
7797 case messageSuggestedPostApprovalFailed::ID:
7798 if constexpr (AllowTag) {
7799 downcast_call_tag<messageSuggestedPostApprovalFailed> type_tag;
7800 func(type_tag);
7801 } else {
7802 func(static_cast<messageSuggestedPostApprovalFailed &>(*obj));
7803 }
7804 return true;
7805 case messageSuggestedPostApproved::ID:
7806 if constexpr (AllowTag) {
7807 downcast_call_tag<messageSuggestedPostApproved> type_tag;
7808 func(type_tag);
7809 } else {
7810 func(static_cast<messageSuggestedPostApproved &>(*obj));
7811 }
7812 return true;
7813 case messageSuggestedPostDeclined::ID:
7814 if constexpr (AllowTag) {
7815 downcast_call_tag<messageSuggestedPostDeclined> type_tag;
7816 func(type_tag);
7817 } else {
7818 func(static_cast<messageSuggestedPostDeclined &>(*obj));
7819 }
7820 return true;
7821 case messageSuggestedPostPaid::ID:
7822 if constexpr (AllowTag) {
7823 downcast_call_tag<messageSuggestedPostPaid> type_tag;
7824 func(type_tag);
7825 } else {
7826 func(static_cast<messageSuggestedPostPaid &>(*obj));
7827 }
7828 return true;
7829 case messageSuggestedPostRefunded::ID:
7830 if constexpr (AllowTag) {
7831 downcast_call_tag<messageSuggestedPostRefunded> type_tag;
7832 func(type_tag);
7833 } else {
7834 func(static_cast<messageSuggestedPostRefunded &>(*obj));
7835 }
7836 return true;
7837 case messageContactRegistered::ID:
7838 if constexpr (AllowTag) {
7839 downcast_call_tag<messageContactRegistered> type_tag;
7840 func(type_tag);
7841 } else {
7842 func(static_cast<messageContactRegistered &>(*obj));
7843 }
7844 return true;
7845 case messageUsersShared::ID:
7846 if constexpr (AllowTag) {
7847 downcast_call_tag<messageUsersShared> type_tag;
7848 func(type_tag);
7849 } else {
7850 func(static_cast<messageUsersShared &>(*obj));
7851 }
7852 return true;
7853 case messageChatShared::ID:
7854 if constexpr (AllowTag) {
7855 downcast_call_tag<messageChatShared> type_tag;
7856 func(type_tag);
7857 } else {
7858 func(static_cast<messageChatShared &>(*obj));
7859 }
7860 return true;
7861 case messageBotWriteAccessAllowed::ID:
7862 if constexpr (AllowTag) {
7863 downcast_call_tag<messageBotWriteAccessAllowed> type_tag;
7864 func(type_tag);
7865 } else {
7866 func(static_cast<messageBotWriteAccessAllowed &>(*obj));
7867 }
7868 return true;
7869 case messageWebAppDataSent::ID:
7870 if constexpr (AllowTag) {
7871 downcast_call_tag<messageWebAppDataSent> type_tag;
7872 func(type_tag);
7873 } else {
7874 func(static_cast<messageWebAppDataSent &>(*obj));
7875 }
7876 return true;
7877 case messageWebAppDataReceived::ID:
7878 if constexpr (AllowTag) {
7879 downcast_call_tag<messageWebAppDataReceived> type_tag;
7880 func(type_tag);
7881 } else {
7882 func(static_cast<messageWebAppDataReceived &>(*obj));
7883 }
7884 return true;
7885 case messagePassportDataSent::ID:
7886 if constexpr (AllowTag) {
7887 downcast_call_tag<messagePassportDataSent> type_tag;
7888 func(type_tag);
7889 } else {
7890 func(static_cast<messagePassportDataSent &>(*obj));
7891 }
7892 return true;
7893 case messagePassportDataReceived::ID:
7894 if constexpr (AllowTag) {
7895 downcast_call_tag<messagePassportDataReceived> type_tag;
7896 func(type_tag);
7897 } else {
7898 func(static_cast<messagePassportDataReceived &>(*obj));
7899 }
7900 return true;
7901 case messageProximityAlertTriggered::ID:
7902 if constexpr (AllowTag) {
7903 downcast_call_tag<messageProximityAlertTriggered> type_tag;
7904 func(type_tag);
7905 } else {
7906 func(static_cast<messageProximityAlertTriggered &>(*obj));
7907 }
7908 return true;
7909 case messageUnsupported::ID:
7910 if constexpr (AllowTag) {
7911 downcast_call_tag<messageUnsupported> type_tag;
7912 func(type_tag);
7913 } else {
7914 func(static_cast<messageUnsupported &>(*obj));
7915 }
7916 return true;
7917 case messageCopyOptions::ID:
7918 if constexpr (AllowTag) {
7919 downcast_call_tag<messageCopyOptions> type_tag;
7920 func(type_tag);
7921 } else {
7922 func(static_cast<messageCopyOptions &>(*obj));
7923 }
7924 return true;
7925 case messageEffect::ID:
7926 if constexpr (AllowTag) {
7927 downcast_call_tag<messageEffect> type_tag;
7928 func(type_tag);
7929 } else {
7930 func(static_cast<messageEffect &>(*obj));
7931 }
7932 return true;
7933 case messageEffectTypeEmojiReaction::ID:
7934 if constexpr (AllowTag) {
7935 downcast_call_tag<messageEffectTypeEmojiReaction> type_tag;
7936 func(type_tag);
7937 } else {
7938 func(static_cast<messageEffectTypeEmojiReaction &>(*obj));
7939 }
7940 return true;
7941 case messageEffectTypePremiumSticker::ID:
7942 if constexpr (AllowTag) {
7943 downcast_call_tag<messageEffectTypePremiumSticker> type_tag;
7944 func(type_tag);
7945 } else {
7946 func(static_cast<messageEffectTypePremiumSticker &>(*obj));
7947 }
7948 return true;
7949 case messageFileTypePrivate::ID:
7950 if constexpr (AllowTag) {
7951 downcast_call_tag<messageFileTypePrivate> type_tag;
7952 func(type_tag);
7953 } else {
7954 func(static_cast<messageFileTypePrivate &>(*obj));
7955 }
7956 return true;
7957 case messageFileTypeGroup::ID:
7958 if constexpr (AllowTag) {
7959 downcast_call_tag<messageFileTypeGroup> type_tag;
7960 func(type_tag);
7961 } else {
7962 func(static_cast<messageFileTypeGroup &>(*obj));
7963 }
7964 return true;
7965 case messageFileTypeUnknown::ID:
7966 if constexpr (AllowTag) {
7967 downcast_call_tag<messageFileTypeUnknown> type_tag;
7968 func(type_tag);
7969 } else {
7970 func(static_cast<messageFileTypeUnknown &>(*obj));
7971 }
7972 return true;
7973 case messageForwardInfo::ID:
7974 if constexpr (AllowTag) {
7975 downcast_call_tag<messageForwardInfo> type_tag;
7976 func(type_tag);
7977 } else {
7978 func(static_cast<messageForwardInfo &>(*obj));
7979 }
7980 return true;
7981 case messageImportInfo::ID:
7982 if constexpr (AllowTag) {
7983 downcast_call_tag<messageImportInfo> type_tag;
7984 func(type_tag);
7985 } else {
7986 func(static_cast<messageImportInfo &>(*obj));
7987 }
7988 return true;
7989 case messageInteractionInfo::ID:
7990 if constexpr (AllowTag) {
7991 downcast_call_tag<messageInteractionInfo> type_tag;
7992 func(type_tag);
7993 } else {
7994 func(static_cast<messageInteractionInfo &>(*obj));
7995 }
7996 return true;
7997 case messageLink::ID:
7998 if constexpr (AllowTag) {
7999 downcast_call_tag<messageLink> type_tag;
8000 func(type_tag);
8001 } else {
8002 func(static_cast<messageLink &>(*obj));
8003 }
8004 return true;
8005 case messageLinkInfo::ID:
8006 if constexpr (AllowTag) {
8007 downcast_call_tag<messageLinkInfo> type_tag;
8008 func(type_tag);
8009 } else {
8010 func(static_cast<messageLinkInfo &>(*obj));
8011 }
8012 return true;
8013 case messageOriginUser::ID:
8014 if constexpr (AllowTag) {
8015 downcast_call_tag<messageOriginUser> type_tag;
8016 func(type_tag);
8017 } else {
8018 func(static_cast<messageOriginUser &>(*obj));
8019 }
8020 return true;
8021 case messageOriginHiddenUser::ID:
8022 if constexpr (AllowTag) {
8023 downcast_call_tag<messageOriginHiddenUser> type_tag;
8024 func(type_tag);
8025 } else {
8026 func(static_cast<messageOriginHiddenUser &>(*obj));
8027 }
8028 return true;
8029 case messageOriginChat::ID:
8030 if constexpr (AllowTag) {
8031 downcast_call_tag<messageOriginChat> type_tag;
8032 func(type_tag);
8033 } else {
8034 func(static_cast<messageOriginChat &>(*obj));
8035 }
8036 return true;
8037 case messageOriginChannel::ID:
8038 if constexpr (AllowTag) {
8039 downcast_call_tag<messageOriginChannel> type_tag;
8040 func(type_tag);
8041 } else {
8042 func(static_cast<messageOriginChannel &>(*obj));
8043 }
8044 return true;
8045 case messagePosition::ID:
8046 if constexpr (AllowTag) {
8047 downcast_call_tag<messagePosition> type_tag;
8048 func(type_tag);
8049 } else {
8050 func(static_cast<messagePosition &>(*obj));
8051 }
8052 return true;
8053 case messagePositions::ID:
8054 if constexpr (AllowTag) {
8055 downcast_call_tag<messagePositions> type_tag;
8056 func(type_tag);
8057 } else {
8058 func(static_cast<messagePositions &>(*obj));
8059 }
8060 return true;
8061 case messageProperties::ID:
8062 if constexpr (AllowTag) {
8063 downcast_call_tag<messageProperties> type_tag;
8064 func(type_tag);
8065 } else {
8066 func(static_cast<messageProperties &>(*obj));
8067 }
8068 return true;
8069 case messageReaction::ID:
8070 if constexpr (AllowTag) {
8071 downcast_call_tag<messageReaction> type_tag;
8072 func(type_tag);
8073 } else {
8074 func(static_cast<messageReaction &>(*obj));
8075 }
8076 return true;
8077 case messageReactions::ID:
8078 if constexpr (AllowTag) {
8079 downcast_call_tag<messageReactions> type_tag;
8080 func(type_tag);
8081 } else {
8082 func(static_cast<messageReactions &>(*obj));
8083 }
8084 return true;
8085 case messageReadDateRead::ID:
8086 if constexpr (AllowTag) {
8087 downcast_call_tag<messageReadDateRead> type_tag;
8088 func(type_tag);
8089 } else {
8090 func(static_cast<messageReadDateRead &>(*obj));
8091 }
8092 return true;
8093 case messageReadDateUnread::ID:
8094 if constexpr (AllowTag) {
8095 downcast_call_tag<messageReadDateUnread> type_tag;
8096 func(type_tag);
8097 } else {
8098 func(static_cast<messageReadDateUnread &>(*obj));
8099 }
8100 return true;
8101 case messageReadDateTooOld::ID:
8102 if constexpr (AllowTag) {
8103 downcast_call_tag<messageReadDateTooOld> type_tag;
8104 func(type_tag);
8105 } else {
8106 func(static_cast<messageReadDateTooOld &>(*obj));
8107 }
8108 return true;
8109 case messageReadDateUserPrivacyRestricted::ID:
8110 if constexpr (AllowTag) {
8111 downcast_call_tag<messageReadDateUserPrivacyRestricted> type_tag;
8112 func(type_tag);
8113 } else {
8114 func(static_cast<messageReadDateUserPrivacyRestricted &>(*obj));
8115 }
8116 return true;
8117 case messageReadDateMyPrivacyRestricted::ID:
8118 if constexpr (AllowTag) {
8119 downcast_call_tag<messageReadDateMyPrivacyRestricted> type_tag;
8120 func(type_tag);
8121 } else {
8122 func(static_cast<messageReadDateMyPrivacyRestricted &>(*obj));
8123 }
8124 return true;
8125 case messageReplyInfo::ID:
8126 if constexpr (AllowTag) {
8127 downcast_call_tag<messageReplyInfo> type_tag;
8128 func(type_tag);
8129 } else {
8130 func(static_cast<messageReplyInfo &>(*obj));
8131 }
8132 return true;
8133 case messageReplyToMessage::ID:
8134 if constexpr (AllowTag) {
8135 downcast_call_tag<messageReplyToMessage> type_tag;
8136 func(type_tag);
8137 } else {
8138 func(static_cast<messageReplyToMessage &>(*obj));
8139 }
8140 return true;
8141 case messageReplyToStory::ID:
8142 if constexpr (AllowTag) {
8143 downcast_call_tag<messageReplyToStory> type_tag;
8144 func(type_tag);
8145 } else {
8146 func(static_cast<messageReplyToStory &>(*obj));
8147 }
8148 return true;
8149 case messageSchedulingStateSendAtDate::ID:
8150 if constexpr (AllowTag) {
8151 downcast_call_tag<messageSchedulingStateSendAtDate> type_tag;
8152 func(type_tag);
8153 } else {
8154 func(static_cast<messageSchedulingStateSendAtDate &>(*obj));
8155 }
8156 return true;
8157 case messageSchedulingStateSendWhenOnline::ID:
8158 if constexpr (AllowTag) {
8159 downcast_call_tag<messageSchedulingStateSendWhenOnline> type_tag;
8160 func(type_tag);
8161 } else {
8162 func(static_cast<messageSchedulingStateSendWhenOnline &>(*obj));
8163 }
8164 return true;
8165 case messageSchedulingStateSendWhenVideoProcessed::ID:
8166 if constexpr (AllowTag) {
8167 downcast_call_tag<messageSchedulingStateSendWhenVideoProcessed> type_tag;
8168 func(type_tag);
8169 } else {
8170 func(static_cast<messageSchedulingStateSendWhenVideoProcessed &>(*obj));
8171 }
8172 return true;
8173 case messageSelfDestructTypeTimer::ID:
8174 if constexpr (AllowTag) {
8175 downcast_call_tag<messageSelfDestructTypeTimer> type_tag;
8176 func(type_tag);
8177 } else {
8178 func(static_cast<messageSelfDestructTypeTimer &>(*obj));
8179 }
8180 return true;
8181 case messageSelfDestructTypeImmediately::ID:
8182 if constexpr (AllowTag) {
8183 downcast_call_tag<messageSelfDestructTypeImmediately> type_tag;
8184 func(type_tag);
8185 } else {
8186 func(static_cast<messageSelfDestructTypeImmediately &>(*obj));
8187 }
8188 return true;
8189 case messageSendOptions::ID:
8190 if constexpr (AllowTag) {
8191 downcast_call_tag<messageSendOptions> type_tag;
8192 func(type_tag);
8193 } else {
8194 func(static_cast<messageSendOptions &>(*obj));
8195 }
8196 return true;
8197 case messageSenderUser::ID:
8198 if constexpr (AllowTag) {
8199 downcast_call_tag<messageSenderUser> type_tag;
8200 func(type_tag);
8201 } else {
8202 func(static_cast<messageSenderUser &>(*obj));
8203 }
8204 return true;
8205 case messageSenderChat::ID:
8206 if constexpr (AllowTag) {
8207 downcast_call_tag<messageSenderChat> type_tag;
8208 func(type_tag);
8209 } else {
8210 func(static_cast<messageSenderChat &>(*obj));
8211 }
8212 return true;
8213 case messageSenders::ID:
8214 if constexpr (AllowTag) {
8215 downcast_call_tag<messageSenders> type_tag;
8216 func(type_tag);
8217 } else {
8218 func(static_cast<messageSenders &>(*obj));
8219 }
8220 return true;
8221 case messageSendingStatePending::ID:
8222 if constexpr (AllowTag) {
8223 downcast_call_tag<messageSendingStatePending> type_tag;
8224 func(type_tag);
8225 } else {
8226 func(static_cast<messageSendingStatePending &>(*obj));
8227 }
8228 return true;
8229 case messageSendingStateFailed::ID:
8230 if constexpr (AllowTag) {
8231 downcast_call_tag<messageSendingStateFailed> type_tag;
8232 func(type_tag);
8233 } else {
8234 func(static_cast<messageSendingStateFailed &>(*obj));
8235 }
8236 return true;
8237 case messageSourceChatHistory::ID:
8238 if constexpr (AllowTag) {
8239 downcast_call_tag<messageSourceChatHistory> type_tag;
8240 func(type_tag);
8241 } else {
8242 func(static_cast<messageSourceChatHistory &>(*obj));
8243 }
8244 return true;
8245 case messageSourceMessageThreadHistory::ID:
8246 if constexpr (AllowTag) {
8247 downcast_call_tag<messageSourceMessageThreadHistory> type_tag;
8248 func(type_tag);
8249 } else {
8250 func(static_cast<messageSourceMessageThreadHistory &>(*obj));
8251 }
8252 return true;
8253 case messageSourceForumTopicHistory::ID:
8254 if constexpr (AllowTag) {
8255 downcast_call_tag<messageSourceForumTopicHistory> type_tag;
8256 func(type_tag);
8257 } else {
8258 func(static_cast<messageSourceForumTopicHistory &>(*obj));
8259 }
8260 return true;
8261 case messageSourceDirectMessagesChatTopicHistory::ID:
8262 if constexpr (AllowTag) {
8263 downcast_call_tag<messageSourceDirectMessagesChatTopicHistory> type_tag;
8264 func(type_tag);
8265 } else {
8266 func(static_cast<messageSourceDirectMessagesChatTopicHistory &>(*obj));
8267 }
8268 return true;
8269 case messageSourceHistoryPreview::ID:
8270 if constexpr (AllowTag) {
8271 downcast_call_tag<messageSourceHistoryPreview> type_tag;
8272 func(type_tag);
8273 } else {
8274 func(static_cast<messageSourceHistoryPreview &>(*obj));
8275 }
8276 return true;
8277 case messageSourceChatList::ID:
8278 if constexpr (AllowTag) {
8279 downcast_call_tag<messageSourceChatList> type_tag;
8280 func(type_tag);
8281 } else {
8282 func(static_cast<messageSourceChatList &>(*obj));
8283 }
8284 return true;
8285 case messageSourceSearch::ID:
8286 if constexpr (AllowTag) {
8287 downcast_call_tag<messageSourceSearch> type_tag;
8288 func(type_tag);
8289 } else {
8290 func(static_cast<messageSourceSearch &>(*obj));
8291 }
8292 return true;
8293 case messageSourceChatEventLog::ID:
8294 if constexpr (AllowTag) {
8295 downcast_call_tag<messageSourceChatEventLog> type_tag;
8296 func(type_tag);
8297 } else {
8298 func(static_cast<messageSourceChatEventLog &>(*obj));
8299 }
8300 return true;
8301 case messageSourceNotification::ID:
8302 if constexpr (AllowTag) {
8303 downcast_call_tag<messageSourceNotification> type_tag;
8304 func(type_tag);
8305 } else {
8306 func(static_cast<messageSourceNotification &>(*obj));
8307 }
8308 return true;
8309 case messageSourceScreenshot::ID:
8310 if constexpr (AllowTag) {
8311 downcast_call_tag<messageSourceScreenshot> type_tag;
8312 func(type_tag);
8313 } else {
8314 func(static_cast<messageSourceScreenshot &>(*obj));
8315 }
8316 return true;
8317 case messageSourceOther::ID:
8318 if constexpr (AllowTag) {
8319 downcast_call_tag<messageSourceOther> type_tag;
8320 func(type_tag);
8321 } else {
8322 func(static_cast<messageSourceOther &>(*obj));
8323 }
8324 return true;
8325 case messageStatistics::ID:
8326 if constexpr (AllowTag) {
8327 downcast_call_tag<messageStatistics> type_tag;
8328 func(type_tag);
8329 } else {
8330 func(static_cast<messageStatistics &>(*obj));
8331 }
8332 return true;
8333 case messageThreadInfo::ID:
8334 if constexpr (AllowTag) {
8335 downcast_call_tag<messageThreadInfo> type_tag;
8336 func(type_tag);
8337 } else {
8338 func(static_cast<messageThreadInfo &>(*obj));
8339 }
8340 return true;
8341 case messageTopicThread::ID:
8342 if constexpr (AllowTag) {
8343 downcast_call_tag<messageTopicThread> type_tag;
8344 func(type_tag);
8345 } else {
8346 func(static_cast<messageTopicThread &>(*obj));
8347 }
8348 return true;
8349 case messageTopicForum::ID:
8350 if constexpr (AllowTag) {
8351 downcast_call_tag<messageTopicForum> type_tag;
8352 func(type_tag);
8353 } else {
8354 func(static_cast<messageTopicForum &>(*obj));
8355 }
8356 return true;
8357 case messageTopicDirectMessages::ID:
8358 if constexpr (AllowTag) {
8359 downcast_call_tag<messageTopicDirectMessages> type_tag;
8360 func(type_tag);
8361 } else {
8362 func(static_cast<messageTopicDirectMessages &>(*obj));
8363 }
8364 return true;
8365 case messageTopicSavedMessages::ID:
8366 if constexpr (AllowTag) {
8367 downcast_call_tag<messageTopicSavedMessages> type_tag;
8368 func(type_tag);
8369 } else {
8370 func(static_cast<messageTopicSavedMessages &>(*obj));
8371 }
8372 return true;
8373 case messageViewer::ID:
8374 if constexpr (AllowTag) {
8375 downcast_call_tag<messageViewer> type_tag;
8376 func(type_tag);
8377 } else {
8378 func(static_cast<messageViewer &>(*obj));
8379 }
8380 return true;
8381 case messageViewers::ID:
8382 if constexpr (AllowTag) {
8383 downcast_call_tag<messageViewers> type_tag;
8384 func(type_tag);
8385 } else {
8386 func(static_cast<messageViewers &>(*obj));
8387 }
8388 return true;
8389 case messages::ID:
8390 if constexpr (AllowTag) {
8391 downcast_call_tag<messages> type_tag;
8392 func(type_tag);
8393 } else {
8394 func(static_cast<messages &>(*obj));
8395 }
8396 return true;
8397 case minithumbnail::ID:
8398 if constexpr (AllowTag) {
8399 downcast_call_tag<minithumbnail> type_tag;
8400 func(type_tag);
8401 } else {
8402 func(static_cast<minithumbnail &>(*obj));
8403 }
8404 return true;
8405 case networkStatistics::ID:
8406 if constexpr (AllowTag) {
8407 downcast_call_tag<networkStatistics> type_tag;
8408 func(type_tag);
8409 } else {
8410 func(static_cast<networkStatistics &>(*obj));
8411 }
8412 return true;
8413 case networkStatisticsEntryFile::ID:
8414 if constexpr (AllowTag) {
8415 downcast_call_tag<networkStatisticsEntryFile> type_tag;
8416 func(type_tag);
8417 } else {
8418 func(static_cast<networkStatisticsEntryFile &>(*obj));
8419 }
8420 return true;
8421 case networkStatisticsEntryCall::ID:
8422 if constexpr (AllowTag) {
8423 downcast_call_tag<networkStatisticsEntryCall> type_tag;
8424 func(type_tag);
8425 } else {
8426 func(static_cast<networkStatisticsEntryCall &>(*obj));
8427 }
8428 return true;
8429 case networkTypeNone::ID:
8430 if constexpr (AllowTag) {
8431 downcast_call_tag<networkTypeNone> type_tag;
8432 func(type_tag);
8433 } else {
8434 func(static_cast<networkTypeNone &>(*obj));
8435 }
8436 return true;
8437 case networkTypeMobile::ID:
8438 if constexpr (AllowTag) {
8439 downcast_call_tag<networkTypeMobile> type_tag;
8440 func(type_tag);
8441 } else {
8442 func(static_cast<networkTypeMobile &>(*obj));
8443 }
8444 return true;
8445 case networkTypeMobileRoaming::ID:
8446 if constexpr (AllowTag) {
8447 downcast_call_tag<networkTypeMobileRoaming> type_tag;
8448 func(type_tag);
8449 } else {
8450 func(static_cast<networkTypeMobileRoaming &>(*obj));
8451 }
8452 return true;
8453 case networkTypeWiFi::ID:
8454 if constexpr (AllowTag) {
8455 downcast_call_tag<networkTypeWiFi> type_tag;
8456 func(type_tag);
8457 } else {
8458 func(static_cast<networkTypeWiFi &>(*obj));
8459 }
8460 return true;
8461 case networkTypeOther::ID:
8462 if constexpr (AllowTag) {
8463 downcast_call_tag<networkTypeOther> type_tag;
8464 func(type_tag);
8465 } else {
8466 func(static_cast<networkTypeOther &>(*obj));
8467 }
8468 return true;
8469 case newChatPrivacySettings::ID:
8470 if constexpr (AllowTag) {
8471 downcast_call_tag<newChatPrivacySettings> type_tag;
8472 func(type_tag);
8473 } else {
8474 func(static_cast<newChatPrivacySettings &>(*obj));
8475 }
8476 return true;
8477 case notification::ID:
8478 if constexpr (AllowTag) {
8479 downcast_call_tag<notification> type_tag;
8480 func(type_tag);
8481 } else {
8482 func(static_cast<notification &>(*obj));
8483 }
8484 return true;
8485 case notificationGroup::ID:
8486 if constexpr (AllowTag) {
8487 downcast_call_tag<notificationGroup> type_tag;
8488 func(type_tag);
8489 } else {
8490 func(static_cast<notificationGroup &>(*obj));
8491 }
8492 return true;
8493 case notificationGroupTypeMessages::ID:
8494 if constexpr (AllowTag) {
8495 downcast_call_tag<notificationGroupTypeMessages> type_tag;
8496 func(type_tag);
8497 } else {
8498 func(static_cast<notificationGroupTypeMessages &>(*obj));
8499 }
8500 return true;
8501 case notificationGroupTypeMentions::ID:
8502 if constexpr (AllowTag) {
8503 downcast_call_tag<notificationGroupTypeMentions> type_tag;
8504 func(type_tag);
8505 } else {
8506 func(static_cast<notificationGroupTypeMentions &>(*obj));
8507 }
8508 return true;
8509 case notificationGroupTypeSecretChat::ID:
8510 if constexpr (AllowTag) {
8511 downcast_call_tag<notificationGroupTypeSecretChat> type_tag;
8512 func(type_tag);
8513 } else {
8514 func(static_cast<notificationGroupTypeSecretChat &>(*obj));
8515 }
8516 return true;
8517 case notificationGroupTypeCalls::ID:
8518 if constexpr (AllowTag) {
8519 downcast_call_tag<notificationGroupTypeCalls> type_tag;
8520 func(type_tag);
8521 } else {
8522 func(static_cast<notificationGroupTypeCalls &>(*obj));
8523 }
8524 return true;
8525 case notificationSettingsScopePrivateChats::ID:
8526 if constexpr (AllowTag) {
8527 downcast_call_tag<notificationSettingsScopePrivateChats> type_tag;
8528 func(type_tag);
8529 } else {
8530 func(static_cast<notificationSettingsScopePrivateChats &>(*obj));
8531 }
8532 return true;
8533 case notificationSettingsScopeGroupChats::ID:
8534 if constexpr (AllowTag) {
8535 downcast_call_tag<notificationSettingsScopeGroupChats> type_tag;
8536 func(type_tag);
8537 } else {
8538 func(static_cast<notificationSettingsScopeGroupChats &>(*obj));
8539 }
8540 return true;
8541 case notificationSettingsScopeChannelChats::ID:
8542 if constexpr (AllowTag) {
8543 downcast_call_tag<notificationSettingsScopeChannelChats> type_tag;
8544 func(type_tag);
8545 } else {
8546 func(static_cast<notificationSettingsScopeChannelChats &>(*obj));
8547 }
8548 return true;
8549 case notificationSound::ID:
8550 if constexpr (AllowTag) {
8551 downcast_call_tag<notificationSound> type_tag;
8552 func(type_tag);
8553 } else {
8554 func(static_cast<notificationSound &>(*obj));
8555 }
8556 return true;
8557 case notificationSounds::ID:
8558 if constexpr (AllowTag) {
8559 downcast_call_tag<notificationSounds> type_tag;
8560 func(type_tag);
8561 } else {
8562 func(static_cast<notificationSounds &>(*obj));
8563 }
8564 return true;
8565 case notificationTypeNewMessage::ID:
8566 if constexpr (AllowTag) {
8567 downcast_call_tag<notificationTypeNewMessage> type_tag;
8568 func(type_tag);
8569 } else {
8570 func(static_cast<notificationTypeNewMessage &>(*obj));
8571 }
8572 return true;
8573 case notificationTypeNewSecretChat::ID:
8574 if constexpr (AllowTag) {
8575 downcast_call_tag<notificationTypeNewSecretChat> type_tag;
8576 func(type_tag);
8577 } else {
8578 func(static_cast<notificationTypeNewSecretChat &>(*obj));
8579 }
8580 return true;
8581 case notificationTypeNewCall::ID:
8582 if constexpr (AllowTag) {
8583 downcast_call_tag<notificationTypeNewCall> type_tag;
8584 func(type_tag);
8585 } else {
8586 func(static_cast<notificationTypeNewCall &>(*obj));
8587 }
8588 return true;
8589 case notificationTypeNewPushMessage::ID:
8590 if constexpr (AllowTag) {
8591 downcast_call_tag<notificationTypeNewPushMessage> type_tag;
8592 func(type_tag);
8593 } else {
8594 func(static_cast<notificationTypeNewPushMessage &>(*obj));
8595 }
8596 return true;
8597 case oauthLinkInfo::ID:
8598 if constexpr (AllowTag) {
8599 downcast_call_tag<oauthLinkInfo> type_tag;
8600 func(type_tag);
8601 } else {
8602 func(static_cast<oauthLinkInfo &>(*obj));
8603 }
8604 return true;
8605 case ok::ID:
8606 if constexpr (AllowTag) {
8607 downcast_call_tag<ok> type_tag;
8608 func(type_tag);
8609 } else {
8610 func(static_cast<ok &>(*obj));
8611 }
8612 return true;
8613 case optionValueBoolean::ID:
8614 if constexpr (AllowTag) {
8615 downcast_call_tag<optionValueBoolean> type_tag;
8616 func(type_tag);
8617 } else {
8618 func(static_cast<optionValueBoolean &>(*obj));
8619 }
8620 return true;
8621 case optionValueEmpty::ID:
8622 if constexpr (AllowTag) {
8623 downcast_call_tag<optionValueEmpty> type_tag;
8624 func(type_tag);
8625 } else {
8626 func(static_cast<optionValueEmpty &>(*obj));
8627 }
8628 return true;
8629 case optionValueInteger::ID:
8630 if constexpr (AllowTag) {
8631 downcast_call_tag<optionValueInteger> type_tag;
8632 func(type_tag);
8633 } else {
8634 func(static_cast<optionValueInteger &>(*obj));
8635 }
8636 return true;
8637 case optionValueString::ID:
8638 if constexpr (AllowTag) {
8639 downcast_call_tag<optionValueString> type_tag;
8640 func(type_tag);
8641 } else {
8642 func(static_cast<optionValueString &>(*obj));
8643 }
8644 return true;
8645 case orderInfo::ID:
8646 if constexpr (AllowTag) {
8647 downcast_call_tag<orderInfo> type_tag;
8648 func(type_tag);
8649 } else {
8650 func(static_cast<orderInfo &>(*obj));
8651 }
8652 return true;
8653 case outline::ID:
8654 if constexpr (AllowTag) {
8655 downcast_call_tag<outline> type_tag;
8656 func(type_tag);
8657 } else {
8658 func(static_cast<outline &>(*obj));
8659 }
8660 return true;
8661 case pageBlockTitle::ID:
8662 if constexpr (AllowTag) {
8663 downcast_call_tag<pageBlockTitle> type_tag;
8664 func(type_tag);
8665 } else {
8666 func(static_cast<pageBlockTitle &>(*obj));
8667 }
8668 return true;
8669 case pageBlockSubtitle::ID:
8670 if constexpr (AllowTag) {
8671 downcast_call_tag<pageBlockSubtitle> type_tag;
8672 func(type_tag);
8673 } else {
8674 func(static_cast<pageBlockSubtitle &>(*obj));
8675 }
8676 return true;
8677 case pageBlockAuthorDate::ID:
8678 if constexpr (AllowTag) {
8679 downcast_call_tag<pageBlockAuthorDate> type_tag;
8680 func(type_tag);
8681 } else {
8682 func(static_cast<pageBlockAuthorDate &>(*obj));
8683 }
8684 return true;
8685 case pageBlockHeader::ID:
8686 if constexpr (AllowTag) {
8687 downcast_call_tag<pageBlockHeader> type_tag;
8688 func(type_tag);
8689 } else {
8690 func(static_cast<pageBlockHeader &>(*obj));
8691 }
8692 return true;
8693 case pageBlockSubheader::ID:
8694 if constexpr (AllowTag) {
8695 downcast_call_tag<pageBlockSubheader> type_tag;
8696 func(type_tag);
8697 } else {
8698 func(static_cast<pageBlockSubheader &>(*obj));
8699 }
8700 return true;
8701 case pageBlockKicker::ID:
8702 if constexpr (AllowTag) {
8703 downcast_call_tag<pageBlockKicker> type_tag;
8704 func(type_tag);
8705 } else {
8706 func(static_cast<pageBlockKicker &>(*obj));
8707 }
8708 return true;
8709 case pageBlockParagraph::ID:
8710 if constexpr (AllowTag) {
8711 downcast_call_tag<pageBlockParagraph> type_tag;
8712 func(type_tag);
8713 } else {
8714 func(static_cast<pageBlockParagraph &>(*obj));
8715 }
8716 return true;
8717 case pageBlockPreformatted::ID:
8718 if constexpr (AllowTag) {
8719 downcast_call_tag<pageBlockPreformatted> type_tag;
8720 func(type_tag);
8721 } else {
8722 func(static_cast<pageBlockPreformatted &>(*obj));
8723 }
8724 return true;
8725 case pageBlockFooter::ID:
8726 if constexpr (AllowTag) {
8727 downcast_call_tag<pageBlockFooter> type_tag;
8728 func(type_tag);
8729 } else {
8730 func(static_cast<pageBlockFooter &>(*obj));
8731 }
8732 return true;
8733 case pageBlockDivider::ID:
8734 if constexpr (AllowTag) {
8735 downcast_call_tag<pageBlockDivider> type_tag;
8736 func(type_tag);
8737 } else {
8738 func(static_cast<pageBlockDivider &>(*obj));
8739 }
8740 return true;
8741 case pageBlockAnchor::ID:
8742 if constexpr (AllowTag) {
8743 downcast_call_tag<pageBlockAnchor> type_tag;
8744 func(type_tag);
8745 } else {
8746 func(static_cast<pageBlockAnchor &>(*obj));
8747 }
8748 return true;
8749 case pageBlockList::ID:
8750 if constexpr (AllowTag) {
8751 downcast_call_tag<pageBlockList> type_tag;
8752 func(type_tag);
8753 } else {
8754 func(static_cast<pageBlockList &>(*obj));
8755 }
8756 return true;
8757 case pageBlockBlockQuote::ID:
8758 if constexpr (AllowTag) {
8759 downcast_call_tag<pageBlockBlockQuote> type_tag;
8760 func(type_tag);
8761 } else {
8762 func(static_cast<pageBlockBlockQuote &>(*obj));
8763 }
8764 return true;
8765 case pageBlockPullQuote::ID:
8766 if constexpr (AllowTag) {
8767 downcast_call_tag<pageBlockPullQuote> type_tag;
8768 func(type_tag);
8769 } else {
8770 func(static_cast<pageBlockPullQuote &>(*obj));
8771 }
8772 return true;
8773 case pageBlockAnimation::ID:
8774 if constexpr (AllowTag) {
8775 downcast_call_tag<pageBlockAnimation> type_tag;
8776 func(type_tag);
8777 } else {
8778 func(static_cast<pageBlockAnimation &>(*obj));
8779 }
8780 return true;
8781 case pageBlockAudio::ID:
8782 if constexpr (AllowTag) {
8783 downcast_call_tag<pageBlockAudio> type_tag;
8784 func(type_tag);
8785 } else {
8786 func(static_cast<pageBlockAudio &>(*obj));
8787 }
8788 return true;
8789 case pageBlockPhoto::ID:
8790 if constexpr (AllowTag) {
8791 downcast_call_tag<pageBlockPhoto> type_tag;
8792 func(type_tag);
8793 } else {
8794 func(static_cast<pageBlockPhoto &>(*obj));
8795 }
8796 return true;
8797 case pageBlockVideo::ID:
8798 if constexpr (AllowTag) {
8799 downcast_call_tag<pageBlockVideo> type_tag;
8800 func(type_tag);
8801 } else {
8802 func(static_cast<pageBlockVideo &>(*obj));
8803 }
8804 return true;
8805 case pageBlockVoiceNote::ID:
8806 if constexpr (AllowTag) {
8807 downcast_call_tag<pageBlockVoiceNote> type_tag;
8808 func(type_tag);
8809 } else {
8810 func(static_cast<pageBlockVoiceNote &>(*obj));
8811 }
8812 return true;
8813 case pageBlockCover::ID:
8814 if constexpr (AllowTag) {
8815 downcast_call_tag<pageBlockCover> type_tag;
8816 func(type_tag);
8817 } else {
8818 func(static_cast<pageBlockCover &>(*obj));
8819 }
8820 return true;
8821 case pageBlockEmbedded::ID:
8822 if constexpr (AllowTag) {
8823 downcast_call_tag<pageBlockEmbedded> type_tag;
8824 func(type_tag);
8825 } else {
8826 func(static_cast<pageBlockEmbedded &>(*obj));
8827 }
8828 return true;
8829 case pageBlockEmbeddedPost::ID:
8830 if constexpr (AllowTag) {
8831 downcast_call_tag<pageBlockEmbeddedPost> type_tag;
8832 func(type_tag);
8833 } else {
8834 func(static_cast<pageBlockEmbeddedPost &>(*obj));
8835 }
8836 return true;
8837 case pageBlockCollage::ID:
8838 if constexpr (AllowTag) {
8839 downcast_call_tag<pageBlockCollage> type_tag;
8840 func(type_tag);
8841 } else {
8842 func(static_cast<pageBlockCollage &>(*obj));
8843 }
8844 return true;
8845 case pageBlockSlideshow::ID:
8846 if constexpr (AllowTag) {
8847 downcast_call_tag<pageBlockSlideshow> type_tag;
8848 func(type_tag);
8849 } else {
8850 func(static_cast<pageBlockSlideshow &>(*obj));
8851 }
8852 return true;
8853 case pageBlockChatLink::ID:
8854 if constexpr (AllowTag) {
8855 downcast_call_tag<pageBlockChatLink> type_tag;
8856 func(type_tag);
8857 } else {
8858 func(static_cast<pageBlockChatLink &>(*obj));
8859 }
8860 return true;
8861 case pageBlockTable::ID:
8862 if constexpr (AllowTag) {
8863 downcast_call_tag<pageBlockTable> type_tag;
8864 func(type_tag);
8865 } else {
8866 func(static_cast<pageBlockTable &>(*obj));
8867 }
8868 return true;
8869 case pageBlockDetails::ID:
8870 if constexpr (AllowTag) {
8871 downcast_call_tag<pageBlockDetails> type_tag;
8872 func(type_tag);
8873 } else {
8874 func(static_cast<pageBlockDetails &>(*obj));
8875 }
8876 return true;
8877 case pageBlockRelatedArticles::ID:
8878 if constexpr (AllowTag) {
8879 downcast_call_tag<pageBlockRelatedArticles> type_tag;
8880 func(type_tag);
8881 } else {
8882 func(static_cast<pageBlockRelatedArticles &>(*obj));
8883 }
8884 return true;
8885 case pageBlockMap::ID:
8886 if constexpr (AllowTag) {
8887 downcast_call_tag<pageBlockMap> type_tag;
8888 func(type_tag);
8889 } else {
8890 func(static_cast<pageBlockMap &>(*obj));
8891 }
8892 return true;
8893 case pageBlockCaption::ID:
8894 if constexpr (AllowTag) {
8895 downcast_call_tag<pageBlockCaption> type_tag;
8896 func(type_tag);
8897 } else {
8898 func(static_cast<pageBlockCaption &>(*obj));
8899 }
8900 return true;
8901 case pageBlockHorizontalAlignmentLeft::ID:
8902 if constexpr (AllowTag) {
8903 downcast_call_tag<pageBlockHorizontalAlignmentLeft> type_tag;
8904 func(type_tag);
8905 } else {
8906 func(static_cast<pageBlockHorizontalAlignmentLeft &>(*obj));
8907 }
8908 return true;
8909 case pageBlockHorizontalAlignmentCenter::ID:
8910 if constexpr (AllowTag) {
8911 downcast_call_tag<pageBlockHorizontalAlignmentCenter> type_tag;
8912 func(type_tag);
8913 } else {
8914 func(static_cast<pageBlockHorizontalAlignmentCenter &>(*obj));
8915 }
8916 return true;
8917 case pageBlockHorizontalAlignmentRight::ID:
8918 if constexpr (AllowTag) {
8919 downcast_call_tag<pageBlockHorizontalAlignmentRight> type_tag;
8920 func(type_tag);
8921 } else {
8922 func(static_cast<pageBlockHorizontalAlignmentRight &>(*obj));
8923 }
8924 return true;
8925 case pageBlockListItem::ID:
8926 if constexpr (AllowTag) {
8927 downcast_call_tag<pageBlockListItem> type_tag;
8928 func(type_tag);
8929 } else {
8930 func(static_cast<pageBlockListItem &>(*obj));
8931 }
8932 return true;
8933 case pageBlockRelatedArticle::ID:
8934 if constexpr (AllowTag) {
8935 downcast_call_tag<pageBlockRelatedArticle> type_tag;
8936 func(type_tag);
8937 } else {
8938 func(static_cast<pageBlockRelatedArticle &>(*obj));
8939 }
8940 return true;
8941 case pageBlockTableCell::ID:
8942 if constexpr (AllowTag) {
8943 downcast_call_tag<pageBlockTableCell> type_tag;
8944 func(type_tag);
8945 } else {
8946 func(static_cast<pageBlockTableCell &>(*obj));
8947 }
8948 return true;
8949 case pageBlockVerticalAlignmentTop::ID:
8950 if constexpr (AllowTag) {
8951 downcast_call_tag<pageBlockVerticalAlignmentTop> type_tag;
8952 func(type_tag);
8953 } else {
8954 func(static_cast<pageBlockVerticalAlignmentTop &>(*obj));
8955 }
8956 return true;
8957 case pageBlockVerticalAlignmentMiddle::ID:
8958 if constexpr (AllowTag) {
8959 downcast_call_tag<pageBlockVerticalAlignmentMiddle> type_tag;
8960 func(type_tag);
8961 } else {
8962 func(static_cast<pageBlockVerticalAlignmentMiddle &>(*obj));
8963 }
8964 return true;
8965 case pageBlockVerticalAlignmentBottom::ID:
8966 if constexpr (AllowTag) {
8967 downcast_call_tag<pageBlockVerticalAlignmentBottom> type_tag;
8968 func(type_tag);
8969 } else {
8970 func(static_cast<pageBlockVerticalAlignmentBottom &>(*obj));
8971 }
8972 return true;
8973 case paidMediaPreview::ID:
8974 if constexpr (AllowTag) {
8975 downcast_call_tag<paidMediaPreview> type_tag;
8976 func(type_tag);
8977 } else {
8978 func(static_cast<paidMediaPreview &>(*obj));
8979 }
8980 return true;
8981 case paidMediaPhoto::ID:
8982 if constexpr (AllowTag) {
8983 downcast_call_tag<paidMediaPhoto> type_tag;
8984 func(type_tag);
8985 } else {
8986 func(static_cast<paidMediaPhoto &>(*obj));
8987 }
8988 return true;
8989 case paidMediaVideo::ID:
8990 if constexpr (AllowTag) {
8991 downcast_call_tag<paidMediaVideo> type_tag;
8992 func(type_tag);
8993 } else {
8994 func(static_cast<paidMediaVideo &>(*obj));
8995 }
8996 return true;
8997 case paidMediaUnsupported::ID:
8998 if constexpr (AllowTag) {
8999 downcast_call_tag<paidMediaUnsupported> type_tag;
9000 func(type_tag);
9001 } else {
9002 func(static_cast<paidMediaUnsupported &>(*obj));
9003 }
9004 return true;
9005 case paidReactionTypeRegular::ID:
9006 if constexpr (AllowTag) {
9007 downcast_call_tag<paidReactionTypeRegular> type_tag;
9008 func(type_tag);
9009 } else {
9010 func(static_cast<paidReactionTypeRegular &>(*obj));
9011 }
9012 return true;
9013 case paidReactionTypeAnonymous::ID:
9014 if constexpr (AllowTag) {
9015 downcast_call_tag<paidReactionTypeAnonymous> type_tag;
9016 func(type_tag);
9017 } else {
9018 func(static_cast<paidReactionTypeAnonymous &>(*obj));
9019 }
9020 return true;
9021 case paidReactionTypeChat::ID:
9022 if constexpr (AllowTag) {
9023 downcast_call_tag<paidReactionTypeChat> type_tag;
9024 func(type_tag);
9025 } else {
9026 func(static_cast<paidReactionTypeChat &>(*obj));
9027 }
9028 return true;
9029 case paidReactor::ID:
9030 if constexpr (AllowTag) {
9031 downcast_call_tag<paidReactor> type_tag;
9032 func(type_tag);
9033 } else {
9034 func(static_cast<paidReactor &>(*obj));
9035 }
9036 return true;
9037 case passkey::ID:
9038 if constexpr (AllowTag) {
9039 downcast_call_tag<passkey> type_tag;
9040 func(type_tag);
9041 } else {
9042 func(static_cast<passkey &>(*obj));
9043 }
9044 return true;
9045 case passkeys::ID:
9046 if constexpr (AllowTag) {
9047 downcast_call_tag<passkeys> type_tag;
9048 func(type_tag);
9049 } else {
9050 func(static_cast<passkeys &>(*obj));
9051 }
9052 return true;
9053 case passportAuthorizationForm::ID:
9054 if constexpr (AllowTag) {
9055 downcast_call_tag<passportAuthorizationForm> type_tag;
9056 func(type_tag);
9057 } else {
9058 func(static_cast<passportAuthorizationForm &>(*obj));
9059 }
9060 return true;
9061 case passportElementPersonalDetails::ID:
9062 if constexpr (AllowTag) {
9063 downcast_call_tag<passportElementPersonalDetails> type_tag;
9064 func(type_tag);
9065 } else {
9066 func(static_cast<passportElementPersonalDetails &>(*obj));
9067 }
9068 return true;
9069 case passportElementPassport::ID:
9070 if constexpr (AllowTag) {
9071 downcast_call_tag<passportElementPassport> type_tag;
9072 func(type_tag);
9073 } else {
9074 func(static_cast<passportElementPassport &>(*obj));
9075 }
9076 return true;
9077 case passportElementDriverLicense::ID:
9078 if constexpr (AllowTag) {
9079 downcast_call_tag<passportElementDriverLicense> type_tag;
9080 func(type_tag);
9081 } else {
9082 func(static_cast<passportElementDriverLicense &>(*obj));
9083 }
9084 return true;
9085 case passportElementIdentityCard::ID:
9086 if constexpr (AllowTag) {
9087 downcast_call_tag<passportElementIdentityCard> type_tag;
9088 func(type_tag);
9089 } else {
9090 func(static_cast<passportElementIdentityCard &>(*obj));
9091 }
9092 return true;
9093 case passportElementInternalPassport::ID:
9094 if constexpr (AllowTag) {
9095 downcast_call_tag<passportElementInternalPassport> type_tag;
9096 func(type_tag);
9097 } else {
9098 func(static_cast<passportElementInternalPassport &>(*obj));
9099 }
9100 return true;
9101 case passportElementAddress::ID:
9102 if constexpr (AllowTag) {
9103 downcast_call_tag<passportElementAddress> type_tag;
9104 func(type_tag);
9105 } else {
9106 func(static_cast<passportElementAddress &>(*obj));
9107 }
9108 return true;
9109 case passportElementUtilityBill::ID:
9110 if constexpr (AllowTag) {
9111 downcast_call_tag<passportElementUtilityBill> type_tag;
9112 func(type_tag);
9113 } else {
9114 func(static_cast<passportElementUtilityBill &>(*obj));
9115 }
9116 return true;
9117 case passportElementBankStatement::ID:
9118 if constexpr (AllowTag) {
9119 downcast_call_tag<passportElementBankStatement> type_tag;
9120 func(type_tag);
9121 } else {
9122 func(static_cast<passportElementBankStatement &>(*obj));
9123 }
9124 return true;
9125 case passportElementRentalAgreement::ID:
9126 if constexpr (AllowTag) {
9127 downcast_call_tag<passportElementRentalAgreement> type_tag;
9128 func(type_tag);
9129 } else {
9130 func(static_cast<passportElementRentalAgreement &>(*obj));
9131 }
9132 return true;
9133 case passportElementPassportRegistration::ID:
9134 if constexpr (AllowTag) {
9135 downcast_call_tag<passportElementPassportRegistration> type_tag;
9136 func(type_tag);
9137 } else {
9138 func(static_cast<passportElementPassportRegistration &>(*obj));
9139 }
9140 return true;
9141 case passportElementTemporaryRegistration::ID:
9142 if constexpr (AllowTag) {
9143 downcast_call_tag<passportElementTemporaryRegistration> type_tag;
9144 func(type_tag);
9145 } else {
9146 func(static_cast<passportElementTemporaryRegistration &>(*obj));
9147 }
9148 return true;
9149 case passportElementPhoneNumber::ID:
9150 if constexpr (AllowTag) {
9151 downcast_call_tag<passportElementPhoneNumber> type_tag;
9152 func(type_tag);
9153 } else {
9154 func(static_cast<passportElementPhoneNumber &>(*obj));
9155 }
9156 return true;
9157 case passportElementEmailAddress::ID:
9158 if constexpr (AllowTag) {
9159 downcast_call_tag<passportElementEmailAddress> type_tag;
9160 func(type_tag);
9161 } else {
9162 func(static_cast<passportElementEmailAddress &>(*obj));
9163 }
9164 return true;
9165 case passportElementError::ID:
9166 if constexpr (AllowTag) {
9167 downcast_call_tag<passportElementError> type_tag;
9168 func(type_tag);
9169 } else {
9170 func(static_cast<passportElementError &>(*obj));
9171 }
9172 return true;
9173 case passportElementErrorSourceUnspecified::ID:
9174 if constexpr (AllowTag) {
9175 downcast_call_tag<passportElementErrorSourceUnspecified> type_tag;
9176 func(type_tag);
9177 } else {
9178 func(static_cast<passportElementErrorSourceUnspecified &>(*obj));
9179 }
9180 return true;
9181 case passportElementErrorSourceDataField::ID:
9182 if constexpr (AllowTag) {
9183 downcast_call_tag<passportElementErrorSourceDataField> type_tag;
9184 func(type_tag);
9185 } else {
9186 func(static_cast<passportElementErrorSourceDataField &>(*obj));
9187 }
9188 return true;
9189 case passportElementErrorSourceFrontSide::ID:
9190 if constexpr (AllowTag) {
9191 downcast_call_tag<passportElementErrorSourceFrontSide> type_tag;
9192 func(type_tag);
9193 } else {
9194 func(static_cast<passportElementErrorSourceFrontSide &>(*obj));
9195 }
9196 return true;
9197 case passportElementErrorSourceReverseSide::ID:
9198 if constexpr (AllowTag) {
9199 downcast_call_tag<passportElementErrorSourceReverseSide> type_tag;
9200 func(type_tag);
9201 } else {
9202 func(static_cast<passportElementErrorSourceReverseSide &>(*obj));
9203 }
9204 return true;
9205 case passportElementErrorSourceSelfie::ID:
9206 if constexpr (AllowTag) {
9207 downcast_call_tag<passportElementErrorSourceSelfie> type_tag;
9208 func(type_tag);
9209 } else {
9210 func(static_cast<passportElementErrorSourceSelfie &>(*obj));
9211 }
9212 return true;
9213 case passportElementErrorSourceTranslationFile::ID:
9214 if constexpr (AllowTag) {
9215 downcast_call_tag<passportElementErrorSourceTranslationFile> type_tag;
9216 func(type_tag);
9217 } else {
9218 func(static_cast<passportElementErrorSourceTranslationFile &>(*obj));
9219 }
9220 return true;
9221 case passportElementErrorSourceTranslationFiles::ID:
9222 if constexpr (AllowTag) {
9223 downcast_call_tag<passportElementErrorSourceTranslationFiles> type_tag;
9224 func(type_tag);
9225 } else {
9226 func(static_cast<passportElementErrorSourceTranslationFiles &>(*obj));
9227 }
9228 return true;
9229 case passportElementErrorSourceFile::ID:
9230 if constexpr (AllowTag) {
9231 downcast_call_tag<passportElementErrorSourceFile> type_tag;
9232 func(type_tag);
9233 } else {
9234 func(static_cast<passportElementErrorSourceFile &>(*obj));
9235 }
9236 return true;
9237 case passportElementErrorSourceFiles::ID:
9238 if constexpr (AllowTag) {
9239 downcast_call_tag<passportElementErrorSourceFiles> type_tag;
9240 func(type_tag);
9241 } else {
9242 func(static_cast<passportElementErrorSourceFiles &>(*obj));
9243 }
9244 return true;
9245 case passportElementTypePersonalDetails::ID:
9246 if constexpr (AllowTag) {
9247 downcast_call_tag<passportElementTypePersonalDetails> type_tag;
9248 func(type_tag);
9249 } else {
9250 func(static_cast<passportElementTypePersonalDetails &>(*obj));
9251 }
9252 return true;
9253 case passportElementTypePassport::ID:
9254 if constexpr (AllowTag) {
9255 downcast_call_tag<passportElementTypePassport> type_tag;
9256 func(type_tag);
9257 } else {
9258 func(static_cast<passportElementTypePassport &>(*obj));
9259 }
9260 return true;
9261 case passportElementTypeDriverLicense::ID:
9262 if constexpr (AllowTag) {
9263 downcast_call_tag<passportElementTypeDriverLicense> type_tag;
9264 func(type_tag);
9265 } else {
9266 func(static_cast<passportElementTypeDriverLicense &>(*obj));
9267 }
9268 return true;
9269 case passportElementTypeIdentityCard::ID:
9270 if constexpr (AllowTag) {
9271 downcast_call_tag<passportElementTypeIdentityCard> type_tag;
9272 func(type_tag);
9273 } else {
9274 func(static_cast<passportElementTypeIdentityCard &>(*obj));
9275 }
9276 return true;
9277 case passportElementTypeInternalPassport::ID:
9278 if constexpr (AllowTag) {
9279 downcast_call_tag<passportElementTypeInternalPassport> type_tag;
9280 func(type_tag);
9281 } else {
9282 func(static_cast<passportElementTypeInternalPassport &>(*obj));
9283 }
9284 return true;
9285 case passportElementTypeAddress::ID:
9286 if constexpr (AllowTag) {
9287 downcast_call_tag<passportElementTypeAddress> type_tag;
9288 func(type_tag);
9289 } else {
9290 func(static_cast<passportElementTypeAddress &>(*obj));
9291 }
9292 return true;
9293 case passportElementTypeUtilityBill::ID:
9294 if constexpr (AllowTag) {
9295 downcast_call_tag<passportElementTypeUtilityBill> type_tag;
9296 func(type_tag);
9297 } else {
9298 func(static_cast<passportElementTypeUtilityBill &>(*obj));
9299 }
9300 return true;
9301 case passportElementTypeBankStatement::ID:
9302 if constexpr (AllowTag) {
9303 downcast_call_tag<passportElementTypeBankStatement> type_tag;
9304 func(type_tag);
9305 } else {
9306 func(static_cast<passportElementTypeBankStatement &>(*obj));
9307 }
9308 return true;
9309 case passportElementTypeRentalAgreement::ID:
9310 if constexpr (AllowTag) {
9311 downcast_call_tag<passportElementTypeRentalAgreement> type_tag;
9312 func(type_tag);
9313 } else {
9314 func(static_cast<passportElementTypeRentalAgreement &>(*obj));
9315 }
9316 return true;
9317 case passportElementTypePassportRegistration::ID:
9318 if constexpr (AllowTag) {
9319 downcast_call_tag<passportElementTypePassportRegistration> type_tag;
9320 func(type_tag);
9321 } else {
9322 func(static_cast<passportElementTypePassportRegistration &>(*obj));
9323 }
9324 return true;
9325 case passportElementTypeTemporaryRegistration::ID:
9326 if constexpr (AllowTag) {
9327 downcast_call_tag<passportElementTypeTemporaryRegistration> type_tag;
9328 func(type_tag);
9329 } else {
9330 func(static_cast<passportElementTypeTemporaryRegistration &>(*obj));
9331 }
9332 return true;
9333 case passportElementTypePhoneNumber::ID:
9334 if constexpr (AllowTag) {
9335 downcast_call_tag<passportElementTypePhoneNumber> type_tag;
9336 func(type_tag);
9337 } else {
9338 func(static_cast<passportElementTypePhoneNumber &>(*obj));
9339 }
9340 return true;
9341 case passportElementTypeEmailAddress::ID:
9342 if constexpr (AllowTag) {
9343 downcast_call_tag<passportElementTypeEmailAddress> type_tag;
9344 func(type_tag);
9345 } else {
9346 func(static_cast<passportElementTypeEmailAddress &>(*obj));
9347 }
9348 return true;
9349 case passportElements::ID:
9350 if constexpr (AllowTag) {
9351 downcast_call_tag<passportElements> type_tag;
9352 func(type_tag);
9353 } else {
9354 func(static_cast<passportElements &>(*obj));
9355 }
9356 return true;
9357 case passportElementsWithErrors::ID:
9358 if constexpr (AllowTag) {
9359 downcast_call_tag<passportElementsWithErrors> type_tag;
9360 func(type_tag);
9361 } else {
9362 func(static_cast<passportElementsWithErrors &>(*obj));
9363 }
9364 return true;
9365 case passportRequiredElement::ID:
9366 if constexpr (AllowTag) {
9367 downcast_call_tag<passportRequiredElement> type_tag;
9368 func(type_tag);
9369 } else {
9370 func(static_cast<passportRequiredElement &>(*obj));
9371 }
9372 return true;
9373 case passportSuitableElement::ID:
9374 if constexpr (AllowTag) {
9375 downcast_call_tag<passportSuitableElement> type_tag;
9376 func(type_tag);
9377 } else {
9378 func(static_cast<passportSuitableElement &>(*obj));
9379 }
9380 return true;
9381 case passwordState::ID:
9382 if constexpr (AllowTag) {
9383 downcast_call_tag<passwordState> type_tag;
9384 func(type_tag);
9385 } else {
9386 func(static_cast<passwordState &>(*obj));
9387 }
9388 return true;
9389 case paymentForm::ID:
9390 if constexpr (AllowTag) {
9391 downcast_call_tag<paymentForm> type_tag;
9392 func(type_tag);
9393 } else {
9394 func(static_cast<paymentForm &>(*obj));
9395 }
9396 return true;
9397 case paymentFormTypeRegular::ID:
9398 if constexpr (AllowTag) {
9399 downcast_call_tag<paymentFormTypeRegular> type_tag;
9400 func(type_tag);
9401 } else {
9402 func(static_cast<paymentFormTypeRegular &>(*obj));
9403 }
9404 return true;
9405 case paymentFormTypeStars::ID:
9406 if constexpr (AllowTag) {
9407 downcast_call_tag<paymentFormTypeStars> type_tag;
9408 func(type_tag);
9409 } else {
9410 func(static_cast<paymentFormTypeStars &>(*obj));
9411 }
9412 return true;
9413 case paymentFormTypeStarSubscription::ID:
9414 if constexpr (AllowTag) {
9415 downcast_call_tag<paymentFormTypeStarSubscription> type_tag;
9416 func(type_tag);
9417 } else {
9418 func(static_cast<paymentFormTypeStarSubscription &>(*obj));
9419 }
9420 return true;
9421 case paymentOption::ID:
9422 if constexpr (AllowTag) {
9423 downcast_call_tag<paymentOption> type_tag;
9424 func(type_tag);
9425 } else {
9426 func(static_cast<paymentOption &>(*obj));
9427 }
9428 return true;
9429 case paymentProviderSmartGlocal::ID:
9430 if constexpr (AllowTag) {
9431 downcast_call_tag<paymentProviderSmartGlocal> type_tag;
9432 func(type_tag);
9433 } else {
9434 func(static_cast<paymentProviderSmartGlocal &>(*obj));
9435 }
9436 return true;
9437 case paymentProviderStripe::ID:
9438 if constexpr (AllowTag) {
9439 downcast_call_tag<paymentProviderStripe> type_tag;
9440 func(type_tag);
9441 } else {
9442 func(static_cast<paymentProviderStripe &>(*obj));
9443 }
9444 return true;
9445 case paymentProviderOther::ID:
9446 if constexpr (AllowTag) {
9447 downcast_call_tag<paymentProviderOther> type_tag;
9448 func(type_tag);
9449 } else {
9450 func(static_cast<paymentProviderOther &>(*obj));
9451 }
9452 return true;
9453 case paymentReceipt::ID:
9454 if constexpr (AllowTag) {
9455 downcast_call_tag<paymentReceipt> type_tag;
9456 func(type_tag);
9457 } else {
9458 func(static_cast<paymentReceipt &>(*obj));
9459 }
9460 return true;
9461 case paymentReceiptTypeRegular::ID:
9462 if constexpr (AllowTag) {
9463 downcast_call_tag<paymentReceiptTypeRegular> type_tag;
9464 func(type_tag);
9465 } else {
9466 func(static_cast<paymentReceiptTypeRegular &>(*obj));
9467 }
9468 return true;
9469 case paymentReceiptTypeStars::ID:
9470 if constexpr (AllowTag) {
9471 downcast_call_tag<paymentReceiptTypeStars> type_tag;
9472 func(type_tag);
9473 } else {
9474 func(static_cast<paymentReceiptTypeStars &>(*obj));
9475 }
9476 return true;
9477 case paymentResult::ID:
9478 if constexpr (AllowTag) {
9479 downcast_call_tag<paymentResult> type_tag;
9480 func(type_tag);
9481 } else {
9482 func(static_cast<paymentResult &>(*obj));
9483 }
9484 return true;
9485 case personalDetails::ID:
9486 if constexpr (AllowTag) {
9487 downcast_call_tag<personalDetails> type_tag;
9488 func(type_tag);
9489 } else {
9490 func(static_cast<personalDetails &>(*obj));
9491 }
9492 return true;
9493 case personalDocument::ID:
9494 if constexpr (AllowTag) {
9495 downcast_call_tag<personalDocument> type_tag;
9496 func(type_tag);
9497 } else {
9498 func(static_cast<personalDocument &>(*obj));
9499 }
9500 return true;
9501 case phoneNumberAuthenticationSettings::ID:
9502 if constexpr (AllowTag) {
9503 downcast_call_tag<phoneNumberAuthenticationSettings> type_tag;
9504 func(type_tag);
9505 } else {
9506 func(static_cast<phoneNumberAuthenticationSettings &>(*obj));
9507 }
9508 return true;
9509 case phoneNumberCodeTypeChange::ID:
9510 if constexpr (AllowTag) {
9511 downcast_call_tag<phoneNumberCodeTypeChange> type_tag;
9512 func(type_tag);
9513 } else {
9514 func(static_cast<phoneNumberCodeTypeChange &>(*obj));
9515 }
9516 return true;
9517 case phoneNumberCodeTypeVerify::ID:
9518 if constexpr (AllowTag) {
9519 downcast_call_tag<phoneNumberCodeTypeVerify> type_tag;
9520 func(type_tag);
9521 } else {
9522 func(static_cast<phoneNumberCodeTypeVerify &>(*obj));
9523 }
9524 return true;
9525 case phoneNumberCodeTypeConfirmOwnership::ID:
9526 if constexpr (AllowTag) {
9527 downcast_call_tag<phoneNumberCodeTypeConfirmOwnership> type_tag;
9528 func(type_tag);
9529 } else {
9530 func(static_cast<phoneNumberCodeTypeConfirmOwnership &>(*obj));
9531 }
9532 return true;
9533 case phoneNumberInfo::ID:
9534 if constexpr (AllowTag) {
9535 downcast_call_tag<phoneNumberInfo> type_tag;
9536 func(type_tag);
9537 } else {
9538 func(static_cast<phoneNumberInfo &>(*obj));
9539 }
9540 return true;
9541 case photo::ID:
9542 if constexpr (AllowTag) {
9543 downcast_call_tag<photo> type_tag;
9544 func(type_tag);
9545 } else {
9546 func(static_cast<photo &>(*obj));
9547 }
9548 return true;
9549 case photoSize::ID:
9550 if constexpr (AllowTag) {
9551 downcast_call_tag<photoSize> type_tag;
9552 func(type_tag);
9553 } else {
9554 func(static_cast<photoSize &>(*obj));
9555 }
9556 return true;
9557 case point::ID:
9558 if constexpr (AllowTag) {
9559 downcast_call_tag<point> type_tag;
9560 func(type_tag);
9561 } else {
9562 func(static_cast<point &>(*obj));
9563 }
9564 return true;
9565 case poll::ID:
9566 if constexpr (AllowTag) {
9567 downcast_call_tag<poll> type_tag;
9568 func(type_tag);
9569 } else {
9570 func(static_cast<poll &>(*obj));
9571 }
9572 return true;
9573 case pollOption::ID:
9574 if constexpr (AllowTag) {
9575 downcast_call_tag<pollOption> type_tag;
9576 func(type_tag);
9577 } else {
9578 func(static_cast<pollOption &>(*obj));
9579 }
9580 return true;
9581 case pollOptionProperties::ID:
9582 if constexpr (AllowTag) {
9583 downcast_call_tag<pollOptionProperties> type_tag;
9584 func(type_tag);
9585 } else {
9586 func(static_cast<pollOptionProperties &>(*obj));
9587 }
9588 return true;
9589 case pollTypeRegular::ID:
9590 if constexpr (AllowTag) {
9591 downcast_call_tag<pollTypeRegular> type_tag;
9592 func(type_tag);
9593 } else {
9594 func(static_cast<pollTypeRegular &>(*obj));
9595 }
9596 return true;
9597 case pollTypeQuiz::ID:
9598 if constexpr (AllowTag) {
9599 downcast_call_tag<pollTypeQuiz> type_tag;
9600 func(type_tag);
9601 } else {
9602 func(static_cast<pollTypeQuiz &>(*obj));
9603 }
9604 return true;
9605 case pollVoteRestrictionReasonMembershipRequired::ID:
9606 if constexpr (AllowTag) {
9607 downcast_call_tag<pollVoteRestrictionReasonMembershipRequired> type_tag;
9608 func(type_tag);
9609 } else {
9610 func(static_cast<pollVoteRestrictionReasonMembershipRequired &>(*obj));
9611 }
9612 return true;
9613 case pollVoteRestrictionReasonOther::ID:
9614 if constexpr (AllowTag) {
9615 downcast_call_tag<pollVoteRestrictionReasonOther> type_tag;
9616 func(type_tag);
9617 } else {
9618 func(static_cast<pollVoteRestrictionReasonOther &>(*obj));
9619 }
9620 return true;
9621 case pollVoteStatistics::ID:
9622 if constexpr (AllowTag) {
9623 downcast_call_tag<pollVoteStatistics> type_tag;
9624 func(type_tag);
9625 } else {
9626 func(static_cast<pollVoteStatistics &>(*obj));
9627 }
9628 return true;
9629 case pollVoter::ID:
9630 if constexpr (AllowTag) {
9631 downcast_call_tag<pollVoter> type_tag;
9632 func(type_tag);
9633 } else {
9634 func(static_cast<pollVoter &>(*obj));
9635 }
9636 return true;
9637 case pollVoters::ID:
9638 if constexpr (AllowTag) {
9639 downcast_call_tag<pollVoters> type_tag;
9640 func(type_tag);
9641 } else {
9642 func(static_cast<pollVoters &>(*obj));
9643 }
9644 return true;
9645 case premiumFeatureIncreasedLimits::ID:
9646 if constexpr (AllowTag) {
9647 downcast_call_tag<premiumFeatureIncreasedLimits> type_tag;
9648 func(type_tag);
9649 } else {
9650 func(static_cast<premiumFeatureIncreasedLimits &>(*obj));
9651 }
9652 return true;
9653 case premiumFeatureIncreasedUploadFileSize::ID:
9654 if constexpr (AllowTag) {
9655 downcast_call_tag<premiumFeatureIncreasedUploadFileSize> type_tag;
9656 func(type_tag);
9657 } else {
9658 func(static_cast<premiumFeatureIncreasedUploadFileSize &>(*obj));
9659 }
9660 return true;
9661 case premiumFeatureImprovedDownloadSpeed::ID:
9662 if constexpr (AllowTag) {
9663 downcast_call_tag<premiumFeatureImprovedDownloadSpeed> type_tag;
9664 func(type_tag);
9665 } else {
9666 func(static_cast<premiumFeatureImprovedDownloadSpeed &>(*obj));
9667 }
9668 return true;
9669 case premiumFeatureVoiceRecognition::ID:
9670 if constexpr (AllowTag) {
9671 downcast_call_tag<premiumFeatureVoiceRecognition> type_tag;
9672 func(type_tag);
9673 } else {
9674 func(static_cast<premiumFeatureVoiceRecognition &>(*obj));
9675 }
9676 return true;
9677 case premiumFeatureDisabledAds::ID:
9678 if constexpr (AllowTag) {
9679 downcast_call_tag<premiumFeatureDisabledAds> type_tag;
9680 func(type_tag);
9681 } else {
9682 func(static_cast<premiumFeatureDisabledAds &>(*obj));
9683 }
9684 return true;
9685 case premiumFeatureUniqueReactions::ID:
9686 if constexpr (AllowTag) {
9687 downcast_call_tag<premiumFeatureUniqueReactions> type_tag;
9688 func(type_tag);
9689 } else {
9690 func(static_cast<premiumFeatureUniqueReactions &>(*obj));
9691 }
9692 return true;
9693 case premiumFeatureUniqueStickers::ID:
9694 if constexpr (AllowTag) {
9695 downcast_call_tag<premiumFeatureUniqueStickers> type_tag;
9696 func(type_tag);
9697 } else {
9698 func(static_cast<premiumFeatureUniqueStickers &>(*obj));
9699 }
9700 return true;
9701 case premiumFeatureCustomEmoji::ID:
9702 if constexpr (AllowTag) {
9703 downcast_call_tag<premiumFeatureCustomEmoji> type_tag;
9704 func(type_tag);
9705 } else {
9706 func(static_cast<premiumFeatureCustomEmoji &>(*obj));
9707 }
9708 return true;
9709 case premiumFeatureAdvancedChatManagement::ID:
9710 if constexpr (AllowTag) {
9711 downcast_call_tag<premiumFeatureAdvancedChatManagement> type_tag;
9712 func(type_tag);
9713 } else {
9714 func(static_cast<premiumFeatureAdvancedChatManagement &>(*obj));
9715 }
9716 return true;
9717 case premiumFeatureProfileBadge::ID:
9718 if constexpr (AllowTag) {
9719 downcast_call_tag<premiumFeatureProfileBadge> type_tag;
9720 func(type_tag);
9721 } else {
9722 func(static_cast<premiumFeatureProfileBadge &>(*obj));
9723 }
9724 return true;
9725 case premiumFeatureEmojiStatus::ID:
9726 if constexpr (AllowTag) {
9727 downcast_call_tag<premiumFeatureEmojiStatus> type_tag;
9728 func(type_tag);
9729 } else {
9730 func(static_cast<premiumFeatureEmojiStatus &>(*obj));
9731 }
9732 return true;
9733 case premiumFeatureAnimatedProfilePhoto::ID:
9734 if constexpr (AllowTag) {
9735 downcast_call_tag<premiumFeatureAnimatedProfilePhoto> type_tag;
9736 func(type_tag);
9737 } else {
9738 func(static_cast<premiumFeatureAnimatedProfilePhoto &>(*obj));
9739 }
9740 return true;
9741 case premiumFeatureForumTopicIcon::ID:
9742 if constexpr (AllowTag) {
9743 downcast_call_tag<premiumFeatureForumTopicIcon> type_tag;
9744 func(type_tag);
9745 } else {
9746 func(static_cast<premiumFeatureForumTopicIcon &>(*obj));
9747 }
9748 return true;
9749 case premiumFeatureAppIcons::ID:
9750 if constexpr (AllowTag) {
9751 downcast_call_tag<premiumFeatureAppIcons> type_tag;
9752 func(type_tag);
9753 } else {
9754 func(static_cast<premiumFeatureAppIcons &>(*obj));
9755 }
9756 return true;
9757 case premiumFeatureRealTimeChatTranslation::ID:
9758 if constexpr (AllowTag) {
9759 downcast_call_tag<premiumFeatureRealTimeChatTranslation> type_tag;
9760 func(type_tag);
9761 } else {
9762 func(static_cast<premiumFeatureRealTimeChatTranslation &>(*obj));
9763 }
9764 return true;
9765 case premiumFeatureUpgradedStories::ID:
9766 if constexpr (AllowTag) {
9767 downcast_call_tag<premiumFeatureUpgradedStories> type_tag;
9768 func(type_tag);
9769 } else {
9770 func(static_cast<premiumFeatureUpgradedStories &>(*obj));
9771 }
9772 return true;
9773 case premiumFeatureChatBoost::ID:
9774 if constexpr (AllowTag) {
9775 downcast_call_tag<premiumFeatureChatBoost> type_tag;
9776 func(type_tag);
9777 } else {
9778 func(static_cast<premiumFeatureChatBoost &>(*obj));
9779 }
9780 return true;
9781 case premiumFeatureAccentColor::ID:
9782 if constexpr (AllowTag) {
9783 downcast_call_tag<premiumFeatureAccentColor> type_tag;
9784 func(type_tag);
9785 } else {
9786 func(static_cast<premiumFeatureAccentColor &>(*obj));
9787 }
9788 return true;
9789 case premiumFeatureBackgroundForBoth::ID:
9790 if constexpr (AllowTag) {
9791 downcast_call_tag<premiumFeatureBackgroundForBoth> type_tag;
9792 func(type_tag);
9793 } else {
9794 func(static_cast<premiumFeatureBackgroundForBoth &>(*obj));
9795 }
9796 return true;
9797 case premiumFeatureSavedMessagesTags::ID:
9798 if constexpr (AllowTag) {
9799 downcast_call_tag<premiumFeatureSavedMessagesTags> type_tag;
9800 func(type_tag);
9801 } else {
9802 func(static_cast<premiumFeatureSavedMessagesTags &>(*obj));
9803 }
9804 return true;
9805 case premiumFeatureMessagePrivacy::ID:
9806 if constexpr (AllowTag) {
9807 downcast_call_tag<premiumFeatureMessagePrivacy> type_tag;
9808 func(type_tag);
9809 } else {
9810 func(static_cast<premiumFeatureMessagePrivacy &>(*obj));
9811 }
9812 return true;
9813 case premiumFeatureLastSeenTimes::ID:
9814 if constexpr (AllowTag) {
9815 downcast_call_tag<premiumFeatureLastSeenTimes> type_tag;
9816 func(type_tag);
9817 } else {
9818 func(static_cast<premiumFeatureLastSeenTimes &>(*obj));
9819 }
9820 return true;
9821 case premiumFeatureBusiness::ID:
9822 if constexpr (AllowTag) {
9823 downcast_call_tag<premiumFeatureBusiness> type_tag;
9824 func(type_tag);
9825 } else {
9826 func(static_cast<premiumFeatureBusiness &>(*obj));
9827 }
9828 return true;
9829 case premiumFeatureMessageEffects::ID:
9830 if constexpr (AllowTag) {
9831 downcast_call_tag<premiumFeatureMessageEffects> type_tag;
9832 func(type_tag);
9833 } else {
9834 func(static_cast<premiumFeatureMessageEffects &>(*obj));
9835 }
9836 return true;
9837 case premiumFeatureChecklists::ID:
9838 if constexpr (AllowTag) {
9839 downcast_call_tag<premiumFeatureChecklists> type_tag;
9840 func(type_tag);
9841 } else {
9842 func(static_cast<premiumFeatureChecklists &>(*obj));
9843 }
9844 return true;
9845 case premiumFeaturePaidMessages::ID:
9846 if constexpr (AllowTag) {
9847 downcast_call_tag<premiumFeaturePaidMessages> type_tag;
9848 func(type_tag);
9849 } else {
9850 func(static_cast<premiumFeaturePaidMessages &>(*obj));
9851 }
9852 return true;
9853 case premiumFeatureProtectPrivateChatContent::ID:
9854 if constexpr (AllowTag) {
9855 downcast_call_tag<premiumFeatureProtectPrivateChatContent> type_tag;
9856 func(type_tag);
9857 } else {
9858 func(static_cast<premiumFeatureProtectPrivateChatContent &>(*obj));
9859 }
9860 return true;
9861 case premiumFeatureTextComposition::ID:
9862 if constexpr (AllowTag) {
9863 downcast_call_tag<premiumFeatureTextComposition> type_tag;
9864 func(type_tag);
9865 } else {
9866 func(static_cast<premiumFeatureTextComposition &>(*obj));
9867 }
9868 return true;
9869 case premiumFeaturePromotionAnimation::ID:
9870 if constexpr (AllowTag) {
9871 downcast_call_tag<premiumFeaturePromotionAnimation> type_tag;
9872 func(type_tag);
9873 } else {
9874 func(static_cast<premiumFeaturePromotionAnimation &>(*obj));
9875 }
9876 return true;
9877 case premiumFeatures::ID:
9878 if constexpr (AllowTag) {
9879 downcast_call_tag<premiumFeatures> type_tag;
9880 func(type_tag);
9881 } else {
9882 func(static_cast<premiumFeatures &>(*obj));
9883 }
9884 return true;
9885 case premiumGiftCodeInfo::ID:
9886 if constexpr (AllowTag) {
9887 downcast_call_tag<premiumGiftCodeInfo> type_tag;
9888 func(type_tag);
9889 } else {
9890 func(static_cast<premiumGiftCodeInfo &>(*obj));
9891 }
9892 return true;
9893 case premiumGiftPaymentOption::ID:
9894 if constexpr (AllowTag) {
9895 downcast_call_tag<premiumGiftPaymentOption> type_tag;
9896 func(type_tag);
9897 } else {
9898 func(static_cast<premiumGiftPaymentOption &>(*obj));
9899 }
9900 return true;
9901 case premiumGiftPaymentOptions::ID:
9902 if constexpr (AllowTag) {
9903 downcast_call_tag<premiumGiftPaymentOptions> type_tag;
9904 func(type_tag);
9905 } else {
9906 func(static_cast<premiumGiftPaymentOptions &>(*obj));
9907 }
9908 return true;
9909 case premiumGiveawayPaymentOption::ID:
9910 if constexpr (AllowTag) {
9911 downcast_call_tag<premiumGiveawayPaymentOption> type_tag;
9912 func(type_tag);
9913 } else {
9914 func(static_cast<premiumGiveawayPaymentOption &>(*obj));
9915 }
9916 return true;
9917 case premiumGiveawayPaymentOptions::ID:
9918 if constexpr (AllowTag) {
9919 downcast_call_tag<premiumGiveawayPaymentOptions> type_tag;
9920 func(type_tag);
9921 } else {
9922 func(static_cast<premiumGiveawayPaymentOptions &>(*obj));
9923 }
9924 return true;
9925 case premiumLimit::ID:
9926 if constexpr (AllowTag) {
9927 downcast_call_tag<premiumLimit> type_tag;
9928 func(type_tag);
9929 } else {
9930 func(static_cast<premiumLimit &>(*obj));
9931 }
9932 return true;
9933 case premiumLimitTypeSupergroupCount::ID:
9934 if constexpr (AllowTag) {
9935 downcast_call_tag<premiumLimitTypeSupergroupCount> type_tag;
9936 func(type_tag);
9937 } else {
9938 func(static_cast<premiumLimitTypeSupergroupCount &>(*obj));
9939 }
9940 return true;
9941 case premiumLimitTypePinnedChatCount::ID:
9942 if constexpr (AllowTag) {
9943 downcast_call_tag<premiumLimitTypePinnedChatCount> type_tag;
9944 func(type_tag);
9945 } else {
9946 func(static_cast<premiumLimitTypePinnedChatCount &>(*obj));
9947 }
9948 return true;
9949 case premiumLimitTypeCreatedPublicChatCount::ID:
9950 if constexpr (AllowTag) {
9951 downcast_call_tag<premiumLimitTypeCreatedPublicChatCount> type_tag;
9952 func(type_tag);
9953 } else {
9954 func(static_cast<premiumLimitTypeCreatedPublicChatCount &>(*obj));
9955 }
9956 return true;
9957 case premiumLimitTypeSavedAnimationCount::ID:
9958 if constexpr (AllowTag) {
9959 downcast_call_tag<premiumLimitTypeSavedAnimationCount> type_tag;
9960 func(type_tag);
9961 } else {
9962 func(static_cast<premiumLimitTypeSavedAnimationCount &>(*obj));
9963 }
9964 return true;
9965 case premiumLimitTypeFavoriteStickerCount::ID:
9966 if constexpr (AllowTag) {
9967 downcast_call_tag<premiumLimitTypeFavoriteStickerCount> type_tag;
9968 func(type_tag);
9969 } else {
9970 func(static_cast<premiumLimitTypeFavoriteStickerCount &>(*obj));
9971 }
9972 return true;
9973 case premiumLimitTypeChatFolderCount::ID:
9974 if constexpr (AllowTag) {
9975 downcast_call_tag<premiumLimitTypeChatFolderCount> type_tag;
9976 func(type_tag);
9977 } else {
9978 func(static_cast<premiumLimitTypeChatFolderCount &>(*obj));
9979 }
9980 return true;
9981 case premiumLimitTypeChatFolderChosenChatCount::ID:
9982 if constexpr (AllowTag) {
9983 downcast_call_tag<premiumLimitTypeChatFolderChosenChatCount> type_tag;
9984 func(type_tag);
9985 } else {
9986 func(static_cast<premiumLimitTypeChatFolderChosenChatCount &>(*obj));
9987 }
9988 return true;
9989 case premiumLimitTypePinnedArchivedChatCount::ID:
9990 if constexpr (AllowTag) {
9991 downcast_call_tag<premiumLimitTypePinnedArchivedChatCount> type_tag;
9992 func(type_tag);
9993 } else {
9994 func(static_cast<premiumLimitTypePinnedArchivedChatCount &>(*obj));
9995 }
9996 return true;
9997 case premiumLimitTypePinnedSavedMessagesTopicCount::ID:
9998 if constexpr (AllowTag) {
9999 downcast_call_tag<premiumLimitTypePinnedSavedMessagesTopicCount> type_tag;
10000 func(type_tag);
10001 } else {
10002 func(static_cast<premiumLimitTypePinnedSavedMessagesTopicCount &>(*obj));
10003 }
10004 return true;
10005 case premiumLimitTypeCaptionLength::ID:
10006 if constexpr (AllowTag) {
10007 downcast_call_tag<premiumLimitTypeCaptionLength> type_tag;
10008 func(type_tag);
10009 } else {
10010 func(static_cast<premiumLimitTypeCaptionLength &>(*obj));
10011 }
10012 return true;
10013 case premiumLimitTypeBioLength::ID:
10014 if constexpr (AllowTag) {
10015 downcast_call_tag<premiumLimitTypeBioLength> type_tag;
10016 func(type_tag);
10017 } else {
10018 func(static_cast<premiumLimitTypeBioLength &>(*obj));
10019 }
10020 return true;
10021 case premiumLimitTypeChatFolderInviteLinkCount::ID:
10022 if constexpr (AllowTag) {
10023 downcast_call_tag<premiumLimitTypeChatFolderInviteLinkCount> type_tag;
10024 func(type_tag);
10025 } else {
10026 func(static_cast<premiumLimitTypeChatFolderInviteLinkCount &>(*obj));
10027 }
10028 return true;
10029 case premiumLimitTypeShareableChatFolderCount::ID:
10030 if constexpr (AllowTag) {
10031 downcast_call_tag<premiumLimitTypeShareableChatFolderCount> type_tag;
10032 func(type_tag);
10033 } else {
10034 func(static_cast<premiumLimitTypeShareableChatFolderCount &>(*obj));
10035 }
10036 return true;
10037 case premiumLimitTypeActiveStoryCount::ID:
10038 if constexpr (AllowTag) {
10039 downcast_call_tag<premiumLimitTypeActiveStoryCount> type_tag;
10040 func(type_tag);
10041 } else {
10042 func(static_cast<premiumLimitTypeActiveStoryCount &>(*obj));
10043 }
10044 return true;
10045 case premiumLimitTypeWeeklyPostedStoryCount::ID:
10046 if constexpr (AllowTag) {
10047 downcast_call_tag<premiumLimitTypeWeeklyPostedStoryCount> type_tag;
10048 func(type_tag);
10049 } else {
10050 func(static_cast<premiumLimitTypeWeeklyPostedStoryCount &>(*obj));
10051 }
10052 return true;
10053 case premiumLimitTypeMonthlyPostedStoryCount::ID:
10054 if constexpr (AllowTag) {
10055 downcast_call_tag<premiumLimitTypeMonthlyPostedStoryCount> type_tag;
10056 func(type_tag);
10057 } else {
10058 func(static_cast<premiumLimitTypeMonthlyPostedStoryCount &>(*obj));
10059 }
10060 return true;
10061 case premiumLimitTypeStoryCaptionLength::ID:
10062 if constexpr (AllowTag) {
10063 downcast_call_tag<premiumLimitTypeStoryCaptionLength> type_tag;
10064 func(type_tag);
10065 } else {
10066 func(static_cast<premiumLimitTypeStoryCaptionLength &>(*obj));
10067 }
10068 return true;
10069 case premiumLimitTypeStorySuggestedReactionAreaCount::ID:
10070 if constexpr (AllowTag) {
10071 downcast_call_tag<premiumLimitTypeStorySuggestedReactionAreaCount> type_tag;
10072 func(type_tag);
10073 } else {
10074 func(static_cast<premiumLimitTypeStorySuggestedReactionAreaCount &>(*obj));
10075 }
10076 return true;
10077 case premiumLimitTypeSimilarChatCount::ID:
10078 if constexpr (AllowTag) {
10079 downcast_call_tag<premiumLimitTypeSimilarChatCount> type_tag;
10080 func(type_tag);
10081 } else {
10082 func(static_cast<premiumLimitTypeSimilarChatCount &>(*obj));
10083 }
10084 return true;
10085 case premiumLimitTypeOwnedBotCount::ID:
10086 if constexpr (AllowTag) {
10087 downcast_call_tag<premiumLimitTypeOwnedBotCount> type_tag;
10088 func(type_tag);
10089 } else {
10090 func(static_cast<premiumLimitTypeOwnedBotCount &>(*obj));
10091 }
10092 return true;
10093 case premiumLimitTypeCustomTextCompositionStyleCount::ID:
10094 if constexpr (AllowTag) {
10095 downcast_call_tag<premiumLimitTypeCustomTextCompositionStyleCount> type_tag;
10096 func(type_tag);
10097 } else {
10098 func(static_cast<premiumLimitTypeCustomTextCompositionStyleCount &>(*obj));
10099 }
10100 return true;
10101 case premiumPaymentOption::ID:
10102 if constexpr (AllowTag) {
10103 downcast_call_tag<premiumPaymentOption> type_tag;
10104 func(type_tag);
10105 } else {
10106 func(static_cast<premiumPaymentOption &>(*obj));
10107 }
10108 return true;
10109 case premiumSourceLimitExceeded::ID:
10110 if constexpr (AllowTag) {
10111 downcast_call_tag<premiumSourceLimitExceeded> type_tag;
10112 func(type_tag);
10113 } else {
10114 func(static_cast<premiumSourceLimitExceeded &>(*obj));
10115 }
10116 return true;
10117 case premiumSourceFeature::ID:
10118 if constexpr (AllowTag) {
10119 downcast_call_tag<premiumSourceFeature> type_tag;
10120 func(type_tag);
10121 } else {
10122 func(static_cast<premiumSourceFeature &>(*obj));
10123 }
10124 return true;
10125 case premiumSourceBusinessFeature::ID:
10126 if constexpr (AllowTag) {
10127 downcast_call_tag<premiumSourceBusinessFeature> type_tag;
10128 func(type_tag);
10129 } else {
10130 func(static_cast<premiumSourceBusinessFeature &>(*obj));
10131 }
10132 return true;
10133 case premiumSourceStoryFeature::ID:
10134 if constexpr (AllowTag) {
10135 downcast_call_tag<premiumSourceStoryFeature> type_tag;
10136 func(type_tag);
10137 } else {
10138 func(static_cast<premiumSourceStoryFeature &>(*obj));
10139 }
10140 return true;
10141 case premiumSourceLink::ID:
10142 if constexpr (AllowTag) {
10143 downcast_call_tag<premiumSourceLink> type_tag;
10144 func(type_tag);
10145 } else {
10146 func(static_cast<premiumSourceLink &>(*obj));
10147 }
10148 return true;
10149 case premiumSourceSettings::ID:
10150 if constexpr (AllowTag) {
10151 downcast_call_tag<premiumSourceSettings> type_tag;
10152 func(type_tag);
10153 } else {
10154 func(static_cast<premiumSourceSettings &>(*obj));
10155 }
10156 return true;
10157 case premiumState::ID:
10158 if constexpr (AllowTag) {
10159 downcast_call_tag<premiumState> type_tag;
10160 func(type_tag);
10161 } else {
10162 func(static_cast<premiumState &>(*obj));
10163 }
10164 return true;
10165 case premiumStatePaymentOption::ID:
10166 if constexpr (AllowTag) {
10167 downcast_call_tag<premiumStatePaymentOption> type_tag;
10168 func(type_tag);
10169 } else {
10170 func(static_cast<premiumStatePaymentOption &>(*obj));
10171 }
10172 return true;
10173 case premiumStoryFeaturePriorityOrder::ID:
10174 if constexpr (AllowTag) {
10175 downcast_call_tag<premiumStoryFeaturePriorityOrder> type_tag;
10176 func(type_tag);
10177 } else {
10178 func(static_cast<premiumStoryFeaturePriorityOrder &>(*obj));
10179 }
10180 return true;
10181 case premiumStoryFeatureStealthMode::ID:
10182 if constexpr (AllowTag) {
10183 downcast_call_tag<premiumStoryFeatureStealthMode> type_tag;
10184 func(type_tag);
10185 } else {
10186 func(static_cast<premiumStoryFeatureStealthMode &>(*obj));
10187 }
10188 return true;
10189 case premiumStoryFeaturePermanentViewsHistory::ID:
10190 if constexpr (AllowTag) {
10191 downcast_call_tag<premiumStoryFeaturePermanentViewsHistory> type_tag;
10192 func(type_tag);
10193 } else {
10194 func(static_cast<premiumStoryFeaturePermanentViewsHistory &>(*obj));
10195 }
10196 return true;
10197 case premiumStoryFeatureCustomExpirationDuration::ID:
10198 if constexpr (AllowTag) {
10199 downcast_call_tag<premiumStoryFeatureCustomExpirationDuration> type_tag;
10200 func(type_tag);
10201 } else {
10202 func(static_cast<premiumStoryFeatureCustomExpirationDuration &>(*obj));
10203 }
10204 return true;
10205 case premiumStoryFeatureSaveStories::ID:
10206 if constexpr (AllowTag) {
10207 downcast_call_tag<premiumStoryFeatureSaveStories> type_tag;
10208 func(type_tag);
10209 } else {
10210 func(static_cast<premiumStoryFeatureSaveStories &>(*obj));
10211 }
10212 return true;
10213 case premiumStoryFeatureLinksAndFormatting::ID:
10214 if constexpr (AllowTag) {
10215 downcast_call_tag<premiumStoryFeatureLinksAndFormatting> type_tag;
10216 func(type_tag);
10217 } else {
10218 func(static_cast<premiumStoryFeatureLinksAndFormatting &>(*obj));
10219 }
10220 return true;
10221 case premiumStoryFeatureVideoQuality::ID:
10222 if constexpr (AllowTag) {
10223 downcast_call_tag<premiumStoryFeatureVideoQuality> type_tag;
10224 func(type_tag);
10225 } else {
10226 func(static_cast<premiumStoryFeatureVideoQuality &>(*obj));
10227 }
10228 return true;
10229 case prepaidGiveaway::ID:
10230 if constexpr (AllowTag) {
10231 downcast_call_tag<prepaidGiveaway> type_tag;
10232 func(type_tag);
10233 } else {
10234 func(static_cast<prepaidGiveaway &>(*obj));
10235 }
10236 return true;
10237 case preparedInlineMessage::ID:
10238 if constexpr (AllowTag) {
10239 downcast_call_tag<preparedInlineMessage> type_tag;
10240 func(type_tag);
10241 } else {
10242 func(static_cast<preparedInlineMessage &>(*obj));
10243 }
10244 return true;
10245 case preparedInlineMessageId::ID:
10246 if constexpr (AllowTag) {
10247 downcast_call_tag<preparedInlineMessageId> type_tag;
10248 func(type_tag);
10249 } else {
10250 func(static_cast<preparedInlineMessageId &>(*obj));
10251 }
10252 return true;
10253 case productInfo::ID:
10254 if constexpr (AllowTag) {
10255 downcast_call_tag<productInfo> type_tag;
10256 func(type_tag);
10257 } else {
10258 func(static_cast<productInfo &>(*obj));
10259 }
10260 return true;
10261 case profileAccentColor::ID:
10262 if constexpr (AllowTag) {
10263 downcast_call_tag<profileAccentColor> type_tag;
10264 func(type_tag);
10265 } else {
10266 func(static_cast<profileAccentColor &>(*obj));
10267 }
10268 return true;
10269 case profileAccentColors::ID:
10270 if constexpr (AllowTag) {
10271 downcast_call_tag<profileAccentColors> type_tag;
10272 func(type_tag);
10273 } else {
10274 func(static_cast<profileAccentColors &>(*obj));
10275 }
10276 return true;
10277 case profilePhoto::ID:
10278 if constexpr (AllowTag) {
10279 downcast_call_tag<profilePhoto> type_tag;
10280 func(type_tag);
10281 } else {
10282 func(static_cast<profilePhoto &>(*obj));
10283 }
10284 return true;
10285 case profileTabPosts::ID:
10286 if constexpr (AllowTag) {
10287 downcast_call_tag<profileTabPosts> type_tag;
10288 func(type_tag);
10289 } else {
10290 func(static_cast<profileTabPosts &>(*obj));
10291 }
10292 return true;
10293 case profileTabGifts::ID:
10294 if constexpr (AllowTag) {
10295 downcast_call_tag<profileTabGifts> type_tag;
10296 func(type_tag);
10297 } else {
10298 func(static_cast<profileTabGifts &>(*obj));
10299 }
10300 return true;
10301 case profileTabMedia::ID:
10302 if constexpr (AllowTag) {
10303 downcast_call_tag<profileTabMedia> type_tag;
10304 func(type_tag);
10305 } else {
10306 func(static_cast<profileTabMedia &>(*obj));
10307 }
10308 return true;
10309 case profileTabFiles::ID:
10310 if constexpr (AllowTag) {
10311 downcast_call_tag<profileTabFiles> type_tag;
10312 func(type_tag);
10313 } else {
10314 func(static_cast<profileTabFiles &>(*obj));
10315 }
10316 return true;
10317 case profileTabLinks::ID:
10318 if constexpr (AllowTag) {
10319 downcast_call_tag<profileTabLinks> type_tag;
10320 func(type_tag);
10321 } else {
10322 func(static_cast<profileTabLinks &>(*obj));
10323 }
10324 return true;
10325 case profileTabMusic::ID:
10326 if constexpr (AllowTag) {
10327 downcast_call_tag<profileTabMusic> type_tag;
10328 func(type_tag);
10329 } else {
10330 func(static_cast<profileTabMusic &>(*obj));
10331 }
10332 return true;
10333 case profileTabVoice::ID:
10334 if constexpr (AllowTag) {
10335 downcast_call_tag<profileTabVoice> type_tag;
10336 func(type_tag);
10337 } else {
10338 func(static_cast<profileTabVoice &>(*obj));
10339 }
10340 return true;
10341 case profileTabGifs::ID:
10342 if constexpr (AllowTag) {
10343 downcast_call_tag<profileTabGifs> type_tag;
10344 func(type_tag);
10345 } else {
10346 func(static_cast<profileTabGifs &>(*obj));
10347 }
10348 return true;
10349 case proxy::ID:
10350 if constexpr (AllowTag) {
10351 downcast_call_tag<proxy> type_tag;
10352 func(type_tag);
10353 } else {
10354 func(static_cast<proxy &>(*obj));
10355 }
10356 return true;
10357 case proxyTypeSocks5::ID:
10358 if constexpr (AllowTag) {
10359 downcast_call_tag<proxyTypeSocks5> type_tag;
10360 func(type_tag);
10361 } else {
10362 func(static_cast<proxyTypeSocks5 &>(*obj));
10363 }
10364 return true;
10365 case proxyTypeHttp::ID:
10366 if constexpr (AllowTag) {
10367 downcast_call_tag<proxyTypeHttp> type_tag;
10368 func(type_tag);
10369 } else {
10370 func(static_cast<proxyTypeHttp &>(*obj));
10371 }
10372 return true;
10373 case proxyTypeMtproto::ID:
10374 if constexpr (AllowTag) {
10375 downcast_call_tag<proxyTypeMtproto> type_tag;
10376 func(type_tag);
10377 } else {
10378 func(static_cast<proxyTypeMtproto &>(*obj));
10379 }
10380 return true;
10381 case publicChatTypeHasUsername::ID:
10382 if constexpr (AllowTag) {
10383 downcast_call_tag<publicChatTypeHasUsername> type_tag;
10384 func(type_tag);
10385 } else {
10386 func(static_cast<publicChatTypeHasUsername &>(*obj));
10387 }
10388 return true;
10389 case publicChatTypeIsLocationBased::ID:
10390 if constexpr (AllowTag) {
10391 downcast_call_tag<publicChatTypeIsLocationBased> type_tag;
10392 func(type_tag);
10393 } else {
10394 func(static_cast<publicChatTypeIsLocationBased &>(*obj));
10395 }
10396 return true;
10397 case publicForwardMessage::ID:
10398 if constexpr (AllowTag) {
10399 downcast_call_tag<publicForwardMessage> type_tag;
10400 func(type_tag);
10401 } else {
10402 func(static_cast<publicForwardMessage &>(*obj));
10403 }
10404 return true;
10405 case publicForwardStory::ID:
10406 if constexpr (AllowTag) {
10407 downcast_call_tag<publicForwardStory> type_tag;
10408 func(type_tag);
10409 } else {
10410 func(static_cast<publicForwardStory &>(*obj));
10411 }
10412 return true;
10413 case publicForwards::ID:
10414 if constexpr (AllowTag) {
10415 downcast_call_tag<publicForwards> type_tag;
10416 func(type_tag);
10417 } else {
10418 func(static_cast<publicForwards &>(*obj));
10419 }
10420 return true;
10421 case publicPostSearchLimits::ID:
10422 if constexpr (AllowTag) {
10423 downcast_call_tag<publicPostSearchLimits> type_tag;
10424 func(type_tag);
10425 } else {
10426 func(static_cast<publicPostSearchLimits &>(*obj));
10427 }
10428 return true;
10429 case pushMessageContentHidden::ID:
10430 if constexpr (AllowTag) {
10431 downcast_call_tag<pushMessageContentHidden> type_tag;
10432 func(type_tag);
10433 } else {
10434 func(static_cast<pushMessageContentHidden &>(*obj));
10435 }
10436 return true;
10437 case pushMessageContentAnimation::ID:
10438 if constexpr (AllowTag) {
10439 downcast_call_tag<pushMessageContentAnimation> type_tag;
10440 func(type_tag);
10441 } else {
10442 func(static_cast<pushMessageContentAnimation &>(*obj));
10443 }
10444 return true;
10445 case pushMessageContentAudio::ID:
10446 if constexpr (AllowTag) {
10447 downcast_call_tag<pushMessageContentAudio> type_tag;
10448 func(type_tag);
10449 } else {
10450 func(static_cast<pushMessageContentAudio &>(*obj));
10451 }
10452 return true;
10453 case pushMessageContentContact::ID:
10454 if constexpr (AllowTag) {
10455 downcast_call_tag<pushMessageContentContact> type_tag;
10456 func(type_tag);
10457 } else {
10458 func(static_cast<pushMessageContentContact &>(*obj));
10459 }
10460 return true;
10461 case pushMessageContentContactRegistered::ID:
10462 if constexpr (AllowTag) {
10463 downcast_call_tag<pushMessageContentContactRegistered> type_tag;
10464 func(type_tag);
10465 } else {
10466 func(static_cast<pushMessageContentContactRegistered &>(*obj));
10467 }
10468 return true;
10469 case pushMessageContentDocument::ID:
10470 if constexpr (AllowTag) {
10471 downcast_call_tag<pushMessageContentDocument> type_tag;
10472 func(type_tag);
10473 } else {
10474 func(static_cast<pushMessageContentDocument &>(*obj));
10475 }
10476 return true;
10477 case pushMessageContentGame::ID:
10478 if constexpr (AllowTag) {
10479 downcast_call_tag<pushMessageContentGame> type_tag;
10480 func(type_tag);
10481 } else {
10482 func(static_cast<pushMessageContentGame &>(*obj));
10483 }
10484 return true;
10485 case pushMessageContentGameScore::ID:
10486 if constexpr (AllowTag) {
10487 downcast_call_tag<pushMessageContentGameScore> type_tag;
10488 func(type_tag);
10489 } else {
10490 func(static_cast<pushMessageContentGameScore &>(*obj));
10491 }
10492 return true;
10493 case pushMessageContentInvoice::ID:
10494 if constexpr (AllowTag) {
10495 downcast_call_tag<pushMessageContentInvoice> type_tag;
10496 func(type_tag);
10497 } else {
10498 func(static_cast<pushMessageContentInvoice &>(*obj));
10499 }
10500 return true;
10501 case pushMessageContentLocation::ID:
10502 if constexpr (AllowTag) {
10503 downcast_call_tag<pushMessageContentLocation> type_tag;
10504 func(type_tag);
10505 } else {
10506 func(static_cast<pushMessageContentLocation &>(*obj));
10507 }
10508 return true;
10509 case pushMessageContentPaidMedia::ID:
10510 if constexpr (AllowTag) {
10511 downcast_call_tag<pushMessageContentPaidMedia> type_tag;
10512 func(type_tag);
10513 } else {
10514 func(static_cast<pushMessageContentPaidMedia &>(*obj));
10515 }
10516 return true;
10517 case pushMessageContentPhoto::ID:
10518 if constexpr (AllowTag) {
10519 downcast_call_tag<pushMessageContentPhoto> type_tag;
10520 func(type_tag);
10521 } else {
10522 func(static_cast<pushMessageContentPhoto &>(*obj));
10523 }
10524 return true;
10525 case pushMessageContentPoll::ID:
10526 if constexpr (AllowTag) {
10527 downcast_call_tag<pushMessageContentPoll> type_tag;
10528 func(type_tag);
10529 } else {
10530 func(static_cast<pushMessageContentPoll &>(*obj));
10531 }
10532 return true;
10533 case pushMessageContentPremiumGiftCode::ID:
10534 if constexpr (AllowTag) {
10535 downcast_call_tag<pushMessageContentPremiumGiftCode> type_tag;
10536 func(type_tag);
10537 } else {
10538 func(static_cast<pushMessageContentPremiumGiftCode &>(*obj));
10539 }
10540 return true;
10541 case pushMessageContentGiveaway::ID:
10542 if constexpr (AllowTag) {
10543 downcast_call_tag<pushMessageContentGiveaway> type_tag;
10544 func(type_tag);
10545 } else {
10546 func(static_cast<pushMessageContentGiveaway &>(*obj));
10547 }
10548 return true;
10549 case pushMessageContentGift::ID:
10550 if constexpr (AllowTag) {
10551 downcast_call_tag<pushMessageContentGift> type_tag;
10552 func(type_tag);
10553 } else {
10554 func(static_cast<pushMessageContentGift &>(*obj));
10555 }
10556 return true;
10557 case pushMessageContentUpgradedGift::ID:
10558 if constexpr (AllowTag) {
10559 downcast_call_tag<pushMessageContentUpgradedGift> type_tag;
10560 func(type_tag);
10561 } else {
10562 func(static_cast<pushMessageContentUpgradedGift &>(*obj));
10563 }
10564 return true;
10565 case pushMessageContentScreenshotTaken::ID:
10566 if constexpr (AllowTag) {
10567 downcast_call_tag<pushMessageContentScreenshotTaken> type_tag;
10568 func(type_tag);
10569 } else {
10570 func(static_cast<pushMessageContentScreenshotTaken &>(*obj));
10571 }
10572 return true;
10573 case pushMessageContentSticker::ID:
10574 if constexpr (AllowTag) {
10575 downcast_call_tag<pushMessageContentSticker> type_tag;
10576 func(type_tag);
10577 } else {
10578 func(static_cast<pushMessageContentSticker &>(*obj));
10579 }
10580 return true;
10581 case pushMessageContentStory::ID:
10582 if constexpr (AllowTag) {
10583 downcast_call_tag<pushMessageContentStory> type_tag;
10584 func(type_tag);
10585 } else {
10586 func(static_cast<pushMessageContentStory &>(*obj));
10587 }
10588 return true;
10589 case pushMessageContentText::ID:
10590 if constexpr (AllowTag) {
10591 downcast_call_tag<pushMessageContentText> type_tag;
10592 func(type_tag);
10593 } else {
10594 func(static_cast<pushMessageContentText &>(*obj));
10595 }
10596 return true;
10597 case pushMessageContentChecklist::ID:
10598 if constexpr (AllowTag) {
10599 downcast_call_tag<pushMessageContentChecklist> type_tag;
10600 func(type_tag);
10601 } else {
10602 func(static_cast<pushMessageContentChecklist &>(*obj));
10603 }
10604 return true;
10605 case pushMessageContentVideo::ID:
10606 if constexpr (AllowTag) {
10607 downcast_call_tag<pushMessageContentVideo> type_tag;
10608 func(type_tag);
10609 } else {
10610 func(static_cast<pushMessageContentVideo &>(*obj));
10611 }
10612 return true;
10613 case pushMessageContentVideoNote::ID:
10614 if constexpr (AllowTag) {
10615 downcast_call_tag<pushMessageContentVideoNote> type_tag;
10616 func(type_tag);
10617 } else {
10618 func(static_cast<pushMessageContentVideoNote &>(*obj));
10619 }
10620 return true;
10621 case pushMessageContentVoiceNote::ID:
10622 if constexpr (AllowTag) {
10623 downcast_call_tag<pushMessageContentVoiceNote> type_tag;
10624 func(type_tag);
10625 } else {
10626 func(static_cast<pushMessageContentVoiceNote &>(*obj));
10627 }
10628 return true;
10629 case pushMessageContentBasicGroupChatCreate::ID:
10630 if constexpr (AllowTag) {
10631 downcast_call_tag<pushMessageContentBasicGroupChatCreate> type_tag;
10632 func(type_tag);
10633 } else {
10634 func(static_cast<pushMessageContentBasicGroupChatCreate &>(*obj));
10635 }
10636 return true;
10637 case pushMessageContentVideoChatStarted::ID:
10638 if constexpr (AllowTag) {
10639 downcast_call_tag<pushMessageContentVideoChatStarted> type_tag;
10640 func(type_tag);
10641 } else {
10642 func(static_cast<pushMessageContentVideoChatStarted &>(*obj));
10643 }
10644 return true;
10645 case pushMessageContentVideoChatEnded::ID:
10646 if constexpr (AllowTag) {
10647 downcast_call_tag<pushMessageContentVideoChatEnded> type_tag;
10648 func(type_tag);
10649 } else {
10650 func(static_cast<pushMessageContentVideoChatEnded &>(*obj));
10651 }
10652 return true;
10653 case pushMessageContentInviteVideoChatParticipants::ID:
10654 if constexpr (AllowTag) {
10655 downcast_call_tag<pushMessageContentInviteVideoChatParticipants> type_tag;
10656 func(type_tag);
10657 } else {
10658 func(static_cast<pushMessageContentInviteVideoChatParticipants &>(*obj));
10659 }
10660 return true;
10661 case pushMessageContentChatAddMembers::ID:
10662 if constexpr (AllowTag) {
10663 downcast_call_tag<pushMessageContentChatAddMembers> type_tag;
10664 func(type_tag);
10665 } else {
10666 func(static_cast<pushMessageContentChatAddMembers &>(*obj));
10667 }
10668 return true;
10669 case pushMessageContentChatChangePhoto::ID:
10670 if constexpr (AllowTag) {
10671 downcast_call_tag<pushMessageContentChatChangePhoto> type_tag;
10672 func(type_tag);
10673 } else {
10674 func(static_cast<pushMessageContentChatChangePhoto &>(*obj));
10675 }
10676 return true;
10677 case pushMessageContentChatChangeTitle::ID:
10678 if constexpr (AllowTag) {
10679 downcast_call_tag<pushMessageContentChatChangeTitle> type_tag;
10680 func(type_tag);
10681 } else {
10682 func(static_cast<pushMessageContentChatChangeTitle &>(*obj));
10683 }
10684 return true;
10685 case pushMessageContentChatSetBackground::ID:
10686 if constexpr (AllowTag) {
10687 downcast_call_tag<pushMessageContentChatSetBackground> type_tag;
10688 func(type_tag);
10689 } else {
10690 func(static_cast<pushMessageContentChatSetBackground &>(*obj));
10691 }
10692 return true;
10693 case pushMessageContentChatSetTheme::ID:
10694 if constexpr (AllowTag) {
10695 downcast_call_tag<pushMessageContentChatSetTheme> type_tag;
10696 func(type_tag);
10697 } else {
10698 func(static_cast<pushMessageContentChatSetTheme &>(*obj));
10699 }
10700 return true;
10701 case pushMessageContentChatDeleteMember::ID:
10702 if constexpr (AllowTag) {
10703 downcast_call_tag<pushMessageContentChatDeleteMember> type_tag;
10704 func(type_tag);
10705 } else {
10706 func(static_cast<pushMessageContentChatDeleteMember &>(*obj));
10707 }
10708 return true;
10709 case pushMessageContentChatJoinByLink::ID:
10710 if constexpr (AllowTag) {
10711 downcast_call_tag<pushMessageContentChatJoinByLink> type_tag;
10712 func(type_tag);
10713 } else {
10714 func(static_cast<pushMessageContentChatJoinByLink &>(*obj));
10715 }
10716 return true;
10717 case pushMessageContentChatJoinByRequest::ID:
10718 if constexpr (AllowTag) {
10719 downcast_call_tag<pushMessageContentChatJoinByRequest> type_tag;
10720 func(type_tag);
10721 } else {
10722 func(static_cast<pushMessageContentChatJoinByRequest &>(*obj));
10723 }
10724 return true;
10725 case pushMessageContentRecurringPayment::ID:
10726 if constexpr (AllowTag) {
10727 downcast_call_tag<pushMessageContentRecurringPayment> type_tag;
10728 func(type_tag);
10729 } else {
10730 func(static_cast<pushMessageContentRecurringPayment &>(*obj));
10731 }
10732 return true;
10733 case pushMessageContentSuggestProfilePhoto::ID:
10734 if constexpr (AllowTag) {
10735 downcast_call_tag<pushMessageContentSuggestProfilePhoto> type_tag;
10736 func(type_tag);
10737 } else {
10738 func(static_cast<pushMessageContentSuggestProfilePhoto &>(*obj));
10739 }
10740 return true;
10741 case pushMessageContentSuggestBirthdate::ID:
10742 if constexpr (AllowTag) {
10743 downcast_call_tag<pushMessageContentSuggestBirthdate> type_tag;
10744 func(type_tag);
10745 } else {
10746 func(static_cast<pushMessageContentSuggestBirthdate &>(*obj));
10747 }
10748 return true;
10749 case pushMessageContentProximityAlertTriggered::ID:
10750 if constexpr (AllowTag) {
10751 downcast_call_tag<pushMessageContentProximityAlertTriggered> type_tag;
10752 func(type_tag);
10753 } else {
10754 func(static_cast<pushMessageContentProximityAlertTriggered &>(*obj));
10755 }
10756 return true;
10757 case pushMessageContentChecklistTasksAdded::ID:
10758 if constexpr (AllowTag) {
10759 downcast_call_tag<pushMessageContentChecklistTasksAdded> type_tag;
10760 func(type_tag);
10761 } else {
10762 func(static_cast<pushMessageContentChecklistTasksAdded &>(*obj));
10763 }
10764 return true;
10765 case pushMessageContentChecklistTasksDone::ID:
10766 if constexpr (AllowTag) {
10767 downcast_call_tag<pushMessageContentChecklistTasksDone> type_tag;
10768 func(type_tag);
10769 } else {
10770 func(static_cast<pushMessageContentChecklistTasksDone &>(*obj));
10771 }
10772 return true;
10773 case pushMessageContentPollOptionAdded::ID:
10774 if constexpr (AllowTag) {
10775 downcast_call_tag<pushMessageContentPollOptionAdded> type_tag;
10776 func(type_tag);
10777 } else {
10778 func(static_cast<pushMessageContentPollOptionAdded &>(*obj));
10779 }
10780 return true;
10781 case pushMessageContentMessageForwards::ID:
10782 if constexpr (AllowTag) {
10783 downcast_call_tag<pushMessageContentMessageForwards> type_tag;
10784 func(type_tag);
10785 } else {
10786 func(static_cast<pushMessageContentMessageForwards &>(*obj));
10787 }
10788 return true;
10789 case pushMessageContentMediaAlbum::ID:
10790 if constexpr (AllowTag) {
10791 downcast_call_tag<pushMessageContentMediaAlbum> type_tag;
10792 func(type_tag);
10793 } else {
10794 func(static_cast<pushMessageContentMediaAlbum &>(*obj));
10795 }
10796 return true;
10797 case pushReceiverId::ID:
10798 if constexpr (AllowTag) {
10799 downcast_call_tag<pushReceiverId> type_tag;
10800 func(type_tag);
10801 } else {
10802 func(static_cast<pushReceiverId &>(*obj));
10803 }
10804 return true;
10805 case quickReplyMessage::ID:
10806 if constexpr (AllowTag) {
10807 downcast_call_tag<quickReplyMessage> type_tag;
10808 func(type_tag);
10809 } else {
10810 func(static_cast<quickReplyMessage &>(*obj));
10811 }
10812 return true;
10813 case quickReplyMessages::ID:
10814 if constexpr (AllowTag) {
10815 downcast_call_tag<quickReplyMessages> type_tag;
10816 func(type_tag);
10817 } else {
10818 func(static_cast<quickReplyMessages &>(*obj));
10819 }
10820 return true;
10821 case quickReplyShortcut::ID:
10822 if constexpr (AllowTag) {
10823 downcast_call_tag<quickReplyShortcut> type_tag;
10824 func(type_tag);
10825 } else {
10826 func(static_cast<quickReplyShortcut &>(*obj));
10827 }
10828 return true;
10829 case reactionNotificationSettings::ID:
10830 if constexpr (AllowTag) {
10831 downcast_call_tag<reactionNotificationSettings> type_tag;
10832 func(type_tag);
10833 } else {
10834 func(static_cast<reactionNotificationSettings &>(*obj));
10835 }
10836 return true;
10837 case reactionNotificationSourceNone::ID:
10838 if constexpr (AllowTag) {
10839 downcast_call_tag<reactionNotificationSourceNone> type_tag;
10840 func(type_tag);
10841 } else {
10842 func(static_cast<reactionNotificationSourceNone &>(*obj));
10843 }
10844 return true;
10845 case reactionNotificationSourceContacts::ID:
10846 if constexpr (AllowTag) {
10847 downcast_call_tag<reactionNotificationSourceContacts> type_tag;
10848 func(type_tag);
10849 } else {
10850 func(static_cast<reactionNotificationSourceContacts &>(*obj));
10851 }
10852 return true;
10853 case reactionNotificationSourceAll::ID:
10854 if constexpr (AllowTag) {
10855 downcast_call_tag<reactionNotificationSourceAll> type_tag;
10856 func(type_tag);
10857 } else {
10858 func(static_cast<reactionNotificationSourceAll &>(*obj));
10859 }
10860 return true;
10861 case reactionTypeEmoji::ID:
10862 if constexpr (AllowTag) {
10863 downcast_call_tag<reactionTypeEmoji> type_tag;
10864 func(type_tag);
10865 } else {
10866 func(static_cast<reactionTypeEmoji &>(*obj));
10867 }
10868 return true;
10869 case reactionTypeCustomEmoji::ID:
10870 if constexpr (AllowTag) {
10871 downcast_call_tag<reactionTypeCustomEmoji> type_tag;
10872 func(type_tag);
10873 } else {
10874 func(static_cast<reactionTypeCustomEmoji &>(*obj));
10875 }
10876 return true;
10877 case reactionTypePaid::ID:
10878 if constexpr (AllowTag) {
10879 downcast_call_tag<reactionTypePaid> type_tag;
10880 func(type_tag);
10881 } else {
10882 func(static_cast<reactionTypePaid &>(*obj));
10883 }
10884 return true;
10885 case reactionUnavailabilityReasonAnonymousAdministrator::ID:
10886 if constexpr (AllowTag) {
10887 downcast_call_tag<reactionUnavailabilityReasonAnonymousAdministrator> type_tag;
10888 func(type_tag);
10889 } else {
10890 func(static_cast<reactionUnavailabilityReasonAnonymousAdministrator &>(*obj));
10891 }
10892 return true;
10893 case reactionUnavailabilityReasonGuest::ID:
10894 if constexpr (AllowTag) {
10895 downcast_call_tag<reactionUnavailabilityReasonGuest> type_tag;
10896 func(type_tag);
10897 } else {
10898 func(static_cast<reactionUnavailabilityReasonGuest &>(*obj));
10899 }
10900 return true;
10901 case readDatePrivacySettings::ID:
10902 if constexpr (AllowTag) {
10903 downcast_call_tag<readDatePrivacySettings> type_tag;
10904 func(type_tag);
10905 } else {
10906 func(static_cast<readDatePrivacySettings &>(*obj));
10907 }
10908 return true;
10909 case receivedGift::ID:
10910 if constexpr (AllowTag) {
10911 downcast_call_tag<receivedGift> type_tag;
10912 func(type_tag);
10913 } else {
10914 func(static_cast<receivedGift &>(*obj));
10915 }
10916 return true;
10917 case receivedGifts::ID:
10918 if constexpr (AllowTag) {
10919 downcast_call_tag<receivedGifts> type_tag;
10920 func(type_tag);
10921 } else {
10922 func(static_cast<receivedGifts &>(*obj));
10923 }
10924 return true;
10925 case recommendedChatFolder::ID:
10926 if constexpr (AllowTag) {
10927 downcast_call_tag<recommendedChatFolder> type_tag;
10928 func(type_tag);
10929 } else {
10930 func(static_cast<recommendedChatFolder &>(*obj));
10931 }
10932 return true;
10933 case recommendedChatFolders::ID:
10934 if constexpr (AllowTag) {
10935 downcast_call_tag<recommendedChatFolders> type_tag;
10936 func(type_tag);
10937 } else {
10938 func(static_cast<recommendedChatFolders &>(*obj));
10939 }
10940 return true;
10941 case recoveryEmailAddress::ID:
10942 if constexpr (AllowTag) {
10943 downcast_call_tag<recoveryEmailAddress> type_tag;
10944 func(type_tag);
10945 } else {
10946 func(static_cast<recoveryEmailAddress &>(*obj));
10947 }
10948 return true;
10949 case remoteFile::ID:
10950 if constexpr (AllowTag) {
10951 downcast_call_tag<remoteFile> type_tag;
10952 func(type_tag);
10953 } else {
10954 func(static_cast<remoteFile &>(*obj));
10955 }
10956 return true;
10957 case replyMarkupRemoveKeyboard::ID:
10958 if constexpr (AllowTag) {
10959 downcast_call_tag<replyMarkupRemoveKeyboard> type_tag;
10960 func(type_tag);
10961 } else {
10962 func(static_cast<replyMarkupRemoveKeyboard &>(*obj));
10963 }
10964 return true;
10965 case replyMarkupForceReply::ID:
10966 if constexpr (AllowTag) {
10967 downcast_call_tag<replyMarkupForceReply> type_tag;
10968 func(type_tag);
10969 } else {
10970 func(static_cast<replyMarkupForceReply &>(*obj));
10971 }
10972 return true;
10973 case replyMarkupShowKeyboard::ID:
10974 if constexpr (AllowTag) {
10975 downcast_call_tag<replyMarkupShowKeyboard> type_tag;
10976 func(type_tag);
10977 } else {
10978 func(static_cast<replyMarkupShowKeyboard &>(*obj));
10979 }
10980 return true;
10981 case replyMarkupInlineKeyboard::ID:
10982 if constexpr (AllowTag) {
10983 downcast_call_tag<replyMarkupInlineKeyboard> type_tag;
10984 func(type_tag);
10985 } else {
10986 func(static_cast<replyMarkupInlineKeyboard &>(*obj));
10987 }
10988 return true;
10989 case reportChatResultOk::ID:
10990 if constexpr (AllowTag) {
10991 downcast_call_tag<reportChatResultOk> type_tag;
10992 func(type_tag);
10993 } else {
10994 func(static_cast<reportChatResultOk &>(*obj));
10995 }
10996 return true;
10997 case reportChatResultOptionRequired::ID:
10998 if constexpr (AllowTag) {
10999 downcast_call_tag<reportChatResultOptionRequired> type_tag;
11000 func(type_tag);
11001 } else {
11002 func(static_cast<reportChatResultOptionRequired &>(*obj));
11003 }
11004 return true;
11005 case reportChatResultTextRequired::ID:
11006 if constexpr (AllowTag) {
11007 downcast_call_tag<reportChatResultTextRequired> type_tag;
11008 func(type_tag);
11009 } else {
11010 func(static_cast<reportChatResultTextRequired &>(*obj));
11011 }
11012 return true;
11013 case reportChatResultMessagesRequired::ID:
11014 if constexpr (AllowTag) {
11015 downcast_call_tag<reportChatResultMessagesRequired> type_tag;
11016 func(type_tag);
11017 } else {
11018 func(static_cast<reportChatResultMessagesRequired &>(*obj));
11019 }
11020 return true;
11021 case reportOption::ID:
11022 if constexpr (AllowTag) {
11023 downcast_call_tag<reportOption> type_tag;
11024 func(type_tag);
11025 } else {
11026 func(static_cast<reportOption &>(*obj));
11027 }
11028 return true;
11029 case reportReasonSpam::ID:
11030 if constexpr (AllowTag) {
11031 downcast_call_tag<reportReasonSpam> type_tag;
11032 func(type_tag);
11033 } else {
11034 func(static_cast<reportReasonSpam &>(*obj));
11035 }
11036 return true;
11037 case reportReasonViolence::ID:
11038 if constexpr (AllowTag) {
11039 downcast_call_tag<reportReasonViolence> type_tag;
11040 func(type_tag);
11041 } else {
11042 func(static_cast<reportReasonViolence &>(*obj));
11043 }
11044 return true;
11045 case reportReasonPornography::ID:
11046 if constexpr (AllowTag) {
11047 downcast_call_tag<reportReasonPornography> type_tag;
11048 func(type_tag);
11049 } else {
11050 func(static_cast<reportReasonPornography &>(*obj));
11051 }
11052 return true;
11053 case reportReasonChildAbuse::ID:
11054 if constexpr (AllowTag) {
11055 downcast_call_tag<reportReasonChildAbuse> type_tag;
11056 func(type_tag);
11057 } else {
11058 func(static_cast<reportReasonChildAbuse &>(*obj));
11059 }
11060 return true;
11061 case reportReasonCopyright::ID:
11062 if constexpr (AllowTag) {
11063 downcast_call_tag<reportReasonCopyright> type_tag;
11064 func(type_tag);
11065 } else {
11066 func(static_cast<reportReasonCopyright &>(*obj));
11067 }
11068 return true;
11069 case reportReasonUnrelatedLocation::ID:
11070 if constexpr (AllowTag) {
11071 downcast_call_tag<reportReasonUnrelatedLocation> type_tag;
11072 func(type_tag);
11073 } else {
11074 func(static_cast<reportReasonUnrelatedLocation &>(*obj));
11075 }
11076 return true;
11077 case reportReasonFake::ID:
11078 if constexpr (AllowTag) {
11079 downcast_call_tag<reportReasonFake> type_tag;
11080 func(type_tag);
11081 } else {
11082 func(static_cast<reportReasonFake &>(*obj));
11083 }
11084 return true;
11085 case reportReasonIllegalDrugs::ID:
11086 if constexpr (AllowTag) {
11087 downcast_call_tag<reportReasonIllegalDrugs> type_tag;
11088 func(type_tag);
11089 } else {
11090 func(static_cast<reportReasonIllegalDrugs &>(*obj));
11091 }
11092 return true;
11093 case reportReasonPersonalDetails::ID:
11094 if constexpr (AllowTag) {
11095 downcast_call_tag<reportReasonPersonalDetails> type_tag;
11096 func(type_tag);
11097 } else {
11098 func(static_cast<reportReasonPersonalDetails &>(*obj));
11099 }
11100 return true;
11101 case reportReasonCustom::ID:
11102 if constexpr (AllowTag) {
11103 downcast_call_tag<reportReasonCustom> type_tag;
11104 func(type_tag);
11105 } else {
11106 func(static_cast<reportReasonCustom &>(*obj));
11107 }
11108 return true;
11109 case reportSponsoredResultOk::ID:
11110 if constexpr (AllowTag) {
11111 downcast_call_tag<reportSponsoredResultOk> type_tag;
11112 func(type_tag);
11113 } else {
11114 func(static_cast<reportSponsoredResultOk &>(*obj));
11115 }
11116 return true;
11117 case reportSponsoredResultFailed::ID:
11118 if constexpr (AllowTag) {
11119 downcast_call_tag<reportSponsoredResultFailed> type_tag;
11120 func(type_tag);
11121 } else {
11122 func(static_cast<reportSponsoredResultFailed &>(*obj));
11123 }
11124 return true;
11125 case reportSponsoredResultOptionRequired::ID:
11126 if constexpr (AllowTag) {
11127 downcast_call_tag<reportSponsoredResultOptionRequired> type_tag;
11128 func(type_tag);
11129 } else {
11130 func(static_cast<reportSponsoredResultOptionRequired &>(*obj));
11131 }
11132 return true;
11133 case reportSponsoredResultAdsHidden::ID:
11134 if constexpr (AllowTag) {
11135 downcast_call_tag<reportSponsoredResultAdsHidden> type_tag;
11136 func(type_tag);
11137 } else {
11138 func(static_cast<reportSponsoredResultAdsHidden &>(*obj));
11139 }
11140 return true;
11141 case reportSponsoredResultPremiumRequired::ID:
11142 if constexpr (AllowTag) {
11143 downcast_call_tag<reportSponsoredResultPremiumRequired> type_tag;
11144 func(type_tag);
11145 } else {
11146 func(static_cast<reportSponsoredResultPremiumRequired &>(*obj));
11147 }
11148 return true;
11149 case reportStoryResultOk::ID:
11150 if constexpr (AllowTag) {
11151 downcast_call_tag<reportStoryResultOk> type_tag;
11152 func(type_tag);
11153 } else {
11154 func(static_cast<reportStoryResultOk &>(*obj));
11155 }
11156 return true;
11157 case reportStoryResultOptionRequired::ID:
11158 if constexpr (AllowTag) {
11159 downcast_call_tag<reportStoryResultOptionRequired> type_tag;
11160 func(type_tag);
11161 } else {
11162 func(static_cast<reportStoryResultOptionRequired &>(*obj));
11163 }
11164 return true;
11165 case reportStoryResultTextRequired::ID:
11166 if constexpr (AllowTag) {
11167 downcast_call_tag<reportStoryResultTextRequired> type_tag;
11168 func(type_tag);
11169 } else {
11170 func(static_cast<reportStoryResultTextRequired &>(*obj));
11171 }
11172 return true;
11173 case resendCodeReasonUserRequest::ID:
11174 if constexpr (AllowTag) {
11175 downcast_call_tag<resendCodeReasonUserRequest> type_tag;
11176 func(type_tag);
11177 } else {
11178 func(static_cast<resendCodeReasonUserRequest &>(*obj));
11179 }
11180 return true;
11181 case resendCodeReasonVerificationFailed::ID:
11182 if constexpr (AllowTag) {
11183 downcast_call_tag<resendCodeReasonVerificationFailed> type_tag;
11184 func(type_tag);
11185 } else {
11186 func(static_cast<resendCodeReasonVerificationFailed &>(*obj));
11187 }
11188 return true;
11189 case resetPasswordResultOk::ID:
11190 if constexpr (AllowTag) {
11191 downcast_call_tag<resetPasswordResultOk> type_tag;
11192 func(type_tag);
11193 } else {
11194 func(static_cast<resetPasswordResultOk &>(*obj));
11195 }
11196 return true;
11197 case resetPasswordResultPending::ID:
11198 if constexpr (AllowTag) {
11199 downcast_call_tag<resetPasswordResultPending> type_tag;
11200 func(type_tag);
11201 } else {
11202 func(static_cast<resetPasswordResultPending &>(*obj));
11203 }
11204 return true;
11205 case resetPasswordResultDeclined::ID:
11206 if constexpr (AllowTag) {
11207 downcast_call_tag<resetPasswordResultDeclined> type_tag;
11208 func(type_tag);
11209 } else {
11210 func(static_cast<resetPasswordResultDeclined &>(*obj));
11211 }
11212 return true;
11213 case restrictionInfo::ID:
11214 if constexpr (AllowTag) {
11215 downcast_call_tag<restrictionInfo> type_tag;
11216 func(type_tag);
11217 } else {
11218 func(static_cast<restrictionInfo &>(*obj));
11219 }
11220 return true;
11221 case revenueWithdrawalStatePending::ID:
11222 if constexpr (AllowTag) {
11223 downcast_call_tag<revenueWithdrawalStatePending> type_tag;
11224 func(type_tag);
11225 } else {
11226 func(static_cast<revenueWithdrawalStatePending &>(*obj));
11227 }
11228 return true;
11229 case revenueWithdrawalStateSucceeded::ID:
11230 if constexpr (AllowTag) {
11231 downcast_call_tag<revenueWithdrawalStateSucceeded> type_tag;
11232 func(type_tag);
11233 } else {
11234 func(static_cast<revenueWithdrawalStateSucceeded &>(*obj));
11235 }
11236 return true;
11237 case revenueWithdrawalStateFailed::ID:
11238 if constexpr (AllowTag) {
11239 downcast_call_tag<revenueWithdrawalStateFailed> type_tag;
11240 func(type_tag);
11241 } else {
11242 func(static_cast<revenueWithdrawalStateFailed &>(*obj));
11243 }
11244 return true;
11245 case richTextPlain::ID:
11246 if constexpr (AllowTag) {
11247 downcast_call_tag<richTextPlain> type_tag;
11248 func(type_tag);
11249 } else {
11250 func(static_cast<richTextPlain &>(*obj));
11251 }
11252 return true;
11253 case richTextBold::ID:
11254 if constexpr (AllowTag) {
11255 downcast_call_tag<richTextBold> type_tag;
11256 func(type_tag);
11257 } else {
11258 func(static_cast<richTextBold &>(*obj));
11259 }
11260 return true;
11261 case richTextItalic::ID:
11262 if constexpr (AllowTag) {
11263 downcast_call_tag<richTextItalic> type_tag;
11264 func(type_tag);
11265 } else {
11266 func(static_cast<richTextItalic &>(*obj));
11267 }
11268 return true;
11269 case richTextUnderline::ID:
11270 if constexpr (AllowTag) {
11271 downcast_call_tag<richTextUnderline> type_tag;
11272 func(type_tag);
11273 } else {
11274 func(static_cast<richTextUnderline &>(*obj));
11275 }
11276 return true;
11277 case richTextStrikethrough::ID:
11278 if constexpr (AllowTag) {
11279 downcast_call_tag<richTextStrikethrough> type_tag;
11280 func(type_tag);
11281 } else {
11282 func(static_cast<richTextStrikethrough &>(*obj));
11283 }
11284 return true;
11285 case richTextFixed::ID:
11286 if constexpr (AllowTag) {
11287 downcast_call_tag<richTextFixed> type_tag;
11288 func(type_tag);
11289 } else {
11290 func(static_cast<richTextFixed &>(*obj));
11291 }
11292 return true;
11293 case richTextUrl::ID:
11294 if constexpr (AllowTag) {
11295 downcast_call_tag<richTextUrl> type_tag;
11296 func(type_tag);
11297 } else {
11298 func(static_cast<richTextUrl &>(*obj));
11299 }
11300 return true;
11301 case richTextEmailAddress::ID:
11302 if constexpr (AllowTag) {
11303 downcast_call_tag<richTextEmailAddress> type_tag;
11304 func(type_tag);
11305 } else {
11306 func(static_cast<richTextEmailAddress &>(*obj));
11307 }
11308 return true;
11309 case richTextSubscript::ID:
11310 if constexpr (AllowTag) {
11311 downcast_call_tag<richTextSubscript> type_tag;
11312 func(type_tag);
11313 } else {
11314 func(static_cast<richTextSubscript &>(*obj));
11315 }
11316 return true;
11317 case richTextSuperscript::ID:
11318 if constexpr (AllowTag) {
11319 downcast_call_tag<richTextSuperscript> type_tag;
11320 func(type_tag);
11321 } else {
11322 func(static_cast<richTextSuperscript &>(*obj));
11323 }
11324 return true;
11325 case richTextMarked::ID:
11326 if constexpr (AllowTag) {
11327 downcast_call_tag<richTextMarked> type_tag;
11328 func(type_tag);
11329 } else {
11330 func(static_cast<richTextMarked &>(*obj));
11331 }
11332 return true;
11333 case richTextPhoneNumber::ID:
11334 if constexpr (AllowTag) {
11335 downcast_call_tag<richTextPhoneNumber> type_tag;
11336 func(type_tag);
11337 } else {
11338 func(static_cast<richTextPhoneNumber &>(*obj));
11339 }
11340 return true;
11341 case richTextIcon::ID:
11342 if constexpr (AllowTag) {
11343 downcast_call_tag<richTextIcon> type_tag;
11344 func(type_tag);
11345 } else {
11346 func(static_cast<richTextIcon &>(*obj));
11347 }
11348 return true;
11349 case richTextReference::ID:
11350 if constexpr (AllowTag) {
11351 downcast_call_tag<richTextReference> type_tag;
11352 func(type_tag);
11353 } else {
11354 func(static_cast<richTextReference &>(*obj));
11355 }
11356 return true;
11357 case richTextAnchor::ID:
11358 if constexpr (AllowTag) {
11359 downcast_call_tag<richTextAnchor> type_tag;
11360 func(type_tag);
11361 } else {
11362 func(static_cast<richTextAnchor &>(*obj));
11363 }
11364 return true;
11365 case richTextAnchorLink::ID:
11366 if constexpr (AllowTag) {
11367 downcast_call_tag<richTextAnchorLink> type_tag;
11368 func(type_tag);
11369 } else {
11370 func(static_cast<richTextAnchorLink &>(*obj));
11371 }
11372 return true;
11373 case richTexts::ID:
11374 if constexpr (AllowTag) {
11375 downcast_call_tag<richTexts> type_tag;
11376 func(type_tag);
11377 } else {
11378 func(static_cast<richTexts &>(*obj));
11379 }
11380 return true;
11381 case rtmpUrl::ID:
11382 if constexpr (AllowTag) {
11383 downcast_call_tag<rtmpUrl> type_tag;
11384 func(type_tag);
11385 } else {
11386 func(static_cast<rtmpUrl &>(*obj));
11387 }
11388 return true;
11389 case savedCredentials::ID:
11390 if constexpr (AllowTag) {
11391 downcast_call_tag<savedCredentials> type_tag;
11392 func(type_tag);
11393 } else {
11394 func(static_cast<savedCredentials &>(*obj));
11395 }
11396 return true;
11397 case savedMessagesTag::ID:
11398 if constexpr (AllowTag) {
11399 downcast_call_tag<savedMessagesTag> type_tag;
11400 func(type_tag);
11401 } else {
11402 func(static_cast<savedMessagesTag &>(*obj));
11403 }
11404 return true;
11405 case savedMessagesTags::ID:
11406 if constexpr (AllowTag) {
11407 downcast_call_tag<savedMessagesTags> type_tag;
11408 func(type_tag);
11409 } else {
11410 func(static_cast<savedMessagesTags &>(*obj));
11411 }
11412 return true;
11413 case savedMessagesTopic::ID:
11414 if constexpr (AllowTag) {
11415 downcast_call_tag<savedMessagesTopic> type_tag;
11416 func(type_tag);
11417 } else {
11418 func(static_cast<savedMessagesTopic &>(*obj));
11419 }
11420 return true;
11421 case savedMessagesTopicTypeMyNotes::ID:
11422 if constexpr (AllowTag) {
11423 downcast_call_tag<savedMessagesTopicTypeMyNotes> type_tag;
11424 func(type_tag);
11425 } else {
11426 func(static_cast<savedMessagesTopicTypeMyNotes &>(*obj));
11427 }
11428 return true;
11429 case savedMessagesTopicTypeAuthorHidden::ID:
11430 if constexpr (AllowTag) {
11431 downcast_call_tag<savedMessagesTopicTypeAuthorHidden> type_tag;
11432 func(type_tag);
11433 } else {
11434 func(static_cast<savedMessagesTopicTypeAuthorHidden &>(*obj));
11435 }
11436 return true;
11437 case savedMessagesTopicTypeSavedFromChat::ID:
11438 if constexpr (AllowTag) {
11439 downcast_call_tag<savedMessagesTopicTypeSavedFromChat> type_tag;
11440 func(type_tag);
11441 } else {
11442 func(static_cast<savedMessagesTopicTypeSavedFromChat &>(*obj));
11443 }
11444 return true;
11445 case scopeAutosaveSettings::ID:
11446 if constexpr (AllowTag) {
11447 downcast_call_tag<scopeAutosaveSettings> type_tag;
11448 func(type_tag);
11449 } else {
11450 func(static_cast<scopeAutosaveSettings &>(*obj));
11451 }
11452 return true;
11453 case scopeNotificationSettings::ID:
11454 if constexpr (AllowTag) {
11455 downcast_call_tag<scopeNotificationSettings> type_tag;
11456 func(type_tag);
11457 } else {
11458 func(static_cast<scopeNotificationSettings &>(*obj));
11459 }
11460 return true;
11461 case searchMessagesChatTypeFilterPrivate::ID:
11462 if constexpr (AllowTag) {
11463 downcast_call_tag<searchMessagesChatTypeFilterPrivate> type_tag;
11464 func(type_tag);
11465 } else {
11466 func(static_cast<searchMessagesChatTypeFilterPrivate &>(*obj));
11467 }
11468 return true;
11469 case searchMessagesChatTypeFilterGroup::ID:
11470 if constexpr (AllowTag) {
11471 downcast_call_tag<searchMessagesChatTypeFilterGroup> type_tag;
11472 func(type_tag);
11473 } else {
11474 func(static_cast<searchMessagesChatTypeFilterGroup &>(*obj));
11475 }
11476 return true;
11477 case searchMessagesChatTypeFilterChannel::ID:
11478 if constexpr (AllowTag) {
11479 downcast_call_tag<searchMessagesChatTypeFilterChannel> type_tag;
11480 func(type_tag);
11481 } else {
11482 func(static_cast<searchMessagesChatTypeFilterChannel &>(*obj));
11483 }
11484 return true;
11485 case searchMessagesFilterEmpty::ID:
11486 if constexpr (AllowTag) {
11487 downcast_call_tag<searchMessagesFilterEmpty> type_tag;
11488 func(type_tag);
11489 } else {
11490 func(static_cast<searchMessagesFilterEmpty &>(*obj));
11491 }
11492 return true;
11493 case searchMessagesFilterAnimation::ID:
11494 if constexpr (AllowTag) {
11495 downcast_call_tag<searchMessagesFilterAnimation> type_tag;
11496 func(type_tag);
11497 } else {
11498 func(static_cast<searchMessagesFilterAnimation &>(*obj));
11499 }
11500 return true;
11501 case searchMessagesFilterAudio::ID:
11502 if constexpr (AllowTag) {
11503 downcast_call_tag<searchMessagesFilterAudio> type_tag;
11504 func(type_tag);
11505 } else {
11506 func(static_cast<searchMessagesFilterAudio &>(*obj));
11507 }
11508 return true;
11509 case searchMessagesFilterDocument::ID:
11510 if constexpr (AllowTag) {
11511 downcast_call_tag<searchMessagesFilterDocument> type_tag;
11512 func(type_tag);
11513 } else {
11514 func(static_cast<searchMessagesFilterDocument &>(*obj));
11515 }
11516 return true;
11517 case searchMessagesFilterPhoto::ID:
11518 if constexpr (AllowTag) {
11519 downcast_call_tag<searchMessagesFilterPhoto> type_tag;
11520 func(type_tag);
11521 } else {
11522 func(static_cast<searchMessagesFilterPhoto &>(*obj));
11523 }
11524 return true;
11525 case searchMessagesFilterPoll::ID:
11526 if constexpr (AllowTag) {
11527 downcast_call_tag<searchMessagesFilterPoll> type_tag;
11528 func(type_tag);
11529 } else {
11530 func(static_cast<searchMessagesFilterPoll &>(*obj));
11531 }
11532 return true;
11533 case searchMessagesFilterVideo::ID:
11534 if constexpr (AllowTag) {
11535 downcast_call_tag<searchMessagesFilterVideo> type_tag;
11536 func(type_tag);
11537 } else {
11538 func(static_cast<searchMessagesFilterVideo &>(*obj));
11539 }
11540 return true;
11541 case searchMessagesFilterVoiceNote::ID:
11542 if constexpr (AllowTag) {
11543 downcast_call_tag<searchMessagesFilterVoiceNote> type_tag;
11544 func(type_tag);
11545 } else {
11546 func(static_cast<searchMessagesFilterVoiceNote &>(*obj));
11547 }
11548 return true;
11549 case searchMessagesFilterPhotoAndVideo::ID:
11550 if constexpr (AllowTag) {
11551 downcast_call_tag<searchMessagesFilterPhotoAndVideo> type_tag;
11552 func(type_tag);
11553 } else {
11554 func(static_cast<searchMessagesFilterPhotoAndVideo &>(*obj));
11555 }
11556 return true;
11557 case searchMessagesFilterUrl::ID:
11558 if constexpr (AllowTag) {
11559 downcast_call_tag<searchMessagesFilterUrl> type_tag;
11560 func(type_tag);
11561 } else {
11562 func(static_cast<searchMessagesFilterUrl &>(*obj));
11563 }
11564 return true;
11565 case searchMessagesFilterChatPhoto::ID:
11566 if constexpr (AllowTag) {
11567 downcast_call_tag<searchMessagesFilterChatPhoto> type_tag;
11568 func(type_tag);
11569 } else {
11570 func(static_cast<searchMessagesFilterChatPhoto &>(*obj));
11571 }
11572 return true;
11573 case searchMessagesFilterVideoNote::ID:
11574 if constexpr (AllowTag) {
11575 downcast_call_tag<searchMessagesFilterVideoNote> type_tag;
11576 func(type_tag);
11577 } else {
11578 func(static_cast<searchMessagesFilterVideoNote &>(*obj));
11579 }
11580 return true;
11581 case searchMessagesFilterVoiceAndVideoNote::ID:
11582 if constexpr (AllowTag) {
11583 downcast_call_tag<searchMessagesFilterVoiceAndVideoNote> type_tag;
11584 func(type_tag);
11585 } else {
11586 func(static_cast<searchMessagesFilterVoiceAndVideoNote &>(*obj));
11587 }
11588 return true;
11589 case searchMessagesFilterMention::ID:
11590 if constexpr (AllowTag) {
11591 downcast_call_tag<searchMessagesFilterMention> type_tag;
11592 func(type_tag);
11593 } else {
11594 func(static_cast<searchMessagesFilterMention &>(*obj));
11595 }
11596 return true;
11597 case searchMessagesFilterUnreadMention::ID:
11598 if constexpr (AllowTag) {
11599 downcast_call_tag<searchMessagesFilterUnreadMention> type_tag;
11600 func(type_tag);
11601 } else {
11602 func(static_cast<searchMessagesFilterUnreadMention &>(*obj));
11603 }
11604 return true;
11605 case searchMessagesFilterUnreadReaction::ID:
11606 if constexpr (AllowTag) {
11607 downcast_call_tag<searchMessagesFilterUnreadReaction> type_tag;
11608 func(type_tag);
11609 } else {
11610 func(static_cast<searchMessagesFilterUnreadReaction &>(*obj));
11611 }
11612 return true;
11613 case searchMessagesFilterUnreadPollVote::ID:
11614 if constexpr (AllowTag) {
11615 downcast_call_tag<searchMessagesFilterUnreadPollVote> type_tag;
11616 func(type_tag);
11617 } else {
11618 func(static_cast<searchMessagesFilterUnreadPollVote &>(*obj));
11619 }
11620 return true;
11621 case searchMessagesFilterFailedToSend::ID:
11622 if constexpr (AllowTag) {
11623 downcast_call_tag<searchMessagesFilterFailedToSend> type_tag;
11624 func(type_tag);
11625 } else {
11626 func(static_cast<searchMessagesFilterFailedToSend &>(*obj));
11627 }
11628 return true;
11629 case searchMessagesFilterPinned::ID:
11630 if constexpr (AllowTag) {
11631 downcast_call_tag<searchMessagesFilterPinned> type_tag;
11632 func(type_tag);
11633 } else {
11634 func(static_cast<searchMessagesFilterPinned &>(*obj));
11635 }
11636 return true;
11637 case seconds::ID:
11638 if constexpr (AllowTag) {
11639 downcast_call_tag<seconds> type_tag;
11640 func(type_tag);
11641 } else {
11642 func(static_cast<seconds &>(*obj));
11643 }
11644 return true;
11645 case secretChat::ID:
11646 if constexpr (AllowTag) {
11647 downcast_call_tag<secretChat> type_tag;
11648 func(type_tag);
11649 } else {
11650 func(static_cast<secretChat &>(*obj));
11651 }
11652 return true;
11653 case secretChatStatePending::ID:
11654 if constexpr (AllowTag) {
11655 downcast_call_tag<secretChatStatePending> type_tag;
11656 func(type_tag);
11657 } else {
11658 func(static_cast<secretChatStatePending &>(*obj));
11659 }
11660 return true;
11661 case secretChatStateReady::ID:
11662 if constexpr (AllowTag) {
11663 downcast_call_tag<secretChatStateReady> type_tag;
11664 func(type_tag);
11665 } else {
11666 func(static_cast<secretChatStateReady &>(*obj));
11667 }
11668 return true;
11669 case secretChatStateClosed::ID:
11670 if constexpr (AllowTag) {
11671 downcast_call_tag<secretChatStateClosed> type_tag;
11672 func(type_tag);
11673 } else {
11674 func(static_cast<secretChatStateClosed &>(*obj));
11675 }
11676 return true;
11677 case sentGiftRegular::ID:
11678 if constexpr (AllowTag) {
11679 downcast_call_tag<sentGiftRegular> type_tag;
11680 func(type_tag);
11681 } else {
11682 func(static_cast<sentGiftRegular &>(*obj));
11683 }
11684 return true;
11685 case sentGiftUpgraded::ID:
11686 if constexpr (AllowTag) {
11687 downcast_call_tag<sentGiftUpgraded> type_tag;
11688 func(type_tag);
11689 } else {
11690 func(static_cast<sentGiftUpgraded &>(*obj));
11691 }
11692 return true;
11693 case sentWebAppMessage::ID:
11694 if constexpr (AllowTag) {
11695 downcast_call_tag<sentWebAppMessage> type_tag;
11696 func(type_tag);
11697 } else {
11698 func(static_cast<sentWebAppMessage &>(*obj));
11699 }
11700 return true;
11701 case session::ID:
11702 if constexpr (AllowTag) {
11703 downcast_call_tag<session> type_tag;
11704 func(type_tag);
11705 } else {
11706 func(static_cast<session &>(*obj));
11707 }
11708 return true;
11709 case sessionTypeAndroid::ID:
11710 if constexpr (AllowTag) {
11711 downcast_call_tag<sessionTypeAndroid> type_tag;
11712 func(type_tag);
11713 } else {
11714 func(static_cast<sessionTypeAndroid &>(*obj));
11715 }
11716 return true;
11717 case sessionTypeApple::ID:
11718 if constexpr (AllowTag) {
11719 downcast_call_tag<sessionTypeApple> type_tag;
11720 func(type_tag);
11721 } else {
11722 func(static_cast<sessionTypeApple &>(*obj));
11723 }
11724 return true;
11725 case sessionTypeBrave::ID:
11726 if constexpr (AllowTag) {
11727 downcast_call_tag<sessionTypeBrave> type_tag;
11728 func(type_tag);
11729 } else {
11730 func(static_cast<sessionTypeBrave &>(*obj));
11731 }
11732 return true;
11733 case sessionTypeChrome::ID:
11734 if constexpr (AllowTag) {
11735 downcast_call_tag<sessionTypeChrome> type_tag;
11736 func(type_tag);
11737 } else {
11738 func(static_cast<sessionTypeChrome &>(*obj));
11739 }
11740 return true;
11741 case sessionTypeEdge::ID:
11742 if constexpr (AllowTag) {
11743 downcast_call_tag<sessionTypeEdge> type_tag;
11744 func(type_tag);
11745 } else {
11746 func(static_cast<sessionTypeEdge &>(*obj));
11747 }
11748 return true;
11749 case sessionTypeFirefox::ID:
11750 if constexpr (AllowTag) {
11751 downcast_call_tag<sessionTypeFirefox> type_tag;
11752 func(type_tag);
11753 } else {
11754 func(static_cast<sessionTypeFirefox &>(*obj));
11755 }
11756 return true;
11757 case sessionTypeIpad::ID:
11758 if constexpr (AllowTag) {
11759 downcast_call_tag<sessionTypeIpad> type_tag;
11760 func(type_tag);
11761 } else {
11762 func(static_cast<sessionTypeIpad &>(*obj));
11763 }
11764 return true;
11765 case sessionTypeIphone::ID:
11766 if constexpr (AllowTag) {
11767 downcast_call_tag<sessionTypeIphone> type_tag;
11768 func(type_tag);
11769 } else {
11770 func(static_cast<sessionTypeIphone &>(*obj));
11771 }
11772 return true;
11773 case sessionTypeLinux::ID:
11774 if constexpr (AllowTag) {
11775 downcast_call_tag<sessionTypeLinux> type_tag;
11776 func(type_tag);
11777 } else {
11778 func(static_cast<sessionTypeLinux &>(*obj));
11779 }
11780 return true;
11781 case sessionTypeMac::ID:
11782 if constexpr (AllowTag) {
11783 downcast_call_tag<sessionTypeMac> type_tag;
11784 func(type_tag);
11785 } else {
11786 func(static_cast<sessionTypeMac &>(*obj));
11787 }
11788 return true;
11789 case sessionTypeOpera::ID:
11790 if constexpr (AllowTag) {
11791 downcast_call_tag<sessionTypeOpera> type_tag;
11792 func(type_tag);
11793 } else {
11794 func(static_cast<sessionTypeOpera &>(*obj));
11795 }
11796 return true;
11797 case sessionTypeSafari::ID:
11798 if constexpr (AllowTag) {
11799 downcast_call_tag<sessionTypeSafari> type_tag;
11800 func(type_tag);
11801 } else {
11802 func(static_cast<sessionTypeSafari &>(*obj));
11803 }
11804 return true;
11805 case sessionTypeUbuntu::ID:
11806 if constexpr (AllowTag) {
11807 downcast_call_tag<sessionTypeUbuntu> type_tag;
11808 func(type_tag);
11809 } else {
11810 func(static_cast<sessionTypeUbuntu &>(*obj));
11811 }
11812 return true;
11813 case sessionTypeUnknown::ID:
11814 if constexpr (AllowTag) {
11815 downcast_call_tag<sessionTypeUnknown> type_tag;
11816 func(type_tag);
11817 } else {
11818 func(static_cast<sessionTypeUnknown &>(*obj));
11819 }
11820 return true;
11821 case sessionTypeVivaldi::ID:
11822 if constexpr (AllowTag) {
11823 downcast_call_tag<sessionTypeVivaldi> type_tag;
11824 func(type_tag);
11825 } else {
11826 func(static_cast<sessionTypeVivaldi &>(*obj));
11827 }
11828 return true;
11829 case sessionTypeWindows::ID:
11830 if constexpr (AllowTag) {
11831 downcast_call_tag<sessionTypeWindows> type_tag;
11832 func(type_tag);
11833 } else {
11834 func(static_cast<sessionTypeWindows &>(*obj));
11835 }
11836 return true;
11837 case sessionTypeXbox::ID:
11838 if constexpr (AllowTag) {
11839 downcast_call_tag<sessionTypeXbox> type_tag;
11840 func(type_tag);
11841 } else {
11842 func(static_cast<sessionTypeXbox &>(*obj));
11843 }
11844 return true;
11845 case sessions::ID:
11846 if constexpr (AllowTag) {
11847 downcast_call_tag<sessions> type_tag;
11848 func(type_tag);
11849 } else {
11850 func(static_cast<sessions &>(*obj));
11851 }
11852 return true;
11853 case settingsSectionAppearance::ID:
11854 if constexpr (AllowTag) {
11855 downcast_call_tag<settingsSectionAppearance> type_tag;
11856 func(type_tag);
11857 } else {
11858 func(static_cast<settingsSectionAppearance &>(*obj));
11859 }
11860 return true;
11861 case settingsSectionAskQuestion::ID:
11862 if constexpr (AllowTag) {
11863 downcast_call_tag<settingsSectionAskQuestion> type_tag;
11864 func(type_tag);
11865 } else {
11866 func(static_cast<settingsSectionAskQuestion &>(*obj));
11867 }
11868 return true;
11869 case settingsSectionBusiness::ID:
11870 if constexpr (AllowTag) {
11871 downcast_call_tag<settingsSectionBusiness> type_tag;
11872 func(type_tag);
11873 } else {
11874 func(static_cast<settingsSectionBusiness &>(*obj));
11875 }
11876 return true;
11877 case settingsSectionChatFolders::ID:
11878 if constexpr (AllowTag) {
11879 downcast_call_tag<settingsSectionChatFolders> type_tag;
11880 func(type_tag);
11881 } else {
11882 func(static_cast<settingsSectionChatFolders &>(*obj));
11883 }
11884 return true;
11885 case settingsSectionDataAndStorage::ID:
11886 if constexpr (AllowTag) {
11887 downcast_call_tag<settingsSectionDataAndStorage> type_tag;
11888 func(type_tag);
11889 } else {
11890 func(static_cast<settingsSectionDataAndStorage &>(*obj));
11891 }
11892 return true;
11893 case settingsSectionDevices::ID:
11894 if constexpr (AllowTag) {
11895 downcast_call_tag<settingsSectionDevices> type_tag;
11896 func(type_tag);
11897 } else {
11898 func(static_cast<settingsSectionDevices &>(*obj));
11899 }
11900 return true;
11901 case settingsSectionEditProfile::ID:
11902 if constexpr (AllowTag) {
11903 downcast_call_tag<settingsSectionEditProfile> type_tag;
11904 func(type_tag);
11905 } else {
11906 func(static_cast<settingsSectionEditProfile &>(*obj));
11907 }
11908 return true;
11909 case settingsSectionFaq::ID:
11910 if constexpr (AllowTag) {
11911 downcast_call_tag<settingsSectionFaq> type_tag;
11912 func(type_tag);
11913 } else {
11914 func(static_cast<settingsSectionFaq &>(*obj));
11915 }
11916 return true;
11917 case settingsSectionFeatures::ID:
11918 if constexpr (AllowTag) {
11919 downcast_call_tag<settingsSectionFeatures> type_tag;
11920 func(type_tag);
11921 } else {
11922 func(static_cast<settingsSectionFeatures &>(*obj));
11923 }
11924 return true;
11925 case settingsSectionInAppBrowser::ID:
11926 if constexpr (AllowTag) {
11927 downcast_call_tag<settingsSectionInAppBrowser> type_tag;
11928 func(type_tag);
11929 } else {
11930 func(static_cast<settingsSectionInAppBrowser &>(*obj));
11931 }
11932 return true;
11933 case settingsSectionLanguage::ID:
11934 if constexpr (AllowTag) {
11935 downcast_call_tag<settingsSectionLanguage> type_tag;
11936 func(type_tag);
11937 } else {
11938 func(static_cast<settingsSectionLanguage &>(*obj));
11939 }
11940 return true;
11941 case settingsSectionMyStars::ID:
11942 if constexpr (AllowTag) {
11943 downcast_call_tag<settingsSectionMyStars> type_tag;
11944 func(type_tag);
11945 } else {
11946 func(static_cast<settingsSectionMyStars &>(*obj));
11947 }
11948 return true;
11949 case settingsSectionMyToncoins::ID:
11950 if constexpr (AllowTag) {
11951 downcast_call_tag<settingsSectionMyToncoins> type_tag;
11952 func(type_tag);
11953 } else {
11954 func(static_cast<settingsSectionMyToncoins &>(*obj));
11955 }
11956 return true;
11957 case settingsSectionNotifications::ID:
11958 if constexpr (AllowTag) {
11959 downcast_call_tag<settingsSectionNotifications> type_tag;
11960 func(type_tag);
11961 } else {
11962 func(static_cast<settingsSectionNotifications &>(*obj));
11963 }
11964 return true;
11965 case settingsSectionPowerSaving::ID:
11966 if constexpr (AllowTag) {
11967 downcast_call_tag<settingsSectionPowerSaving> type_tag;
11968 func(type_tag);
11969 } else {
11970 func(static_cast<settingsSectionPowerSaving &>(*obj));
11971 }
11972 return true;
11973 case settingsSectionPremium::ID:
11974 if constexpr (AllowTag) {
11975 downcast_call_tag<settingsSectionPremium> type_tag;
11976 func(type_tag);
11977 } else {
11978 func(static_cast<settingsSectionPremium &>(*obj));
11979 }
11980 return true;
11981 case settingsSectionPrivacyAndSecurity::ID:
11982 if constexpr (AllowTag) {
11983 downcast_call_tag<settingsSectionPrivacyAndSecurity> type_tag;
11984 func(type_tag);
11985 } else {
11986 func(static_cast<settingsSectionPrivacyAndSecurity &>(*obj));
11987 }
11988 return true;
11989 case settingsSectionPrivacyPolicy::ID:
11990 if constexpr (AllowTag) {
11991 downcast_call_tag<settingsSectionPrivacyPolicy> type_tag;
11992 func(type_tag);
11993 } else {
11994 func(static_cast<settingsSectionPrivacyPolicy &>(*obj));
11995 }
11996 return true;
11997 case settingsSectionQrCode::ID:
11998 if constexpr (AllowTag) {
11999 downcast_call_tag<settingsSectionQrCode> type_tag;
12000 func(type_tag);
12001 } else {
12002 func(static_cast<settingsSectionQrCode &>(*obj));
12003 }
12004 return true;
12005 case settingsSectionSearch::ID:
12006 if constexpr (AllowTag) {
12007 downcast_call_tag<settingsSectionSearch> type_tag;
12008 func(type_tag);
12009 } else {
12010 func(static_cast<settingsSectionSearch &>(*obj));
12011 }
12012 return true;
12013 case settingsSectionSendGift::ID:
12014 if constexpr (AllowTag) {
12015 downcast_call_tag<settingsSectionSendGift> type_tag;
12016 func(type_tag);
12017 } else {
12018 func(static_cast<settingsSectionSendGift &>(*obj));
12019 }
12020 return true;
12021 case sharedChat::ID:
12022 if constexpr (AllowTag) {
12023 downcast_call_tag<sharedChat> type_tag;
12024 func(type_tag);
12025 } else {
12026 func(static_cast<sharedChat &>(*obj));
12027 }
12028 return true;
12029 case sharedUser::ID:
12030 if constexpr (AllowTag) {
12031 downcast_call_tag<sharedUser> type_tag;
12032 func(type_tag);
12033 } else {
12034 func(static_cast<sharedUser &>(*obj));
12035 }
12036 return true;
12037 case shippingOption::ID:
12038 if constexpr (AllowTag) {
12039 downcast_call_tag<shippingOption> type_tag;
12040 func(type_tag);
12041 } else {
12042 func(static_cast<shippingOption &>(*obj));
12043 }
12044 return true;
12045 case speechRecognitionResultPending::ID:
12046 if constexpr (AllowTag) {
12047 downcast_call_tag<speechRecognitionResultPending> type_tag;
12048 func(type_tag);
12049 } else {
12050 func(static_cast<speechRecognitionResultPending &>(*obj));
12051 }
12052 return true;
12053 case speechRecognitionResultText::ID:
12054 if constexpr (AllowTag) {
12055 downcast_call_tag<speechRecognitionResultText> type_tag;
12056 func(type_tag);
12057 } else {
12058 func(static_cast<speechRecognitionResultText &>(*obj));
12059 }
12060 return true;
12061 case speechRecognitionResultError::ID:
12062 if constexpr (AllowTag) {
12063 downcast_call_tag<speechRecognitionResultError> type_tag;
12064 func(type_tag);
12065 } else {
12066 func(static_cast<speechRecognitionResultError &>(*obj));
12067 }
12068 return true;
12069 case sponsoredChat::ID:
12070 if constexpr (AllowTag) {
12071 downcast_call_tag<sponsoredChat> type_tag;
12072 func(type_tag);
12073 } else {
12074 func(static_cast<sponsoredChat &>(*obj));
12075 }
12076 return true;
12077 case sponsoredChats::ID:
12078 if constexpr (AllowTag) {
12079 downcast_call_tag<sponsoredChats> type_tag;
12080 func(type_tag);
12081 } else {
12082 func(static_cast<sponsoredChats &>(*obj));
12083 }
12084 return true;
12085 case sponsoredMessage::ID:
12086 if constexpr (AllowTag) {
12087 downcast_call_tag<sponsoredMessage> type_tag;
12088 func(type_tag);
12089 } else {
12090 func(static_cast<sponsoredMessage &>(*obj));
12091 }
12092 return true;
12093 case sponsoredMessages::ID:
12094 if constexpr (AllowTag) {
12095 downcast_call_tag<sponsoredMessages> type_tag;
12096 func(type_tag);
12097 } else {
12098 func(static_cast<sponsoredMessages &>(*obj));
12099 }
12100 return true;
12101 case stakeDiceState::ID:
12102 if constexpr (AllowTag) {
12103 downcast_call_tag<stakeDiceState> type_tag;
12104 func(type_tag);
12105 } else {
12106 func(static_cast<stakeDiceState &>(*obj));
12107 }
12108 return true;
12109 case starAmount::ID:
12110 if constexpr (AllowTag) {
12111 downcast_call_tag<starAmount> type_tag;
12112 func(type_tag);
12113 } else {
12114 func(static_cast<starAmount &>(*obj));
12115 }
12116 return true;
12117 case starCount::ID:
12118 if constexpr (AllowTag) {
12119 downcast_call_tag<starCount> type_tag;
12120 func(type_tag);
12121 } else {
12122 func(static_cast<starCount &>(*obj));
12123 }
12124 return true;
12125 case starGiveawayPaymentOption::ID:
12126 if constexpr (AllowTag) {
12127 downcast_call_tag<starGiveawayPaymentOption> type_tag;
12128 func(type_tag);
12129 } else {
12130 func(static_cast<starGiveawayPaymentOption &>(*obj));
12131 }
12132 return true;
12133 case starGiveawayPaymentOptions::ID:
12134 if constexpr (AllowTag) {
12135 downcast_call_tag<starGiveawayPaymentOptions> type_tag;
12136 func(type_tag);
12137 } else {
12138 func(static_cast<starGiveawayPaymentOptions &>(*obj));
12139 }
12140 return true;
12141 case starGiveawayWinnerOption::ID:
12142 if constexpr (AllowTag) {
12143 downcast_call_tag<starGiveawayWinnerOption> type_tag;
12144 func(type_tag);
12145 } else {
12146 func(static_cast<starGiveawayWinnerOption &>(*obj));
12147 }
12148 return true;
12149 case starPaymentOption::ID:
12150 if constexpr (AllowTag) {
12151 downcast_call_tag<starPaymentOption> type_tag;
12152 func(type_tag);
12153 } else {
12154 func(static_cast<starPaymentOption &>(*obj));
12155 }
12156 return true;
12157 case starPaymentOptions::ID:
12158 if constexpr (AllowTag) {
12159 downcast_call_tag<starPaymentOptions> type_tag;
12160 func(type_tag);
12161 } else {
12162 func(static_cast<starPaymentOptions &>(*obj));
12163 }
12164 return true;
12165 case starRevenueStatistics::ID:
12166 if constexpr (AllowTag) {
12167 downcast_call_tag<starRevenueStatistics> type_tag;
12168 func(type_tag);
12169 } else {
12170 func(static_cast<starRevenueStatistics &>(*obj));
12171 }
12172 return true;
12173 case starRevenueStatus::ID:
12174 if constexpr (AllowTag) {
12175 downcast_call_tag<starRevenueStatus> type_tag;
12176 func(type_tag);
12177 } else {
12178 func(static_cast<starRevenueStatus &>(*obj));
12179 }
12180 return true;
12181 case starSubscription::ID:
12182 if constexpr (AllowTag) {
12183 downcast_call_tag<starSubscription> type_tag;
12184 func(type_tag);
12185 } else {
12186 func(static_cast<starSubscription &>(*obj));
12187 }
12188 return true;
12189 case starSubscriptionPricing::ID:
12190 if constexpr (AllowTag) {
12191 downcast_call_tag<starSubscriptionPricing> type_tag;
12192 func(type_tag);
12193 } else {
12194 func(static_cast<starSubscriptionPricing &>(*obj));
12195 }
12196 return true;
12197 case starSubscriptionTypeChannel::ID:
12198 if constexpr (AllowTag) {
12199 downcast_call_tag<starSubscriptionTypeChannel> type_tag;
12200 func(type_tag);
12201 } else {
12202 func(static_cast<starSubscriptionTypeChannel &>(*obj));
12203 }
12204 return true;
12205 case starSubscriptionTypeBot::ID:
12206 if constexpr (AllowTag) {
12207 downcast_call_tag<starSubscriptionTypeBot> type_tag;
12208 func(type_tag);
12209 } else {
12210 func(static_cast<starSubscriptionTypeBot &>(*obj));
12211 }
12212 return true;
12213 case starSubscriptions::ID:
12214 if constexpr (AllowTag) {
12215 downcast_call_tag<starSubscriptions> type_tag;
12216 func(type_tag);
12217 } else {
12218 func(static_cast<starSubscriptions &>(*obj));
12219 }
12220 return true;
12221 case starTransaction::ID:
12222 if constexpr (AllowTag) {
12223 downcast_call_tag<starTransaction> type_tag;
12224 func(type_tag);
12225 } else {
12226 func(static_cast<starTransaction &>(*obj));
12227 }
12228 return true;
12229 case starTransactionTypePremiumBotDeposit::ID:
12230 if constexpr (AllowTag) {
12231 downcast_call_tag<starTransactionTypePremiumBotDeposit> type_tag;
12232 func(type_tag);
12233 } else {
12234 func(static_cast<starTransactionTypePremiumBotDeposit &>(*obj));
12235 }
12236 return true;
12237 case starTransactionTypeAppStoreDeposit::ID:
12238 if constexpr (AllowTag) {
12239 downcast_call_tag<starTransactionTypeAppStoreDeposit> type_tag;
12240 func(type_tag);
12241 } else {
12242 func(static_cast<starTransactionTypeAppStoreDeposit &>(*obj));
12243 }
12244 return true;
12245 case starTransactionTypeGooglePlayDeposit::ID:
12246 if constexpr (AllowTag) {
12247 downcast_call_tag<starTransactionTypeGooglePlayDeposit> type_tag;
12248 func(type_tag);
12249 } else {
12250 func(static_cast<starTransactionTypeGooglePlayDeposit &>(*obj));
12251 }
12252 return true;
12253 case starTransactionTypeFragmentDeposit::ID:
12254 if constexpr (AllowTag) {
12255 downcast_call_tag<starTransactionTypeFragmentDeposit> type_tag;
12256 func(type_tag);
12257 } else {
12258 func(static_cast<starTransactionTypeFragmentDeposit &>(*obj));
12259 }
12260 return true;
12261 case starTransactionTypeUserDeposit::ID:
12262 if constexpr (AllowTag) {
12263 downcast_call_tag<starTransactionTypeUserDeposit> type_tag;
12264 func(type_tag);
12265 } else {
12266 func(static_cast<starTransactionTypeUserDeposit &>(*obj));
12267 }
12268 return true;
12269 case starTransactionTypeGiveawayDeposit::ID:
12270 if constexpr (AllowTag) {
12271 downcast_call_tag<starTransactionTypeGiveawayDeposit> type_tag;
12272 func(type_tag);
12273 } else {
12274 func(static_cast<starTransactionTypeGiveawayDeposit &>(*obj));
12275 }
12276 return true;
12277 case starTransactionTypeFragmentWithdrawal::ID:
12278 if constexpr (AllowTag) {
12279 downcast_call_tag<starTransactionTypeFragmentWithdrawal> type_tag;
12280 func(type_tag);
12281 } else {
12282 func(static_cast<starTransactionTypeFragmentWithdrawal &>(*obj));
12283 }
12284 return true;
12285 case starTransactionTypeTelegramAdsWithdrawal::ID:
12286 if constexpr (AllowTag) {
12287 downcast_call_tag<starTransactionTypeTelegramAdsWithdrawal> type_tag;
12288 func(type_tag);
12289 } else {
12290 func(static_cast<starTransactionTypeTelegramAdsWithdrawal &>(*obj));
12291 }
12292 return true;
12293 case starTransactionTypeTelegramApiUsage::ID:
12294 if constexpr (AllowTag) {
12295 downcast_call_tag<starTransactionTypeTelegramApiUsage> type_tag;
12296 func(type_tag);
12297 } else {
12298 func(static_cast<starTransactionTypeTelegramApiUsage &>(*obj));
12299 }
12300 return true;
12301 case starTransactionTypeBotPaidMediaPurchase::ID:
12302 if constexpr (AllowTag) {
12303 downcast_call_tag<starTransactionTypeBotPaidMediaPurchase> type_tag;
12304 func(type_tag);
12305 } else {
12306 func(static_cast<starTransactionTypeBotPaidMediaPurchase &>(*obj));
12307 }
12308 return true;
12309 case starTransactionTypeBotPaidMediaSale::ID:
12310 if constexpr (AllowTag) {
12311 downcast_call_tag<starTransactionTypeBotPaidMediaSale> type_tag;
12312 func(type_tag);
12313 } else {
12314 func(static_cast<starTransactionTypeBotPaidMediaSale &>(*obj));
12315 }
12316 return true;
12317 case starTransactionTypeChannelPaidMediaPurchase::ID:
12318 if constexpr (AllowTag) {
12319 downcast_call_tag<starTransactionTypeChannelPaidMediaPurchase> type_tag;
12320 func(type_tag);
12321 } else {
12322 func(static_cast<starTransactionTypeChannelPaidMediaPurchase &>(*obj));
12323 }
12324 return true;
12325 case starTransactionTypeChannelPaidMediaSale::ID:
12326 if constexpr (AllowTag) {
12327 downcast_call_tag<starTransactionTypeChannelPaidMediaSale> type_tag;
12328 func(type_tag);
12329 } else {
12330 func(static_cast<starTransactionTypeChannelPaidMediaSale &>(*obj));
12331 }
12332 return true;
12333 case starTransactionTypeBotInvoicePurchase::ID:
12334 if constexpr (AllowTag) {
12335 downcast_call_tag<starTransactionTypeBotInvoicePurchase> type_tag;
12336 func(type_tag);
12337 } else {
12338 func(static_cast<starTransactionTypeBotInvoicePurchase &>(*obj));
12339 }
12340 return true;
12341 case starTransactionTypeBotInvoiceSale::ID:
12342 if constexpr (AllowTag) {
12343 downcast_call_tag<starTransactionTypeBotInvoiceSale> type_tag;
12344 func(type_tag);
12345 } else {
12346 func(static_cast<starTransactionTypeBotInvoiceSale &>(*obj));
12347 }
12348 return true;
12349 case starTransactionTypeBotSubscriptionPurchase::ID:
12350 if constexpr (AllowTag) {
12351 downcast_call_tag<starTransactionTypeBotSubscriptionPurchase> type_tag;
12352 func(type_tag);
12353 } else {
12354 func(static_cast<starTransactionTypeBotSubscriptionPurchase &>(*obj));
12355 }
12356 return true;
12357 case starTransactionTypeBotSubscriptionSale::ID:
12358 if constexpr (AllowTag) {
12359 downcast_call_tag<starTransactionTypeBotSubscriptionSale> type_tag;
12360 func(type_tag);
12361 } else {
12362 func(static_cast<starTransactionTypeBotSubscriptionSale &>(*obj));
12363 }
12364 return true;
12365 case starTransactionTypeChannelSubscriptionPurchase::ID:
12366 if constexpr (AllowTag) {
12367 downcast_call_tag<starTransactionTypeChannelSubscriptionPurchase> type_tag;
12368 func(type_tag);
12369 } else {
12370 func(static_cast<starTransactionTypeChannelSubscriptionPurchase &>(*obj));
12371 }
12372 return true;
12373 case starTransactionTypeChannelSubscriptionSale::ID:
12374 if constexpr (AllowTag) {
12375 downcast_call_tag<starTransactionTypeChannelSubscriptionSale> type_tag;
12376 func(type_tag);
12377 } else {
12378 func(static_cast<starTransactionTypeChannelSubscriptionSale &>(*obj));
12379 }
12380 return true;
12381 case starTransactionTypeGiftAuctionBid::ID:
12382 if constexpr (AllowTag) {
12383 downcast_call_tag<starTransactionTypeGiftAuctionBid> type_tag;
12384 func(type_tag);
12385 } else {
12386 func(static_cast<starTransactionTypeGiftAuctionBid &>(*obj));
12387 }
12388 return true;
12389 case starTransactionTypeGiftPurchase::ID:
12390 if constexpr (AllowTag) {
12391 downcast_call_tag<starTransactionTypeGiftPurchase> type_tag;
12392 func(type_tag);
12393 } else {
12394 func(static_cast<starTransactionTypeGiftPurchase &>(*obj));
12395 }
12396 return true;
12397 case starTransactionTypeGiftPurchaseOffer::ID:
12398 if constexpr (AllowTag) {
12399 downcast_call_tag<starTransactionTypeGiftPurchaseOffer> type_tag;
12400 func(type_tag);
12401 } else {
12402 func(static_cast<starTransactionTypeGiftPurchaseOffer &>(*obj));
12403 }
12404 return true;
12405 case starTransactionTypeGiftTransfer::ID:
12406 if constexpr (AllowTag) {
12407 downcast_call_tag<starTransactionTypeGiftTransfer> type_tag;
12408 func(type_tag);
12409 } else {
12410 func(static_cast<starTransactionTypeGiftTransfer &>(*obj));
12411 }
12412 return true;
12413 case starTransactionTypeGiftOriginalDetailsDrop::ID:
12414 if constexpr (AllowTag) {
12415 downcast_call_tag<starTransactionTypeGiftOriginalDetailsDrop> type_tag;
12416 func(type_tag);
12417 } else {
12418 func(static_cast<starTransactionTypeGiftOriginalDetailsDrop &>(*obj));
12419 }
12420 return true;
12421 case starTransactionTypeGiftSale::ID:
12422 if constexpr (AllowTag) {
12423 downcast_call_tag<starTransactionTypeGiftSale> type_tag;
12424 func(type_tag);
12425 } else {
12426 func(static_cast<starTransactionTypeGiftSale &>(*obj));
12427 }
12428 return true;
12429 case starTransactionTypeGiftUpgrade::ID:
12430 if constexpr (AllowTag) {
12431 downcast_call_tag<starTransactionTypeGiftUpgrade> type_tag;
12432 func(type_tag);
12433 } else {
12434 func(static_cast<starTransactionTypeGiftUpgrade &>(*obj));
12435 }
12436 return true;
12437 case starTransactionTypeGiftUpgradePurchase::ID:
12438 if constexpr (AllowTag) {
12439 downcast_call_tag<starTransactionTypeGiftUpgradePurchase> type_tag;
12440 func(type_tag);
12441 } else {
12442 func(static_cast<starTransactionTypeGiftUpgradePurchase &>(*obj));
12443 }
12444 return true;
12445 case starTransactionTypeUpgradedGiftPurchase::ID:
12446 if constexpr (AllowTag) {
12447 downcast_call_tag<starTransactionTypeUpgradedGiftPurchase> type_tag;
12448 func(type_tag);
12449 } else {
12450 func(static_cast<starTransactionTypeUpgradedGiftPurchase &>(*obj));
12451 }
12452 return true;
12453 case starTransactionTypeUpgradedGiftSale::ID:
12454 if constexpr (AllowTag) {
12455 downcast_call_tag<starTransactionTypeUpgradedGiftSale> type_tag;
12456 func(type_tag);
12457 } else {
12458 func(static_cast<starTransactionTypeUpgradedGiftSale &>(*obj));
12459 }
12460 return true;
12461 case starTransactionTypeChannelPaidReactionSend::ID:
12462 if constexpr (AllowTag) {
12463 downcast_call_tag<starTransactionTypeChannelPaidReactionSend> type_tag;
12464 func(type_tag);
12465 } else {
12466 func(static_cast<starTransactionTypeChannelPaidReactionSend &>(*obj));
12467 }
12468 return true;
12469 case starTransactionTypeChannelPaidReactionReceive::ID:
12470 if constexpr (AllowTag) {
12471 downcast_call_tag<starTransactionTypeChannelPaidReactionReceive> type_tag;
12472 func(type_tag);
12473 } else {
12474 func(static_cast<starTransactionTypeChannelPaidReactionReceive &>(*obj));
12475 }
12476 return true;
12477 case starTransactionTypeAffiliateProgramCommission::ID:
12478 if constexpr (AllowTag) {
12479 downcast_call_tag<starTransactionTypeAffiliateProgramCommission> type_tag;
12480 func(type_tag);
12481 } else {
12482 func(static_cast<starTransactionTypeAffiliateProgramCommission &>(*obj));
12483 }
12484 return true;
12485 case starTransactionTypePaidMessageSend::ID:
12486 if constexpr (AllowTag) {
12487 downcast_call_tag<starTransactionTypePaidMessageSend> type_tag;
12488 func(type_tag);
12489 } else {
12490 func(static_cast<starTransactionTypePaidMessageSend &>(*obj));
12491 }
12492 return true;
12493 case starTransactionTypePaidMessageReceive::ID:
12494 if constexpr (AllowTag) {
12495 downcast_call_tag<starTransactionTypePaidMessageReceive> type_tag;
12496 func(type_tag);
12497 } else {
12498 func(static_cast<starTransactionTypePaidMessageReceive &>(*obj));
12499 }
12500 return true;
12501 case starTransactionTypePaidGroupCallMessageSend::ID:
12502 if constexpr (AllowTag) {
12503 downcast_call_tag<starTransactionTypePaidGroupCallMessageSend> type_tag;
12504 func(type_tag);
12505 } else {
12506 func(static_cast<starTransactionTypePaidGroupCallMessageSend &>(*obj));
12507 }
12508 return true;
12509 case starTransactionTypePaidGroupCallMessageReceive::ID:
12510 if constexpr (AllowTag) {
12511 downcast_call_tag<starTransactionTypePaidGroupCallMessageReceive> type_tag;
12512 func(type_tag);
12513 } else {
12514 func(static_cast<starTransactionTypePaidGroupCallMessageReceive &>(*obj));
12515 }
12516 return true;
12517 case starTransactionTypePaidGroupCallReactionSend::ID:
12518 if constexpr (AllowTag) {
12519 downcast_call_tag<starTransactionTypePaidGroupCallReactionSend> type_tag;
12520 func(type_tag);
12521 } else {
12522 func(static_cast<starTransactionTypePaidGroupCallReactionSend &>(*obj));
12523 }
12524 return true;
12525 case starTransactionTypePaidGroupCallReactionReceive::ID:
12526 if constexpr (AllowTag) {
12527 downcast_call_tag<starTransactionTypePaidGroupCallReactionReceive> type_tag;
12528 func(type_tag);
12529 } else {
12530 func(static_cast<starTransactionTypePaidGroupCallReactionReceive &>(*obj));
12531 }
12532 return true;
12533 case starTransactionTypeSuggestedPostPaymentSend::ID:
12534 if constexpr (AllowTag) {
12535 downcast_call_tag<starTransactionTypeSuggestedPostPaymentSend> type_tag;
12536 func(type_tag);
12537 } else {
12538 func(static_cast<starTransactionTypeSuggestedPostPaymentSend &>(*obj));
12539 }
12540 return true;
12541 case starTransactionTypeSuggestedPostPaymentReceive::ID:
12542 if constexpr (AllowTag) {
12543 downcast_call_tag<starTransactionTypeSuggestedPostPaymentReceive> type_tag;
12544 func(type_tag);
12545 } else {
12546 func(static_cast<starTransactionTypeSuggestedPostPaymentReceive &>(*obj));
12547 }
12548 return true;
12549 case starTransactionTypePremiumPurchase::ID:
12550 if constexpr (AllowTag) {
12551 downcast_call_tag<starTransactionTypePremiumPurchase> type_tag;
12552 func(type_tag);
12553 } else {
12554 func(static_cast<starTransactionTypePremiumPurchase &>(*obj));
12555 }
12556 return true;
12557 case starTransactionTypeBusinessBotTransferSend::ID:
12558 if constexpr (AllowTag) {
12559 downcast_call_tag<starTransactionTypeBusinessBotTransferSend> type_tag;
12560 func(type_tag);
12561 } else {
12562 func(static_cast<starTransactionTypeBusinessBotTransferSend &>(*obj));
12563 }
12564 return true;
12565 case starTransactionTypeBusinessBotTransferReceive::ID:
12566 if constexpr (AllowTag) {
12567 downcast_call_tag<starTransactionTypeBusinessBotTransferReceive> type_tag;
12568 func(type_tag);
12569 } else {
12570 func(static_cast<starTransactionTypeBusinessBotTransferReceive &>(*obj));
12571 }
12572 return true;
12573 case starTransactionTypePublicPostSearch::ID:
12574 if constexpr (AllowTag) {
12575 downcast_call_tag<starTransactionTypePublicPostSearch> type_tag;
12576 func(type_tag);
12577 } else {
12578 func(static_cast<starTransactionTypePublicPostSearch &>(*obj));
12579 }
12580 return true;
12581 case starTransactionTypeUnsupported::ID:
12582 if constexpr (AllowTag) {
12583 downcast_call_tag<starTransactionTypeUnsupported> type_tag;
12584 func(type_tag);
12585 } else {
12586 func(static_cast<starTransactionTypeUnsupported &>(*obj));
12587 }
12588 return true;
12589 case starTransactions::ID:
12590 if constexpr (AllowTag) {
12591 downcast_call_tag<starTransactions> type_tag;
12592 func(type_tag);
12593 } else {
12594 func(static_cast<starTransactions &>(*obj));
12595 }
12596 return true;
12597 case startLiveStoryResultOk::ID:
12598 if constexpr (AllowTag) {
12599 downcast_call_tag<startLiveStoryResultOk> type_tag;
12600 func(type_tag);
12601 } else {
12602 func(static_cast<startLiveStoryResultOk &>(*obj));
12603 }
12604 return true;
12605 case startLiveStoryResultFail::ID:
12606 if constexpr (AllowTag) {
12607 downcast_call_tag<startLiveStoryResultFail> type_tag;
12608 func(type_tag);
12609 } else {
12610 func(static_cast<startLiveStoryResultFail &>(*obj));
12611 }
12612 return true;
12613 case statisticalGraphData::ID:
12614 if constexpr (AllowTag) {
12615 downcast_call_tag<statisticalGraphData> type_tag;
12616 func(type_tag);
12617 } else {
12618 func(static_cast<statisticalGraphData &>(*obj));
12619 }
12620 return true;
12621 case statisticalGraphAsync::ID:
12622 if constexpr (AllowTag) {
12623 downcast_call_tag<statisticalGraphAsync> type_tag;
12624 func(type_tag);
12625 } else {
12626 func(static_cast<statisticalGraphAsync &>(*obj));
12627 }
12628 return true;
12629 case statisticalGraphError::ID:
12630 if constexpr (AllowTag) {
12631 downcast_call_tag<statisticalGraphError> type_tag;
12632 func(type_tag);
12633 } else {
12634 func(static_cast<statisticalGraphError &>(*obj));
12635 }
12636 return true;
12637 case statisticalValue::ID:
12638 if constexpr (AllowTag) {
12639 downcast_call_tag<statisticalValue> type_tag;
12640 func(type_tag);
12641 } else {
12642 func(static_cast<statisticalValue &>(*obj));
12643 }
12644 return true;
12645 case sticker::ID:
12646 if constexpr (AllowTag) {
12647 downcast_call_tag<sticker> type_tag;
12648 func(type_tag);
12649 } else {
12650 func(static_cast<sticker &>(*obj));
12651 }
12652 return true;
12653 case stickerFormatWebp::ID:
12654 if constexpr (AllowTag) {
12655 downcast_call_tag<stickerFormatWebp> type_tag;
12656 func(type_tag);
12657 } else {
12658 func(static_cast<stickerFormatWebp &>(*obj));
12659 }
12660 return true;
12661 case stickerFormatTgs::ID:
12662 if constexpr (AllowTag) {
12663 downcast_call_tag<stickerFormatTgs> type_tag;
12664 func(type_tag);
12665 } else {
12666 func(static_cast<stickerFormatTgs &>(*obj));
12667 }
12668 return true;
12669 case stickerFormatWebm::ID:
12670 if constexpr (AllowTag) {
12671 downcast_call_tag<stickerFormatWebm> type_tag;
12672 func(type_tag);
12673 } else {
12674 func(static_cast<stickerFormatWebm &>(*obj));
12675 }
12676 return true;
12677 case stickerFullTypeRegular::ID:
12678 if constexpr (AllowTag) {
12679 downcast_call_tag<stickerFullTypeRegular> type_tag;
12680 func(type_tag);
12681 } else {
12682 func(static_cast<stickerFullTypeRegular &>(*obj));
12683 }
12684 return true;
12685 case stickerFullTypeMask::ID:
12686 if constexpr (AllowTag) {
12687 downcast_call_tag<stickerFullTypeMask> type_tag;
12688 func(type_tag);
12689 } else {
12690 func(static_cast<stickerFullTypeMask &>(*obj));
12691 }
12692 return true;
12693 case stickerFullTypeCustomEmoji::ID:
12694 if constexpr (AllowTag) {
12695 downcast_call_tag<stickerFullTypeCustomEmoji> type_tag;
12696 func(type_tag);
12697 } else {
12698 func(static_cast<stickerFullTypeCustomEmoji &>(*obj));
12699 }
12700 return true;
12701 case stickerSet::ID:
12702 if constexpr (AllowTag) {
12703 downcast_call_tag<stickerSet> type_tag;
12704 func(type_tag);
12705 } else {
12706 func(static_cast<stickerSet &>(*obj));
12707 }
12708 return true;
12709 case stickerSetInfo::ID:
12710 if constexpr (AllowTag) {
12711 downcast_call_tag<stickerSetInfo> type_tag;
12712 func(type_tag);
12713 } else {
12714 func(static_cast<stickerSetInfo &>(*obj));
12715 }
12716 return true;
12717 case stickerSets::ID:
12718 if constexpr (AllowTag) {
12719 downcast_call_tag<stickerSets> type_tag;
12720 func(type_tag);
12721 } else {
12722 func(static_cast<stickerSets &>(*obj));
12723 }
12724 return true;
12725 case stickerTypeRegular::ID:
12726 if constexpr (AllowTag) {
12727 downcast_call_tag<stickerTypeRegular> type_tag;
12728 func(type_tag);
12729 } else {
12730 func(static_cast<stickerTypeRegular &>(*obj));
12731 }
12732 return true;
12733 case stickerTypeMask::ID:
12734 if constexpr (AllowTag) {
12735 downcast_call_tag<stickerTypeMask> type_tag;
12736 func(type_tag);
12737 } else {
12738 func(static_cast<stickerTypeMask &>(*obj));
12739 }
12740 return true;
12741 case stickerTypeCustomEmoji::ID:
12742 if constexpr (AllowTag) {
12743 downcast_call_tag<stickerTypeCustomEmoji> type_tag;
12744 func(type_tag);
12745 } else {
12746 func(static_cast<stickerTypeCustomEmoji &>(*obj));
12747 }
12748 return true;
12749 case stickers::ID:
12750 if constexpr (AllowTag) {
12751 downcast_call_tag<stickers> type_tag;
12752 func(type_tag);
12753 } else {
12754 func(static_cast<stickers &>(*obj));
12755 }
12756 return true;
12757 case storageStatistics::ID:
12758 if constexpr (AllowTag) {
12759 downcast_call_tag<storageStatistics> type_tag;
12760 func(type_tag);
12761 } else {
12762 func(static_cast<storageStatistics &>(*obj));
12763 }
12764 return true;
12765 case storageStatisticsByChat::ID:
12766 if constexpr (AllowTag) {
12767 downcast_call_tag<storageStatisticsByChat> type_tag;
12768 func(type_tag);
12769 } else {
12770 func(static_cast<storageStatisticsByChat &>(*obj));
12771 }
12772 return true;
12773 case storageStatisticsByFileType::ID:
12774 if constexpr (AllowTag) {
12775 downcast_call_tag<storageStatisticsByFileType> type_tag;
12776 func(type_tag);
12777 } else {
12778 func(static_cast<storageStatisticsByFileType &>(*obj));
12779 }
12780 return true;
12781 case storageStatisticsFast::ID:
12782 if constexpr (AllowTag) {
12783 downcast_call_tag<storageStatisticsFast> type_tag;
12784 func(type_tag);
12785 } else {
12786 func(static_cast<storageStatisticsFast &>(*obj));
12787 }
12788 return true;
12789 case storePaymentPurposePremiumSubscription::ID:
12790 if constexpr (AllowTag) {
12791 downcast_call_tag<storePaymentPurposePremiumSubscription> type_tag;
12792 func(type_tag);
12793 } else {
12794 func(static_cast<storePaymentPurposePremiumSubscription &>(*obj));
12795 }
12796 return true;
12797 case storePaymentPurposePremiumGift::ID:
12798 if constexpr (AllowTag) {
12799 downcast_call_tag<storePaymentPurposePremiumGift> type_tag;
12800 func(type_tag);
12801 } else {
12802 func(static_cast<storePaymentPurposePremiumGift &>(*obj));
12803 }
12804 return true;
12805 case storePaymentPurposePremiumGiftCodes::ID:
12806 if constexpr (AllowTag) {
12807 downcast_call_tag<storePaymentPurposePremiumGiftCodes> type_tag;
12808 func(type_tag);
12809 } else {
12810 func(static_cast<storePaymentPurposePremiumGiftCodes &>(*obj));
12811 }
12812 return true;
12813 case storePaymentPurposePremiumGiveaway::ID:
12814 if constexpr (AllowTag) {
12815 downcast_call_tag<storePaymentPurposePremiumGiveaway> type_tag;
12816 func(type_tag);
12817 } else {
12818 func(static_cast<storePaymentPurposePremiumGiveaway &>(*obj));
12819 }
12820 return true;
12821 case storePaymentPurposeStarGiveaway::ID:
12822 if constexpr (AllowTag) {
12823 downcast_call_tag<storePaymentPurposeStarGiveaway> type_tag;
12824 func(type_tag);
12825 } else {
12826 func(static_cast<storePaymentPurposeStarGiveaway &>(*obj));
12827 }
12828 return true;
12829 case storePaymentPurposeStars::ID:
12830 if constexpr (AllowTag) {
12831 downcast_call_tag<storePaymentPurposeStars> type_tag;
12832 func(type_tag);
12833 } else {
12834 func(static_cast<storePaymentPurposeStars &>(*obj));
12835 }
12836 return true;
12837 case storePaymentPurposeGiftedStars::ID:
12838 if constexpr (AllowTag) {
12839 downcast_call_tag<storePaymentPurposeGiftedStars> type_tag;
12840 func(type_tag);
12841 } else {
12842 func(static_cast<storePaymentPurposeGiftedStars &>(*obj));
12843 }
12844 return true;
12845 case storeTransactionAppStore::ID:
12846 if constexpr (AllowTag) {
12847 downcast_call_tag<storeTransactionAppStore> type_tag;
12848 func(type_tag);
12849 } else {
12850 func(static_cast<storeTransactionAppStore &>(*obj));
12851 }
12852 return true;
12853 case storeTransactionGooglePlay::ID:
12854 if constexpr (AllowTag) {
12855 downcast_call_tag<storeTransactionGooglePlay> type_tag;
12856 func(type_tag);
12857 } else {
12858 func(static_cast<storeTransactionGooglePlay &>(*obj));
12859 }
12860 return true;
12861 case stories::ID:
12862 if constexpr (AllowTag) {
12863 downcast_call_tag<stories> type_tag;
12864 func(type_tag);
12865 } else {
12866 func(static_cast<stories &>(*obj));
12867 }
12868 return true;
12869 case story::ID:
12870 if constexpr (AllowTag) {
12871 downcast_call_tag<story> type_tag;
12872 func(type_tag);
12873 } else {
12874 func(static_cast<story &>(*obj));
12875 }
12876 return true;
12877 case storyAlbum::ID:
12878 if constexpr (AllowTag) {
12879 downcast_call_tag<storyAlbum> type_tag;
12880 func(type_tag);
12881 } else {
12882 func(static_cast<storyAlbum &>(*obj));
12883 }
12884 return true;
12885 case storyAlbums::ID:
12886 if constexpr (AllowTag) {
12887 downcast_call_tag<storyAlbums> type_tag;
12888 func(type_tag);
12889 } else {
12890 func(static_cast<storyAlbums &>(*obj));
12891 }
12892 return true;
12893 case storyArea::ID:
12894 if constexpr (AllowTag) {
12895 downcast_call_tag<storyArea> type_tag;
12896 func(type_tag);
12897 } else {
12898 func(static_cast<storyArea &>(*obj));
12899 }
12900 return true;
12901 case storyAreaPosition::ID:
12902 if constexpr (AllowTag) {
12903 downcast_call_tag<storyAreaPosition> type_tag;
12904 func(type_tag);
12905 } else {
12906 func(static_cast<storyAreaPosition &>(*obj));
12907 }
12908 return true;
12909 case storyAreaTypeLocation::ID:
12910 if constexpr (AllowTag) {
12911 downcast_call_tag<storyAreaTypeLocation> type_tag;
12912 func(type_tag);
12913 } else {
12914 func(static_cast<storyAreaTypeLocation &>(*obj));
12915 }
12916 return true;
12917 case storyAreaTypeVenue::ID:
12918 if constexpr (AllowTag) {
12919 downcast_call_tag<storyAreaTypeVenue> type_tag;
12920 func(type_tag);
12921 } else {
12922 func(static_cast<storyAreaTypeVenue &>(*obj));
12923 }
12924 return true;
12925 case storyAreaTypeSuggestedReaction::ID:
12926 if constexpr (AllowTag) {
12927 downcast_call_tag<storyAreaTypeSuggestedReaction> type_tag;
12928 func(type_tag);
12929 } else {
12930 func(static_cast<storyAreaTypeSuggestedReaction &>(*obj));
12931 }
12932 return true;
12933 case storyAreaTypeMessage::ID:
12934 if constexpr (AllowTag) {
12935 downcast_call_tag<storyAreaTypeMessage> type_tag;
12936 func(type_tag);
12937 } else {
12938 func(static_cast<storyAreaTypeMessage &>(*obj));
12939 }
12940 return true;
12941 case storyAreaTypeLink::ID:
12942 if constexpr (AllowTag) {
12943 downcast_call_tag<storyAreaTypeLink> type_tag;
12944 func(type_tag);
12945 } else {
12946 func(static_cast<storyAreaTypeLink &>(*obj));
12947 }
12948 return true;
12949 case storyAreaTypeWeather::ID:
12950 if constexpr (AllowTag) {
12951 downcast_call_tag<storyAreaTypeWeather> type_tag;
12952 func(type_tag);
12953 } else {
12954 func(static_cast<storyAreaTypeWeather &>(*obj));
12955 }
12956 return true;
12957 case storyAreaTypeUpgradedGift::ID:
12958 if constexpr (AllowTag) {
12959 downcast_call_tag<storyAreaTypeUpgradedGift> type_tag;
12960 func(type_tag);
12961 } else {
12962 func(static_cast<storyAreaTypeUpgradedGift &>(*obj));
12963 }
12964 return true;
12965 case storyContentPhoto::ID:
12966 if constexpr (AllowTag) {
12967 downcast_call_tag<storyContentPhoto> type_tag;
12968 func(type_tag);
12969 } else {
12970 func(static_cast<storyContentPhoto &>(*obj));
12971 }
12972 return true;
12973 case storyContentVideo::ID:
12974 if constexpr (AllowTag) {
12975 downcast_call_tag<storyContentVideo> type_tag;
12976 func(type_tag);
12977 } else {
12978 func(static_cast<storyContentVideo &>(*obj));
12979 }
12980 return true;
12981 case storyContentLive::ID:
12982 if constexpr (AllowTag) {
12983 downcast_call_tag<storyContentLive> type_tag;
12984 func(type_tag);
12985 } else {
12986 func(static_cast<storyContentLive &>(*obj));
12987 }
12988 return true;
12989 case storyContentUnsupported::ID:
12990 if constexpr (AllowTag) {
12991 downcast_call_tag<storyContentUnsupported> type_tag;
12992 func(type_tag);
12993 } else {
12994 func(static_cast<storyContentUnsupported &>(*obj));
12995 }
12996 return true;
12997 case storyContentTypePhoto::ID:
12998 if constexpr (AllowTag) {
12999 downcast_call_tag<storyContentTypePhoto> type_tag;
13000 func(type_tag);
13001 } else {
13002 func(static_cast<storyContentTypePhoto &>(*obj));
13003 }
13004 return true;
13005 case storyContentTypeVideo::ID:
13006 if constexpr (AllowTag) {
13007 downcast_call_tag<storyContentTypeVideo> type_tag;
13008 func(type_tag);
13009 } else {
13010 func(static_cast<storyContentTypeVideo &>(*obj));
13011 }
13012 return true;
13013 case storyContentTypeLive::ID:
13014 if constexpr (AllowTag) {
13015 downcast_call_tag<storyContentTypeLive> type_tag;
13016 func(type_tag);
13017 } else {
13018 func(static_cast<storyContentTypeLive &>(*obj));
13019 }
13020 return true;
13021 case storyContentTypeUnsupported::ID:
13022 if constexpr (AllowTag) {
13023 downcast_call_tag<storyContentTypeUnsupported> type_tag;
13024 func(type_tag);
13025 } else {
13026 func(static_cast<storyContentTypeUnsupported &>(*obj));
13027 }
13028 return true;
13029 case storyFullId::ID:
13030 if constexpr (AllowTag) {
13031 downcast_call_tag<storyFullId> type_tag;
13032 func(type_tag);
13033 } else {
13034 func(static_cast<storyFullId &>(*obj));
13035 }
13036 return true;
13037 case storyInfo::ID:
13038 if constexpr (AllowTag) {
13039 downcast_call_tag<storyInfo> type_tag;
13040 func(type_tag);
13041 } else {
13042 func(static_cast<storyInfo &>(*obj));
13043 }
13044 return true;
13045 case storyInteraction::ID:
13046 if constexpr (AllowTag) {
13047 downcast_call_tag<storyInteraction> type_tag;
13048 func(type_tag);
13049 } else {
13050 func(static_cast<storyInteraction &>(*obj));
13051 }
13052 return true;
13053 case storyInteractionInfo::ID:
13054 if constexpr (AllowTag) {
13055 downcast_call_tag<storyInteractionInfo> type_tag;
13056 func(type_tag);
13057 } else {
13058 func(static_cast<storyInteractionInfo &>(*obj));
13059 }
13060 return true;
13061 case storyInteractionTypeView::ID:
13062 if constexpr (AllowTag) {
13063 downcast_call_tag<storyInteractionTypeView> type_tag;
13064 func(type_tag);
13065 } else {
13066 func(static_cast<storyInteractionTypeView &>(*obj));
13067 }
13068 return true;
13069 case storyInteractionTypeForward::ID:
13070 if constexpr (AllowTag) {
13071 downcast_call_tag<storyInteractionTypeForward> type_tag;
13072 func(type_tag);
13073 } else {
13074 func(static_cast<storyInteractionTypeForward &>(*obj));
13075 }
13076 return true;
13077 case storyInteractionTypeRepost::ID:
13078 if constexpr (AllowTag) {
13079 downcast_call_tag<storyInteractionTypeRepost> type_tag;
13080 func(type_tag);
13081 } else {
13082 func(static_cast<storyInteractionTypeRepost &>(*obj));
13083 }
13084 return true;
13085 case storyInteractions::ID:
13086 if constexpr (AllowTag) {
13087 downcast_call_tag<storyInteractions> type_tag;
13088 func(type_tag);
13089 } else {
13090 func(static_cast<storyInteractions &>(*obj));
13091 }
13092 return true;
13093 case storyListMain::ID:
13094 if constexpr (AllowTag) {
13095 downcast_call_tag<storyListMain> type_tag;
13096 func(type_tag);
13097 } else {
13098 func(static_cast<storyListMain &>(*obj));
13099 }
13100 return true;
13101 case storyListArchive::ID:
13102 if constexpr (AllowTag) {
13103 downcast_call_tag<storyListArchive> type_tag;
13104 func(type_tag);
13105 } else {
13106 func(static_cast<storyListArchive &>(*obj));
13107 }
13108 return true;
13109 case storyOriginPublicStory::ID:
13110 if constexpr (AllowTag) {
13111 downcast_call_tag<storyOriginPublicStory> type_tag;
13112 func(type_tag);
13113 } else {
13114 func(static_cast<storyOriginPublicStory &>(*obj));
13115 }
13116 return true;
13117 case storyOriginHiddenUser::ID:
13118 if constexpr (AllowTag) {
13119 downcast_call_tag<storyOriginHiddenUser> type_tag;
13120 func(type_tag);
13121 } else {
13122 func(static_cast<storyOriginHiddenUser &>(*obj));
13123 }
13124 return true;
13125 case storyPrivacySettingsEveryone::ID:
13126 if constexpr (AllowTag) {
13127 downcast_call_tag<storyPrivacySettingsEveryone> type_tag;
13128 func(type_tag);
13129 } else {
13130 func(static_cast<storyPrivacySettingsEveryone &>(*obj));
13131 }
13132 return true;
13133 case storyPrivacySettingsContacts::ID:
13134 if constexpr (AllowTag) {
13135 downcast_call_tag<storyPrivacySettingsContacts> type_tag;
13136 func(type_tag);
13137 } else {
13138 func(static_cast<storyPrivacySettingsContacts &>(*obj));
13139 }
13140 return true;
13141 case storyPrivacySettingsCloseFriends::ID:
13142 if constexpr (AllowTag) {
13143 downcast_call_tag<storyPrivacySettingsCloseFriends> type_tag;
13144 func(type_tag);
13145 } else {
13146 func(static_cast<storyPrivacySettingsCloseFriends &>(*obj));
13147 }
13148 return true;
13149 case storyPrivacySettingsSelectedUsers::ID:
13150 if constexpr (AllowTag) {
13151 downcast_call_tag<storyPrivacySettingsSelectedUsers> type_tag;
13152 func(type_tag);
13153 } else {
13154 func(static_cast<storyPrivacySettingsSelectedUsers &>(*obj));
13155 }
13156 return true;
13157 case storyRepostInfo::ID:
13158 if constexpr (AllowTag) {
13159 downcast_call_tag<storyRepostInfo> type_tag;
13160 func(type_tag);
13161 } else {
13162 func(static_cast<storyRepostInfo &>(*obj));
13163 }
13164 return true;
13165 case storyStatistics::ID:
13166 if constexpr (AllowTag) {
13167 downcast_call_tag<storyStatistics> type_tag;
13168 func(type_tag);
13169 } else {
13170 func(static_cast<storyStatistics &>(*obj));
13171 }
13172 return true;
13173 case storyVideo::ID:
13174 if constexpr (AllowTag) {
13175 downcast_call_tag<storyVideo> type_tag;
13176 func(type_tag);
13177 } else {
13178 func(static_cast<storyVideo &>(*obj));
13179 }
13180 return true;
13181 case suggestedActionEnableArchiveAndMuteNewChats::ID:
13182 if constexpr (AllowTag) {
13183 downcast_call_tag<suggestedActionEnableArchiveAndMuteNewChats> type_tag;
13184 func(type_tag);
13185 } else {
13186 func(static_cast<suggestedActionEnableArchiveAndMuteNewChats &>(*obj));
13187 }
13188 return true;
13189 case suggestedActionCheckPassword::ID:
13190 if constexpr (AllowTag) {
13191 downcast_call_tag<suggestedActionCheckPassword> type_tag;
13192 func(type_tag);
13193 } else {
13194 func(static_cast<suggestedActionCheckPassword &>(*obj));
13195 }
13196 return true;
13197 case suggestedActionCheckPhoneNumber::ID:
13198 if constexpr (AllowTag) {
13199 downcast_call_tag<suggestedActionCheckPhoneNumber> type_tag;
13200 func(type_tag);
13201 } else {
13202 func(static_cast<suggestedActionCheckPhoneNumber &>(*obj));
13203 }
13204 return true;
13205 case suggestedActionViewChecksHint::ID:
13206 if constexpr (AllowTag) {
13207 downcast_call_tag<suggestedActionViewChecksHint> type_tag;
13208 func(type_tag);
13209 } else {
13210 func(static_cast<suggestedActionViewChecksHint &>(*obj));
13211 }
13212 return true;
13213 case suggestedActionConvertToBroadcastGroup::ID:
13214 if constexpr (AllowTag) {
13215 downcast_call_tag<suggestedActionConvertToBroadcastGroup> type_tag;
13216 func(type_tag);
13217 } else {
13218 func(static_cast<suggestedActionConvertToBroadcastGroup &>(*obj));
13219 }
13220 return true;
13221 case suggestedActionSetPassword::ID:
13222 if constexpr (AllowTag) {
13223 downcast_call_tag<suggestedActionSetPassword> type_tag;
13224 func(type_tag);
13225 } else {
13226 func(static_cast<suggestedActionSetPassword &>(*obj));
13227 }
13228 return true;
13229 case suggestedActionUpgradePremium::ID:
13230 if constexpr (AllowTag) {
13231 downcast_call_tag<suggestedActionUpgradePremium> type_tag;
13232 func(type_tag);
13233 } else {
13234 func(static_cast<suggestedActionUpgradePremium &>(*obj));
13235 }
13236 return true;
13237 case suggestedActionRestorePremium::ID:
13238 if constexpr (AllowTag) {
13239 downcast_call_tag<suggestedActionRestorePremium> type_tag;
13240 func(type_tag);
13241 } else {
13242 func(static_cast<suggestedActionRestorePremium &>(*obj));
13243 }
13244 return true;
13245 case suggestedActionSubscribeToAnnualPremium::ID:
13246 if constexpr (AllowTag) {
13247 downcast_call_tag<suggestedActionSubscribeToAnnualPremium> type_tag;
13248 func(type_tag);
13249 } else {
13250 func(static_cast<suggestedActionSubscribeToAnnualPremium &>(*obj));
13251 }
13252 return true;
13253 case suggestedActionGiftPremiumForChristmas::ID:
13254 if constexpr (AllowTag) {
13255 downcast_call_tag<suggestedActionGiftPremiumForChristmas> type_tag;
13256 func(type_tag);
13257 } else {
13258 func(static_cast<suggestedActionGiftPremiumForChristmas &>(*obj));
13259 }
13260 return true;
13261 case suggestedActionSetBirthdate::ID:
13262 if constexpr (AllowTag) {
13263 downcast_call_tag<suggestedActionSetBirthdate> type_tag;
13264 func(type_tag);
13265 } else {
13266 func(static_cast<suggestedActionSetBirthdate &>(*obj));
13267 }
13268 return true;
13269 case suggestedActionSetProfilePhoto::ID:
13270 if constexpr (AllowTag) {
13271 downcast_call_tag<suggestedActionSetProfilePhoto> type_tag;
13272 func(type_tag);
13273 } else {
13274 func(static_cast<suggestedActionSetProfilePhoto &>(*obj));
13275 }
13276 return true;
13277 case suggestedActionExtendPremium::ID:
13278 if constexpr (AllowTag) {
13279 downcast_call_tag<suggestedActionExtendPremium> type_tag;
13280 func(type_tag);
13281 } else {
13282 func(static_cast<suggestedActionExtendPremium &>(*obj));
13283 }
13284 return true;
13285 case suggestedActionExtendStarSubscriptions::ID:
13286 if constexpr (AllowTag) {
13287 downcast_call_tag<suggestedActionExtendStarSubscriptions> type_tag;
13288 func(type_tag);
13289 } else {
13290 func(static_cast<suggestedActionExtendStarSubscriptions &>(*obj));
13291 }
13292 return true;
13293 case suggestedActionCustom::ID:
13294 if constexpr (AllowTag) {
13295 downcast_call_tag<suggestedActionCustom> type_tag;
13296 func(type_tag);
13297 } else {
13298 func(static_cast<suggestedActionCustom &>(*obj));
13299 }
13300 return true;
13301 case suggestedActionSetLoginEmailAddress::ID:
13302 if constexpr (AllowTag) {
13303 downcast_call_tag<suggestedActionSetLoginEmailAddress> type_tag;
13304 func(type_tag);
13305 } else {
13306 func(static_cast<suggestedActionSetLoginEmailAddress &>(*obj));
13307 }
13308 return true;
13309 case suggestedActionAddLoginPasskey::ID:
13310 if constexpr (AllowTag) {
13311 downcast_call_tag<suggestedActionAddLoginPasskey> type_tag;
13312 func(type_tag);
13313 } else {
13314 func(static_cast<suggestedActionAddLoginPasskey &>(*obj));
13315 }
13316 return true;
13317 case suggestedPostInfo::ID:
13318 if constexpr (AllowTag) {
13319 downcast_call_tag<suggestedPostInfo> type_tag;
13320 func(type_tag);
13321 } else {
13322 func(static_cast<suggestedPostInfo &>(*obj));
13323 }
13324 return true;
13325 case suggestedPostPriceStar::ID:
13326 if constexpr (AllowTag) {
13327 downcast_call_tag<suggestedPostPriceStar> type_tag;
13328 func(type_tag);
13329 } else {
13330 func(static_cast<suggestedPostPriceStar &>(*obj));
13331 }
13332 return true;
13333 case suggestedPostPriceTon::ID:
13334 if constexpr (AllowTag) {
13335 downcast_call_tag<suggestedPostPriceTon> type_tag;
13336 func(type_tag);
13337 } else {
13338 func(static_cast<suggestedPostPriceTon &>(*obj));
13339 }
13340 return true;
13341 case suggestedPostRefundReasonPostDeleted::ID:
13342 if constexpr (AllowTag) {
13343 downcast_call_tag<suggestedPostRefundReasonPostDeleted> type_tag;
13344 func(type_tag);
13345 } else {
13346 func(static_cast<suggestedPostRefundReasonPostDeleted &>(*obj));
13347 }
13348 return true;
13349 case suggestedPostRefundReasonPaymentRefunded::ID:
13350 if constexpr (AllowTag) {
13351 downcast_call_tag<suggestedPostRefundReasonPaymentRefunded> type_tag;
13352 func(type_tag);
13353 } else {
13354 func(static_cast<suggestedPostRefundReasonPaymentRefunded &>(*obj));
13355 }
13356 return true;
13357 case suggestedPostStatePending::ID:
13358 if constexpr (AllowTag) {
13359 downcast_call_tag<suggestedPostStatePending> type_tag;
13360 func(type_tag);
13361 } else {
13362 func(static_cast<suggestedPostStatePending &>(*obj));
13363 }
13364 return true;
13365 case suggestedPostStateApproved::ID:
13366 if constexpr (AllowTag) {
13367 downcast_call_tag<suggestedPostStateApproved> type_tag;
13368 func(type_tag);
13369 } else {
13370 func(static_cast<suggestedPostStateApproved &>(*obj));
13371 }
13372 return true;
13373 case suggestedPostStateDeclined::ID:
13374 if constexpr (AllowTag) {
13375 downcast_call_tag<suggestedPostStateDeclined> type_tag;
13376 func(type_tag);
13377 } else {
13378 func(static_cast<suggestedPostStateDeclined &>(*obj));
13379 }
13380 return true;
13381 case supergroup::ID:
13382 if constexpr (AllowTag) {
13383 downcast_call_tag<supergroup> type_tag;
13384 func(type_tag);
13385 } else {
13386 func(static_cast<supergroup &>(*obj));
13387 }
13388 return true;
13389 case supergroupFullInfo::ID:
13390 if constexpr (AllowTag) {
13391 downcast_call_tag<supergroupFullInfo> type_tag;
13392 func(type_tag);
13393 } else {
13394 func(static_cast<supergroupFullInfo &>(*obj));
13395 }
13396 return true;
13397 case supergroupMembersFilterRecent::ID:
13398 if constexpr (AllowTag) {
13399 downcast_call_tag<supergroupMembersFilterRecent> type_tag;
13400 func(type_tag);
13401 } else {
13402 func(static_cast<supergroupMembersFilterRecent &>(*obj));
13403 }
13404 return true;
13405 case supergroupMembersFilterContacts::ID:
13406 if constexpr (AllowTag) {
13407 downcast_call_tag<supergroupMembersFilterContacts> type_tag;
13408 func(type_tag);
13409 } else {
13410 func(static_cast<supergroupMembersFilterContacts &>(*obj));
13411 }
13412 return true;
13413 case supergroupMembersFilterAdministrators::ID:
13414 if constexpr (AllowTag) {
13415 downcast_call_tag<supergroupMembersFilterAdministrators> type_tag;
13416 func(type_tag);
13417 } else {
13418 func(static_cast<supergroupMembersFilterAdministrators &>(*obj));
13419 }
13420 return true;
13421 case supergroupMembersFilterSearch::ID:
13422 if constexpr (AllowTag) {
13423 downcast_call_tag<supergroupMembersFilterSearch> type_tag;
13424 func(type_tag);
13425 } else {
13426 func(static_cast<supergroupMembersFilterSearch &>(*obj));
13427 }
13428 return true;
13429 case supergroupMembersFilterRestricted::ID:
13430 if constexpr (AllowTag) {
13431 downcast_call_tag<supergroupMembersFilterRestricted> type_tag;
13432 func(type_tag);
13433 } else {
13434 func(static_cast<supergroupMembersFilterRestricted &>(*obj));
13435 }
13436 return true;
13437 case supergroupMembersFilterBanned::ID:
13438 if constexpr (AllowTag) {
13439 downcast_call_tag<supergroupMembersFilterBanned> type_tag;
13440 func(type_tag);
13441 } else {
13442 func(static_cast<supergroupMembersFilterBanned &>(*obj));
13443 }
13444 return true;
13445 case supergroupMembersFilterMention::ID:
13446 if constexpr (AllowTag) {
13447 downcast_call_tag<supergroupMembersFilterMention> type_tag;
13448 func(type_tag);
13449 } else {
13450 func(static_cast<supergroupMembersFilterMention &>(*obj));
13451 }
13452 return true;
13453 case supergroupMembersFilterBots::ID:
13454 if constexpr (AllowTag) {
13455 downcast_call_tag<supergroupMembersFilterBots> type_tag;
13456 func(type_tag);
13457 } else {
13458 func(static_cast<supergroupMembersFilterBots &>(*obj));
13459 }
13460 return true;
13461 case tMeUrl::ID:
13462 if constexpr (AllowTag) {
13463 downcast_call_tag<tMeUrl> type_tag;
13464 func(type_tag);
13465 } else {
13466 func(static_cast<tMeUrl &>(*obj));
13467 }
13468 return true;
13469 case tMeUrlTypeUser::ID:
13470 if constexpr (AllowTag) {
13471 downcast_call_tag<tMeUrlTypeUser> type_tag;
13472 func(type_tag);
13473 } else {
13474 func(static_cast<tMeUrlTypeUser &>(*obj));
13475 }
13476 return true;
13477 case tMeUrlTypeSupergroup::ID:
13478 if constexpr (AllowTag) {
13479 downcast_call_tag<tMeUrlTypeSupergroup> type_tag;
13480 func(type_tag);
13481 } else {
13482 func(static_cast<tMeUrlTypeSupergroup &>(*obj));
13483 }
13484 return true;
13485 case tMeUrlTypeChatInvite::ID:
13486 if constexpr (AllowTag) {
13487 downcast_call_tag<tMeUrlTypeChatInvite> type_tag;
13488 func(type_tag);
13489 } else {
13490 func(static_cast<tMeUrlTypeChatInvite &>(*obj));
13491 }
13492 return true;
13493 case tMeUrlTypeStickerSet::ID:
13494 if constexpr (AllowTag) {
13495 downcast_call_tag<tMeUrlTypeStickerSet> type_tag;
13496 func(type_tag);
13497 } else {
13498 func(static_cast<tMeUrlTypeStickerSet &>(*obj));
13499 }
13500 return true;
13501 case tMeUrls::ID:
13502 if constexpr (AllowTag) {
13503 downcast_call_tag<tMeUrls> type_tag;
13504 func(type_tag);
13505 } else {
13506 func(static_cast<tMeUrls &>(*obj));
13507 }
13508 return true;
13509 case targetChatCurrent::ID:
13510 if constexpr (AllowTag) {
13511 downcast_call_tag<targetChatCurrent> type_tag;
13512 func(type_tag);
13513 } else {
13514 func(static_cast<targetChatCurrent &>(*obj));
13515 }
13516 return true;
13517 case targetChatChosen::ID:
13518 if constexpr (AllowTag) {
13519 downcast_call_tag<targetChatChosen> type_tag;
13520 func(type_tag);
13521 } else {
13522 func(static_cast<targetChatChosen &>(*obj));
13523 }
13524 return true;
13525 case targetChatInternalLink::ID:
13526 if constexpr (AllowTag) {
13527 downcast_call_tag<targetChatInternalLink> type_tag;
13528 func(type_tag);
13529 } else {
13530 func(static_cast<targetChatInternalLink &>(*obj));
13531 }
13532 return true;
13533 case targetChatTypes::ID:
13534 if constexpr (AllowTag) {
13535 downcast_call_tag<targetChatTypes> type_tag;
13536 func(type_tag);
13537 } else {
13538 func(static_cast<targetChatTypes &>(*obj));
13539 }
13540 return true;
13541 case telegramPaymentPurposePremiumGift::ID:
13542 if constexpr (AllowTag) {
13543 downcast_call_tag<telegramPaymentPurposePremiumGift> type_tag;
13544 func(type_tag);
13545 } else {
13546 func(static_cast<telegramPaymentPurposePremiumGift &>(*obj));
13547 }
13548 return true;
13549 case telegramPaymentPurposePremiumGiftCodes::ID:
13550 if constexpr (AllowTag) {
13551 downcast_call_tag<telegramPaymentPurposePremiumGiftCodes> type_tag;
13552 func(type_tag);
13553 } else {
13554 func(static_cast<telegramPaymentPurposePremiumGiftCodes &>(*obj));
13555 }
13556 return true;
13557 case telegramPaymentPurposePremiumGiveaway::ID:
13558 if constexpr (AllowTag) {
13559 downcast_call_tag<telegramPaymentPurposePremiumGiveaway> type_tag;
13560 func(type_tag);
13561 } else {
13562 func(static_cast<telegramPaymentPurposePremiumGiveaway &>(*obj));
13563 }
13564 return true;
13565 case telegramPaymentPurposeStars::ID:
13566 if constexpr (AllowTag) {
13567 downcast_call_tag<telegramPaymentPurposeStars> type_tag;
13568 func(type_tag);
13569 } else {
13570 func(static_cast<telegramPaymentPurposeStars &>(*obj));
13571 }
13572 return true;
13573 case telegramPaymentPurposeGiftedStars::ID:
13574 if constexpr (AllowTag) {
13575 downcast_call_tag<telegramPaymentPurposeGiftedStars> type_tag;
13576 func(type_tag);
13577 } else {
13578 func(static_cast<telegramPaymentPurposeGiftedStars &>(*obj));
13579 }
13580 return true;
13581 case telegramPaymentPurposeStarGiveaway::ID:
13582 if constexpr (AllowTag) {
13583 downcast_call_tag<telegramPaymentPurposeStarGiveaway> type_tag;
13584 func(type_tag);
13585 } else {
13586 func(static_cast<telegramPaymentPurposeStarGiveaway &>(*obj));
13587 }
13588 return true;
13589 case telegramPaymentPurposeJoinChat::ID:
13590 if constexpr (AllowTag) {
13591 downcast_call_tag<telegramPaymentPurposeJoinChat> type_tag;
13592 func(type_tag);
13593 } else {
13594 func(static_cast<telegramPaymentPurposeJoinChat &>(*obj));
13595 }
13596 return true;
13597 case temporaryPasswordState::ID:
13598 if constexpr (AllowTag) {
13599 downcast_call_tag<temporaryPasswordState> type_tag;
13600 func(type_tag);
13601 } else {
13602 func(static_cast<temporaryPasswordState &>(*obj));
13603 }
13604 return true;
13605 case termsOfService::ID:
13606 if constexpr (AllowTag) {
13607 downcast_call_tag<termsOfService> type_tag;
13608 func(type_tag);
13609 } else {
13610 func(static_cast<termsOfService &>(*obj));
13611 }
13612 return true;
13613 case testBytes::ID:
13614 if constexpr (AllowTag) {
13615 downcast_call_tag<testBytes> type_tag;
13616 func(type_tag);
13617 } else {
13618 func(static_cast<testBytes &>(*obj));
13619 }
13620 return true;
13621 case testInt::ID:
13622 if constexpr (AllowTag) {
13623 downcast_call_tag<testInt> type_tag;
13624 func(type_tag);
13625 } else {
13626 func(static_cast<testInt &>(*obj));
13627 }
13628 return true;
13629 case testString::ID:
13630 if constexpr (AllowTag) {
13631 downcast_call_tag<testString> type_tag;
13632 func(type_tag);
13633 } else {
13634 func(static_cast<testString &>(*obj));
13635 }
13636 return true;
13637 case testVectorInt::ID:
13638 if constexpr (AllowTag) {
13639 downcast_call_tag<testVectorInt> type_tag;
13640 func(type_tag);
13641 } else {
13642 func(static_cast<testVectorInt &>(*obj));
13643 }
13644 return true;
13645 case testVectorIntObject::ID:
13646 if constexpr (AllowTag) {
13647 downcast_call_tag<testVectorIntObject> type_tag;
13648 func(type_tag);
13649 } else {
13650 func(static_cast<testVectorIntObject &>(*obj));
13651 }
13652 return true;
13653 case testVectorString::ID:
13654 if constexpr (AllowTag) {
13655 downcast_call_tag<testVectorString> type_tag;
13656 func(type_tag);
13657 } else {
13658 func(static_cast<testVectorString &>(*obj));
13659 }
13660 return true;
13661 case testVectorStringObject::ID:
13662 if constexpr (AllowTag) {
13663 downcast_call_tag<testVectorStringObject> type_tag;
13664 func(type_tag);
13665 } else {
13666 func(static_cast<testVectorStringObject &>(*obj));
13667 }
13668 return true;
13669 case text::ID:
13670 if constexpr (AllowTag) {
13671 downcast_call_tag<text> type_tag;
13672 func(type_tag);
13673 } else {
13674 func(static_cast<text &>(*obj));
13675 }
13676 return true;
13677 case textCompositionStyle::ID:
13678 if constexpr (AllowTag) {
13679 downcast_call_tag<textCompositionStyle> type_tag;
13680 func(type_tag);
13681 } else {
13682 func(static_cast<textCompositionStyle &>(*obj));
13683 }
13684 return true;
13685 case textEntities::ID:
13686 if constexpr (AllowTag) {
13687 downcast_call_tag<textEntities> type_tag;
13688 func(type_tag);
13689 } else {
13690 func(static_cast<textEntities &>(*obj));
13691 }
13692 return true;
13693 case textEntity::ID:
13694 if constexpr (AllowTag) {
13695 downcast_call_tag<textEntity> type_tag;
13696 func(type_tag);
13697 } else {
13698 func(static_cast<textEntity &>(*obj));
13699 }
13700 return true;
13701 case textEntityTypeMention::ID:
13702 if constexpr (AllowTag) {
13703 downcast_call_tag<textEntityTypeMention> type_tag;
13704 func(type_tag);
13705 } else {
13706 func(static_cast<textEntityTypeMention &>(*obj));
13707 }
13708 return true;
13709 case textEntityTypeHashtag::ID:
13710 if constexpr (AllowTag) {
13711 downcast_call_tag<textEntityTypeHashtag> type_tag;
13712 func(type_tag);
13713 } else {
13714 func(static_cast<textEntityTypeHashtag &>(*obj));
13715 }
13716 return true;
13717 case textEntityTypeCashtag::ID:
13718 if constexpr (AllowTag) {
13719 downcast_call_tag<textEntityTypeCashtag> type_tag;
13720 func(type_tag);
13721 } else {
13722 func(static_cast<textEntityTypeCashtag &>(*obj));
13723 }
13724 return true;
13725 case textEntityTypeBotCommand::ID:
13726 if constexpr (AllowTag) {
13727 downcast_call_tag<textEntityTypeBotCommand> type_tag;
13728 func(type_tag);
13729 } else {
13730 func(static_cast<textEntityTypeBotCommand &>(*obj));
13731 }
13732 return true;
13733 case textEntityTypeUrl::ID:
13734 if constexpr (AllowTag) {
13735 downcast_call_tag<textEntityTypeUrl> type_tag;
13736 func(type_tag);
13737 } else {
13738 func(static_cast<textEntityTypeUrl &>(*obj));
13739 }
13740 return true;
13741 case textEntityTypeEmailAddress::ID:
13742 if constexpr (AllowTag) {
13743 downcast_call_tag<textEntityTypeEmailAddress> type_tag;
13744 func(type_tag);
13745 } else {
13746 func(static_cast<textEntityTypeEmailAddress &>(*obj));
13747 }
13748 return true;
13749 case textEntityTypePhoneNumber::ID:
13750 if constexpr (AllowTag) {
13751 downcast_call_tag<textEntityTypePhoneNumber> type_tag;
13752 func(type_tag);
13753 } else {
13754 func(static_cast<textEntityTypePhoneNumber &>(*obj));
13755 }
13756 return true;
13757 case textEntityTypeBankCardNumber::ID:
13758 if constexpr (AllowTag) {
13759 downcast_call_tag<textEntityTypeBankCardNumber> type_tag;
13760 func(type_tag);
13761 } else {
13762 func(static_cast<textEntityTypeBankCardNumber &>(*obj));
13763 }
13764 return true;
13765 case textEntityTypeBold::ID:
13766 if constexpr (AllowTag) {
13767 downcast_call_tag<textEntityTypeBold> type_tag;
13768 func(type_tag);
13769 } else {
13770 func(static_cast<textEntityTypeBold &>(*obj));
13771 }
13772 return true;
13773 case textEntityTypeItalic::ID:
13774 if constexpr (AllowTag) {
13775 downcast_call_tag<textEntityTypeItalic> type_tag;
13776 func(type_tag);
13777 } else {
13778 func(static_cast<textEntityTypeItalic &>(*obj));
13779 }
13780 return true;
13781 case textEntityTypeUnderline::ID:
13782 if constexpr (AllowTag) {
13783 downcast_call_tag<textEntityTypeUnderline> type_tag;
13784 func(type_tag);
13785 } else {
13786 func(static_cast<textEntityTypeUnderline &>(*obj));
13787 }
13788 return true;
13789 case textEntityTypeStrikethrough::ID:
13790 if constexpr (AllowTag) {
13791 downcast_call_tag<textEntityTypeStrikethrough> type_tag;
13792 func(type_tag);
13793 } else {
13794 func(static_cast<textEntityTypeStrikethrough &>(*obj));
13795 }
13796 return true;
13797 case textEntityTypeSpoiler::ID:
13798 if constexpr (AllowTag) {
13799 downcast_call_tag<textEntityTypeSpoiler> type_tag;
13800 func(type_tag);
13801 } else {
13802 func(static_cast<textEntityTypeSpoiler &>(*obj));
13803 }
13804 return true;
13805 case textEntityTypeCode::ID:
13806 if constexpr (AllowTag) {
13807 downcast_call_tag<textEntityTypeCode> type_tag;
13808 func(type_tag);
13809 } else {
13810 func(static_cast<textEntityTypeCode &>(*obj));
13811 }
13812 return true;
13813 case textEntityTypePre::ID:
13814 if constexpr (AllowTag) {
13815 downcast_call_tag<textEntityTypePre> type_tag;
13816 func(type_tag);
13817 } else {
13818 func(static_cast<textEntityTypePre &>(*obj));
13819 }
13820 return true;
13821 case textEntityTypePreCode::ID:
13822 if constexpr (AllowTag) {
13823 downcast_call_tag<textEntityTypePreCode> type_tag;
13824 func(type_tag);
13825 } else {
13826 func(static_cast<textEntityTypePreCode &>(*obj));
13827 }
13828 return true;
13829 case textEntityTypeBlockQuote::ID:
13830 if constexpr (AllowTag) {
13831 downcast_call_tag<textEntityTypeBlockQuote> type_tag;
13832 func(type_tag);
13833 } else {
13834 func(static_cast<textEntityTypeBlockQuote &>(*obj));
13835 }
13836 return true;
13837 case textEntityTypeExpandableBlockQuote::ID:
13838 if constexpr (AllowTag) {
13839 downcast_call_tag<textEntityTypeExpandableBlockQuote> type_tag;
13840 func(type_tag);
13841 } else {
13842 func(static_cast<textEntityTypeExpandableBlockQuote &>(*obj));
13843 }
13844 return true;
13845 case textEntityTypeTextUrl::ID:
13846 if constexpr (AllowTag) {
13847 downcast_call_tag<textEntityTypeTextUrl> type_tag;
13848 func(type_tag);
13849 } else {
13850 func(static_cast<textEntityTypeTextUrl &>(*obj));
13851 }
13852 return true;
13853 case textEntityTypeMentionName::ID:
13854 if constexpr (AllowTag) {
13855 downcast_call_tag<textEntityTypeMentionName> type_tag;
13856 func(type_tag);
13857 } else {
13858 func(static_cast<textEntityTypeMentionName &>(*obj));
13859 }
13860 return true;
13861 case textEntityTypeCustomEmoji::ID:
13862 if constexpr (AllowTag) {
13863 downcast_call_tag<textEntityTypeCustomEmoji> type_tag;
13864 func(type_tag);
13865 } else {
13866 func(static_cast<textEntityTypeCustomEmoji &>(*obj));
13867 }
13868 return true;
13869 case textEntityTypeMediaTimestamp::ID:
13870 if constexpr (AllowTag) {
13871 downcast_call_tag<textEntityTypeMediaTimestamp> type_tag;
13872 func(type_tag);
13873 } else {
13874 func(static_cast<textEntityTypeMediaTimestamp &>(*obj));
13875 }
13876 return true;
13877 case textEntityTypeDateTime::ID:
13878 if constexpr (AllowTag) {
13879 downcast_call_tag<textEntityTypeDateTime> type_tag;
13880 func(type_tag);
13881 } else {
13882 func(static_cast<textEntityTypeDateTime &>(*obj));
13883 }
13884 return true;
13885 case textParseModeMarkdown::ID:
13886 if constexpr (AllowTag) {
13887 downcast_call_tag<textParseModeMarkdown> type_tag;
13888 func(type_tag);
13889 } else {
13890 func(static_cast<textParseModeMarkdown &>(*obj));
13891 }
13892 return true;
13893 case textParseModeHTML::ID:
13894 if constexpr (AllowTag) {
13895 downcast_call_tag<textParseModeHTML> type_tag;
13896 func(type_tag);
13897 } else {
13898 func(static_cast<textParseModeHTML &>(*obj));
13899 }
13900 return true;
13901 case textQuote::ID:
13902 if constexpr (AllowTag) {
13903 downcast_call_tag<textQuote> type_tag;
13904 func(type_tag);
13905 } else {
13906 func(static_cast<textQuote &>(*obj));
13907 }
13908 return true;
13909 case themeParameters::ID:
13910 if constexpr (AllowTag) {
13911 downcast_call_tag<themeParameters> type_tag;
13912 func(type_tag);
13913 } else {
13914 func(static_cast<themeParameters &>(*obj));
13915 }
13916 return true;
13917 case themeSettings::ID:
13918 if constexpr (AllowTag) {
13919 downcast_call_tag<themeSettings> type_tag;
13920 func(type_tag);
13921 } else {
13922 func(static_cast<themeSettings &>(*obj));
13923 }
13924 return true;
13925 case thumbnail::ID:
13926 if constexpr (AllowTag) {
13927 downcast_call_tag<thumbnail> type_tag;
13928 func(type_tag);
13929 } else {
13930 func(static_cast<thumbnail &>(*obj));
13931 }
13932 return true;
13933 case thumbnailFormatJpeg::ID:
13934 if constexpr (AllowTag) {
13935 downcast_call_tag<thumbnailFormatJpeg> type_tag;
13936 func(type_tag);
13937 } else {
13938 func(static_cast<thumbnailFormatJpeg &>(*obj));
13939 }
13940 return true;
13941 case thumbnailFormatGif::ID:
13942 if constexpr (AllowTag) {
13943 downcast_call_tag<thumbnailFormatGif> type_tag;
13944 func(type_tag);
13945 } else {
13946 func(static_cast<thumbnailFormatGif &>(*obj));
13947 }
13948 return true;
13949 case thumbnailFormatMpeg4::ID:
13950 if constexpr (AllowTag) {
13951 downcast_call_tag<thumbnailFormatMpeg4> type_tag;
13952 func(type_tag);
13953 } else {
13954 func(static_cast<thumbnailFormatMpeg4 &>(*obj));
13955 }
13956 return true;
13957 case thumbnailFormatPng::ID:
13958 if constexpr (AllowTag) {
13959 downcast_call_tag<thumbnailFormatPng> type_tag;
13960 func(type_tag);
13961 } else {
13962 func(static_cast<thumbnailFormatPng &>(*obj));
13963 }
13964 return true;
13965 case thumbnailFormatTgs::ID:
13966 if constexpr (AllowTag) {
13967 downcast_call_tag<thumbnailFormatTgs> type_tag;
13968 func(type_tag);
13969 } else {
13970 func(static_cast<thumbnailFormatTgs &>(*obj));
13971 }
13972 return true;
13973 case thumbnailFormatWebm::ID:
13974 if constexpr (AllowTag) {
13975 downcast_call_tag<thumbnailFormatWebm> type_tag;
13976 func(type_tag);
13977 } else {
13978 func(static_cast<thumbnailFormatWebm &>(*obj));
13979 }
13980 return true;
13981 case thumbnailFormatWebp::ID:
13982 if constexpr (AllowTag) {
13983 downcast_call_tag<thumbnailFormatWebp> type_tag;
13984 func(type_tag);
13985 } else {
13986 func(static_cast<thumbnailFormatWebp &>(*obj));
13987 }
13988 return true;
13989 case timeZone::ID:
13990 if constexpr (AllowTag) {
13991 downcast_call_tag<timeZone> type_tag;
13992 func(type_tag);
13993 } else {
13994 func(static_cast<timeZone &>(*obj));
13995 }
13996 return true;
13997 case timeZones::ID:
13998 if constexpr (AllowTag) {
13999 downcast_call_tag<timeZones> type_tag;
14000 func(type_tag);
14001 } else {
14002 func(static_cast<timeZones &>(*obj));
14003 }
14004 return true;
14005 case tonRevenueStatistics::ID:
14006 if constexpr (AllowTag) {
14007 downcast_call_tag<tonRevenueStatistics> type_tag;
14008 func(type_tag);
14009 } else {
14010 func(static_cast<tonRevenueStatistics &>(*obj));
14011 }
14012 return true;
14013 case tonRevenueStatus::ID:
14014 if constexpr (AllowTag) {
14015 downcast_call_tag<tonRevenueStatus> type_tag;
14016 func(type_tag);
14017 } else {
14018 func(static_cast<tonRevenueStatus &>(*obj));
14019 }
14020 return true;
14021 case tonTransaction::ID:
14022 if constexpr (AllowTag) {
14023 downcast_call_tag<tonTransaction> type_tag;
14024 func(type_tag);
14025 } else {
14026 func(static_cast<tonTransaction &>(*obj));
14027 }
14028 return true;
14029 case tonTransactionTypeFragmentDeposit::ID:
14030 if constexpr (AllowTag) {
14031 downcast_call_tag<tonTransactionTypeFragmentDeposit> type_tag;
14032 func(type_tag);
14033 } else {
14034 func(static_cast<tonTransactionTypeFragmentDeposit &>(*obj));
14035 }
14036 return true;
14037 case tonTransactionTypeFragmentWithdrawal::ID:
14038 if constexpr (AllowTag) {
14039 downcast_call_tag<tonTransactionTypeFragmentWithdrawal> type_tag;
14040 func(type_tag);
14041 } else {
14042 func(static_cast<tonTransactionTypeFragmentWithdrawal &>(*obj));
14043 }
14044 return true;
14045 case tonTransactionTypeSuggestedPostPayment::ID:
14046 if constexpr (AllowTag) {
14047 downcast_call_tag<tonTransactionTypeSuggestedPostPayment> type_tag;
14048 func(type_tag);
14049 } else {
14050 func(static_cast<tonTransactionTypeSuggestedPostPayment &>(*obj));
14051 }
14052 return true;
14053 case tonTransactionTypeGiftPurchaseOffer::ID:
14054 if constexpr (AllowTag) {
14055 downcast_call_tag<tonTransactionTypeGiftPurchaseOffer> type_tag;
14056 func(type_tag);
14057 } else {
14058 func(static_cast<tonTransactionTypeGiftPurchaseOffer &>(*obj));
14059 }
14060 return true;
14061 case tonTransactionTypeUpgradedGiftPurchase::ID:
14062 if constexpr (AllowTag) {
14063 downcast_call_tag<tonTransactionTypeUpgradedGiftPurchase> type_tag;
14064 func(type_tag);
14065 } else {
14066 func(static_cast<tonTransactionTypeUpgradedGiftPurchase &>(*obj));
14067 }
14068 return true;
14069 case tonTransactionTypeUpgradedGiftSale::ID:
14070 if constexpr (AllowTag) {
14071 downcast_call_tag<tonTransactionTypeUpgradedGiftSale> type_tag;
14072 func(type_tag);
14073 } else {
14074 func(static_cast<tonTransactionTypeUpgradedGiftSale &>(*obj));
14075 }
14076 return true;
14077 case tonTransactionTypeStakeDiceStake::ID:
14078 if constexpr (AllowTag) {
14079 downcast_call_tag<tonTransactionTypeStakeDiceStake> type_tag;
14080 func(type_tag);
14081 } else {
14082 func(static_cast<tonTransactionTypeStakeDiceStake &>(*obj));
14083 }
14084 return true;
14085 case tonTransactionTypeStakeDicePayout::ID:
14086 if constexpr (AllowTag) {
14087 downcast_call_tag<tonTransactionTypeStakeDicePayout> type_tag;
14088 func(type_tag);
14089 } else {
14090 func(static_cast<tonTransactionTypeStakeDicePayout &>(*obj));
14091 }
14092 return true;
14093 case tonTransactionTypeUnsupported::ID:
14094 if constexpr (AllowTag) {
14095 downcast_call_tag<tonTransactionTypeUnsupported> type_tag;
14096 func(type_tag);
14097 } else {
14098 func(static_cast<tonTransactionTypeUnsupported &>(*obj));
14099 }
14100 return true;
14101 case tonTransactions::ID:
14102 if constexpr (AllowTag) {
14103 downcast_call_tag<tonTransactions> type_tag;
14104 func(type_tag);
14105 } else {
14106 func(static_cast<tonTransactions &>(*obj));
14107 }
14108 return true;
14109 case topChatCategoryUsers::ID:
14110 if constexpr (AllowTag) {
14111 downcast_call_tag<topChatCategoryUsers> type_tag;
14112 func(type_tag);
14113 } else {
14114 func(static_cast<topChatCategoryUsers &>(*obj));
14115 }
14116 return true;
14117 case topChatCategoryBots::ID:
14118 if constexpr (AllowTag) {
14119 downcast_call_tag<topChatCategoryBots> type_tag;
14120 func(type_tag);
14121 } else {
14122 func(static_cast<topChatCategoryBots &>(*obj));
14123 }
14124 return true;
14125 case topChatCategoryGroups::ID:
14126 if constexpr (AllowTag) {
14127 downcast_call_tag<topChatCategoryGroups> type_tag;
14128 func(type_tag);
14129 } else {
14130 func(static_cast<topChatCategoryGroups &>(*obj));
14131 }
14132 return true;
14133 case topChatCategoryChannels::ID:
14134 if constexpr (AllowTag) {
14135 downcast_call_tag<topChatCategoryChannels> type_tag;
14136 func(type_tag);
14137 } else {
14138 func(static_cast<topChatCategoryChannels &>(*obj));
14139 }
14140 return true;
14141 case topChatCategoryInlineBots::ID:
14142 if constexpr (AllowTag) {
14143 downcast_call_tag<topChatCategoryInlineBots> type_tag;
14144 func(type_tag);
14145 } else {
14146 func(static_cast<topChatCategoryInlineBots &>(*obj));
14147 }
14148 return true;
14149 case topChatCategoryGuestBots::ID:
14150 if constexpr (AllowTag) {
14151 downcast_call_tag<topChatCategoryGuestBots> type_tag;
14152 func(type_tag);
14153 } else {
14154 func(static_cast<topChatCategoryGuestBots &>(*obj));
14155 }
14156 return true;
14157 case topChatCategoryWebAppBots::ID:
14158 if constexpr (AllowTag) {
14159 downcast_call_tag<topChatCategoryWebAppBots> type_tag;
14160 func(type_tag);
14161 } else {
14162 func(static_cast<topChatCategoryWebAppBots &>(*obj));
14163 }
14164 return true;
14165 case topChatCategoryCalls::ID:
14166 if constexpr (AllowTag) {
14167 downcast_call_tag<topChatCategoryCalls> type_tag;
14168 func(type_tag);
14169 } else {
14170 func(static_cast<topChatCategoryCalls &>(*obj));
14171 }
14172 return true;
14173 case topChatCategoryForwardChats::ID:
14174 if constexpr (AllowTag) {
14175 downcast_call_tag<topChatCategoryForwardChats> type_tag;
14176 func(type_tag);
14177 } else {
14178 func(static_cast<topChatCategoryForwardChats &>(*obj));
14179 }
14180 return true;
14181 case transactionDirectionIncoming::ID:
14182 if constexpr (AllowTag) {
14183 downcast_call_tag<transactionDirectionIncoming> type_tag;
14184 func(type_tag);
14185 } else {
14186 func(static_cast<transactionDirectionIncoming &>(*obj));
14187 }
14188 return true;
14189 case transactionDirectionOutgoing::ID:
14190 if constexpr (AllowTag) {
14191 downcast_call_tag<transactionDirectionOutgoing> type_tag;
14192 func(type_tag);
14193 } else {
14194 func(static_cast<transactionDirectionOutgoing &>(*obj));
14195 }
14196 return true;
14197 case trendingStickerSets::ID:
14198 if constexpr (AllowTag) {
14199 downcast_call_tag<trendingStickerSets> type_tag;
14200 func(type_tag);
14201 } else {
14202 func(static_cast<trendingStickerSets &>(*obj));
14203 }
14204 return true;
14205 case unconfirmedSession::ID:
14206 if constexpr (AllowTag) {
14207 downcast_call_tag<unconfirmedSession> type_tag;
14208 func(type_tag);
14209 } else {
14210 func(static_cast<unconfirmedSession &>(*obj));
14211 }
14212 return true;
14213 case unreadReaction::ID:
14214 if constexpr (AllowTag) {
14215 downcast_call_tag<unreadReaction> type_tag;
14216 func(type_tag);
14217 } else {
14218 func(static_cast<unreadReaction &>(*obj));
14219 }
14220 return true;
14221 case updateAuthorizationState::ID:
14222 if constexpr (AllowTag) {
14223 downcast_call_tag<updateAuthorizationState> type_tag;
14224 func(type_tag);
14225 } else {
14226 func(static_cast<updateAuthorizationState &>(*obj));
14227 }
14228 return true;
14229 case updateNewMessage::ID:
14230 if constexpr (AllowTag) {
14231 downcast_call_tag<updateNewMessage> type_tag;
14232 func(type_tag);
14233 } else {
14234 func(static_cast<updateNewMessage &>(*obj));
14235 }
14236 return true;
14237 case updateMessageSendAcknowledged::ID:
14238 if constexpr (AllowTag) {
14239 downcast_call_tag<updateMessageSendAcknowledged> type_tag;
14240 func(type_tag);
14241 } else {
14242 func(static_cast<updateMessageSendAcknowledged &>(*obj));
14243 }
14244 return true;
14245 case updateMessageSendSucceeded::ID:
14246 if constexpr (AllowTag) {
14247 downcast_call_tag<updateMessageSendSucceeded> type_tag;
14248 func(type_tag);
14249 } else {
14250 func(static_cast<updateMessageSendSucceeded &>(*obj));
14251 }
14252 return true;
14253 case updateMessageSendFailed::ID:
14254 if constexpr (AllowTag) {
14255 downcast_call_tag<updateMessageSendFailed> type_tag;
14256 func(type_tag);
14257 } else {
14258 func(static_cast<updateMessageSendFailed &>(*obj));
14259 }
14260 return true;
14261 case updateMessageContent::ID:
14262 if constexpr (AllowTag) {
14263 downcast_call_tag<updateMessageContent> type_tag;
14264 func(type_tag);
14265 } else {
14266 func(static_cast<updateMessageContent &>(*obj));
14267 }
14268 return true;
14269 case updateMessageEdited::ID:
14270 if constexpr (AllowTag) {
14271 downcast_call_tag<updateMessageEdited> type_tag;
14272 func(type_tag);
14273 } else {
14274 func(static_cast<updateMessageEdited &>(*obj));
14275 }
14276 return true;
14277 case updateMessageIsPinned::ID:
14278 if constexpr (AllowTag) {
14279 downcast_call_tag<updateMessageIsPinned> type_tag;
14280 func(type_tag);
14281 } else {
14282 func(static_cast<updateMessageIsPinned &>(*obj));
14283 }
14284 return true;
14285 case updateMessageInteractionInfo::ID:
14286 if constexpr (AllowTag) {
14287 downcast_call_tag<updateMessageInteractionInfo> type_tag;
14288 func(type_tag);
14289 } else {
14290 func(static_cast<updateMessageInteractionInfo &>(*obj));
14291 }
14292 return true;
14293 case updateMessageContentOpened::ID:
14294 if constexpr (AllowTag) {
14295 downcast_call_tag<updateMessageContentOpened> type_tag;
14296 func(type_tag);
14297 } else {
14298 func(static_cast<updateMessageContentOpened &>(*obj));
14299 }
14300 return true;
14301 case updateMessageMentionRead::ID:
14302 if constexpr (AllowTag) {
14303 downcast_call_tag<updateMessageMentionRead> type_tag;
14304 func(type_tag);
14305 } else {
14306 func(static_cast<updateMessageMentionRead &>(*obj));
14307 }
14308 return true;
14309 case updateMessageUnreadReactions::ID:
14310 if constexpr (AllowTag) {
14311 downcast_call_tag<updateMessageUnreadReactions> type_tag;
14312 func(type_tag);
14313 } else {
14314 func(static_cast<updateMessageUnreadReactions &>(*obj));
14315 }
14316 return true;
14317 case updateMessageContainsUnreadPollVotes::ID:
14318 if constexpr (AllowTag) {
14319 downcast_call_tag<updateMessageContainsUnreadPollVotes> type_tag;
14320 func(type_tag);
14321 } else {
14322 func(static_cast<updateMessageContainsUnreadPollVotes &>(*obj));
14323 }
14324 return true;
14325 case updateMessageFactCheck::ID:
14326 if constexpr (AllowTag) {
14327 downcast_call_tag<updateMessageFactCheck> type_tag;
14328 func(type_tag);
14329 } else {
14330 func(static_cast<updateMessageFactCheck &>(*obj));
14331 }
14332 return true;
14333 case updateMessageSuggestedPostInfo::ID:
14334 if constexpr (AllowTag) {
14335 downcast_call_tag<updateMessageSuggestedPostInfo> type_tag;
14336 func(type_tag);
14337 } else {
14338 func(static_cast<updateMessageSuggestedPostInfo &>(*obj));
14339 }
14340 return true;
14341 case updateMessageLiveLocationViewed::ID:
14342 if constexpr (AllowTag) {
14343 downcast_call_tag<updateMessageLiveLocationViewed> type_tag;
14344 func(type_tag);
14345 } else {
14346 func(static_cast<updateMessageLiveLocationViewed &>(*obj));
14347 }
14348 return true;
14349 case updateVideoPublished::ID:
14350 if constexpr (AllowTag) {
14351 downcast_call_tag<updateVideoPublished> type_tag;
14352 func(type_tag);
14353 } else {
14354 func(static_cast<updateVideoPublished &>(*obj));
14355 }
14356 return true;
14357 case updateNewChat::ID:
14358 if constexpr (AllowTag) {
14359 downcast_call_tag<updateNewChat> type_tag;
14360 func(type_tag);
14361 } else {
14362 func(static_cast<updateNewChat &>(*obj));
14363 }
14364 return true;
14365 case updateChatTitle::ID:
14366 if constexpr (AllowTag) {
14367 downcast_call_tag<updateChatTitle> type_tag;
14368 func(type_tag);
14369 } else {
14370 func(static_cast<updateChatTitle &>(*obj));
14371 }
14372 return true;
14373 case updateChatPhoto::ID:
14374 if constexpr (AllowTag) {
14375 downcast_call_tag<updateChatPhoto> type_tag;
14376 func(type_tag);
14377 } else {
14378 func(static_cast<updateChatPhoto &>(*obj));
14379 }
14380 return true;
14381 case updateChatAccentColors::ID:
14382 if constexpr (AllowTag) {
14383 downcast_call_tag<updateChatAccentColors> type_tag;
14384 func(type_tag);
14385 } else {
14386 func(static_cast<updateChatAccentColors &>(*obj));
14387 }
14388 return true;
14389 case updateChatPermissions::ID:
14390 if constexpr (AllowTag) {
14391 downcast_call_tag<updateChatPermissions> type_tag;
14392 func(type_tag);
14393 } else {
14394 func(static_cast<updateChatPermissions &>(*obj));
14395 }
14396 return true;
14397 case updateChatLastMessage::ID:
14398 if constexpr (AllowTag) {
14399 downcast_call_tag<updateChatLastMessage> type_tag;
14400 func(type_tag);
14401 } else {
14402 func(static_cast<updateChatLastMessage &>(*obj));
14403 }
14404 return true;
14405 case updateChatPosition::ID:
14406 if constexpr (AllowTag) {
14407 downcast_call_tag<updateChatPosition> type_tag;
14408 func(type_tag);
14409 } else {
14410 func(static_cast<updateChatPosition &>(*obj));
14411 }
14412 return true;
14413 case updateChatAddedToList::ID:
14414 if constexpr (AllowTag) {
14415 downcast_call_tag<updateChatAddedToList> type_tag;
14416 func(type_tag);
14417 } else {
14418 func(static_cast<updateChatAddedToList &>(*obj));
14419 }
14420 return true;
14421 case updateChatRemovedFromList::ID:
14422 if constexpr (AllowTag) {
14423 downcast_call_tag<updateChatRemovedFromList> type_tag;
14424 func(type_tag);
14425 } else {
14426 func(static_cast<updateChatRemovedFromList &>(*obj));
14427 }
14428 return true;
14429 case updateChatReadInbox::ID:
14430 if constexpr (AllowTag) {
14431 downcast_call_tag<updateChatReadInbox> type_tag;
14432 func(type_tag);
14433 } else {
14434 func(static_cast<updateChatReadInbox &>(*obj));
14435 }
14436 return true;
14437 case updateChatReadOutbox::ID:
14438 if constexpr (AllowTag) {
14439 downcast_call_tag<updateChatReadOutbox> type_tag;
14440 func(type_tag);
14441 } else {
14442 func(static_cast<updateChatReadOutbox &>(*obj));
14443 }
14444 return true;
14445 case updateChatActionBar::ID:
14446 if constexpr (AllowTag) {
14447 downcast_call_tag<updateChatActionBar> type_tag;
14448 func(type_tag);
14449 } else {
14450 func(static_cast<updateChatActionBar &>(*obj));
14451 }
14452 return true;
14453 case updateChatBusinessBotManageBar::ID:
14454 if constexpr (AllowTag) {
14455 downcast_call_tag<updateChatBusinessBotManageBar> type_tag;
14456 func(type_tag);
14457 } else {
14458 func(static_cast<updateChatBusinessBotManageBar &>(*obj));
14459 }
14460 return true;
14461 case updateChatAvailableReactions::ID:
14462 if constexpr (AllowTag) {
14463 downcast_call_tag<updateChatAvailableReactions> type_tag;
14464 func(type_tag);
14465 } else {
14466 func(static_cast<updateChatAvailableReactions &>(*obj));
14467 }
14468 return true;
14469 case updateChatDraftMessage::ID:
14470 if constexpr (AllowTag) {
14471 downcast_call_tag<updateChatDraftMessage> type_tag;
14472 func(type_tag);
14473 } else {
14474 func(static_cast<updateChatDraftMessage &>(*obj));
14475 }
14476 return true;
14477 case updateChatEmojiStatus::ID:
14478 if constexpr (AllowTag) {
14479 downcast_call_tag<updateChatEmojiStatus> type_tag;
14480 func(type_tag);
14481 } else {
14482 func(static_cast<updateChatEmojiStatus &>(*obj));
14483 }
14484 return true;
14485 case updateChatMessageSender::ID:
14486 if constexpr (AllowTag) {
14487 downcast_call_tag<updateChatMessageSender> type_tag;
14488 func(type_tag);
14489 } else {
14490 func(static_cast<updateChatMessageSender &>(*obj));
14491 }
14492 return true;
14493 case updateChatMessageAutoDeleteTime::ID:
14494 if constexpr (AllowTag) {
14495 downcast_call_tag<updateChatMessageAutoDeleteTime> type_tag;
14496 func(type_tag);
14497 } else {
14498 func(static_cast<updateChatMessageAutoDeleteTime &>(*obj));
14499 }
14500 return true;
14501 case updateChatNotificationSettings::ID:
14502 if constexpr (AllowTag) {
14503 downcast_call_tag<updateChatNotificationSettings> type_tag;
14504 func(type_tag);
14505 } else {
14506 func(static_cast<updateChatNotificationSettings &>(*obj));
14507 }
14508 return true;
14509 case updateChatPendingJoinRequests::ID:
14510 if constexpr (AllowTag) {
14511 downcast_call_tag<updateChatPendingJoinRequests> type_tag;
14512 func(type_tag);
14513 } else {
14514 func(static_cast<updateChatPendingJoinRequests &>(*obj));
14515 }
14516 return true;
14517 case updateChatReplyMarkup::ID:
14518 if constexpr (AllowTag) {
14519 downcast_call_tag<updateChatReplyMarkup> type_tag;
14520 func(type_tag);
14521 } else {
14522 func(static_cast<updateChatReplyMarkup &>(*obj));
14523 }
14524 return true;
14525 case updateChatBackground::ID:
14526 if constexpr (AllowTag) {
14527 downcast_call_tag<updateChatBackground> type_tag;
14528 func(type_tag);
14529 } else {
14530 func(static_cast<updateChatBackground &>(*obj));
14531 }
14532 return true;
14533 case updateChatTheme::ID:
14534 if constexpr (AllowTag) {
14535 downcast_call_tag<updateChatTheme> type_tag;
14536 func(type_tag);
14537 } else {
14538 func(static_cast<updateChatTheme &>(*obj));
14539 }
14540 return true;
14541 case updateChatUnreadMentionCount::ID:
14542 if constexpr (AllowTag) {
14543 downcast_call_tag<updateChatUnreadMentionCount> type_tag;
14544 func(type_tag);
14545 } else {
14546 func(static_cast<updateChatUnreadMentionCount &>(*obj));
14547 }
14548 return true;
14549 case updateChatUnreadReactionCount::ID:
14550 if constexpr (AllowTag) {
14551 downcast_call_tag<updateChatUnreadReactionCount> type_tag;
14552 func(type_tag);
14553 } else {
14554 func(static_cast<updateChatUnreadReactionCount &>(*obj));
14555 }
14556 return true;
14557 case updateChatUnreadPollVoteCount::ID:
14558 if constexpr (AllowTag) {
14559 downcast_call_tag<updateChatUnreadPollVoteCount> type_tag;
14560 func(type_tag);
14561 } else {
14562 func(static_cast<updateChatUnreadPollVoteCount &>(*obj));
14563 }
14564 return true;
14565 case updateChatVideoChat::ID:
14566 if constexpr (AllowTag) {
14567 downcast_call_tag<updateChatVideoChat> type_tag;
14568 func(type_tag);
14569 } else {
14570 func(static_cast<updateChatVideoChat &>(*obj));
14571 }
14572 return true;
14573 case updateChatDefaultDisableNotification::ID:
14574 if constexpr (AllowTag) {
14575 downcast_call_tag<updateChatDefaultDisableNotification> type_tag;
14576 func(type_tag);
14577 } else {
14578 func(static_cast<updateChatDefaultDisableNotification &>(*obj));
14579 }
14580 return true;
14581 case updateChatHasProtectedContent::ID:
14582 if constexpr (AllowTag) {
14583 downcast_call_tag<updateChatHasProtectedContent> type_tag;
14584 func(type_tag);
14585 } else {
14586 func(static_cast<updateChatHasProtectedContent &>(*obj));
14587 }
14588 return true;
14589 case updateChatIsTranslatable::ID:
14590 if constexpr (AllowTag) {
14591 downcast_call_tag<updateChatIsTranslatable> type_tag;
14592 func(type_tag);
14593 } else {
14594 func(static_cast<updateChatIsTranslatable &>(*obj));
14595 }
14596 return true;
14597 case updateChatIsMarkedAsUnread::ID:
14598 if constexpr (AllowTag) {
14599 downcast_call_tag<updateChatIsMarkedAsUnread> type_tag;
14600 func(type_tag);
14601 } else {
14602 func(static_cast<updateChatIsMarkedAsUnread &>(*obj));
14603 }
14604 return true;
14605 case updateChatViewAsTopics::ID:
14606 if constexpr (AllowTag) {
14607 downcast_call_tag<updateChatViewAsTopics> type_tag;
14608 func(type_tag);
14609 } else {
14610 func(static_cast<updateChatViewAsTopics &>(*obj));
14611 }
14612 return true;
14613 case updateChatBlockList::ID:
14614 if constexpr (AllowTag) {
14615 downcast_call_tag<updateChatBlockList> type_tag;
14616 func(type_tag);
14617 } else {
14618 func(static_cast<updateChatBlockList &>(*obj));
14619 }
14620 return true;
14621 case updateChatHasScheduledMessages::ID:
14622 if constexpr (AllowTag) {
14623 downcast_call_tag<updateChatHasScheduledMessages> type_tag;
14624 func(type_tag);
14625 } else {
14626 func(static_cast<updateChatHasScheduledMessages &>(*obj));
14627 }
14628 return true;
14629 case updateChatFolders::ID:
14630 if constexpr (AllowTag) {
14631 downcast_call_tag<updateChatFolders> type_tag;
14632 func(type_tag);
14633 } else {
14634 func(static_cast<updateChatFolders &>(*obj));
14635 }
14636 return true;
14637 case updateChatOnlineMemberCount::ID:
14638 if constexpr (AllowTag) {
14639 downcast_call_tag<updateChatOnlineMemberCount> type_tag;
14640 func(type_tag);
14641 } else {
14642 func(static_cast<updateChatOnlineMemberCount &>(*obj));
14643 }
14644 return true;
14645 case updateSavedMessagesTopic::ID:
14646 if constexpr (AllowTag) {
14647 downcast_call_tag<updateSavedMessagesTopic> type_tag;
14648 func(type_tag);
14649 } else {
14650 func(static_cast<updateSavedMessagesTopic &>(*obj));
14651 }
14652 return true;
14653 case updateSavedMessagesTopicCount::ID:
14654 if constexpr (AllowTag) {
14655 downcast_call_tag<updateSavedMessagesTopicCount> type_tag;
14656 func(type_tag);
14657 } else {
14658 func(static_cast<updateSavedMessagesTopicCount &>(*obj));
14659 }
14660 return true;
14661 case updateDirectMessagesChatTopic::ID:
14662 if constexpr (AllowTag) {
14663 downcast_call_tag<updateDirectMessagesChatTopic> type_tag;
14664 func(type_tag);
14665 } else {
14666 func(static_cast<updateDirectMessagesChatTopic &>(*obj));
14667 }
14668 return true;
14669 case updateTopicMessageCount::ID:
14670 if constexpr (AllowTag) {
14671 downcast_call_tag<updateTopicMessageCount> type_tag;
14672 func(type_tag);
14673 } else {
14674 func(static_cast<updateTopicMessageCount &>(*obj));
14675 }
14676 return true;
14677 case updateQuickReplyShortcut::ID:
14678 if constexpr (AllowTag) {
14679 downcast_call_tag<updateQuickReplyShortcut> type_tag;
14680 func(type_tag);
14681 } else {
14682 func(static_cast<updateQuickReplyShortcut &>(*obj));
14683 }
14684 return true;
14685 case updateQuickReplyShortcutDeleted::ID:
14686 if constexpr (AllowTag) {
14687 downcast_call_tag<updateQuickReplyShortcutDeleted> type_tag;
14688 func(type_tag);
14689 } else {
14690 func(static_cast<updateQuickReplyShortcutDeleted &>(*obj));
14691 }
14692 return true;
14693 case updateQuickReplyShortcuts::ID:
14694 if constexpr (AllowTag) {
14695 downcast_call_tag<updateQuickReplyShortcuts> type_tag;
14696 func(type_tag);
14697 } else {
14698 func(static_cast<updateQuickReplyShortcuts &>(*obj));
14699 }
14700 return true;
14701 case updateQuickReplyShortcutMessages::ID:
14702 if constexpr (AllowTag) {
14703 downcast_call_tag<updateQuickReplyShortcutMessages> type_tag;
14704 func(type_tag);
14705 } else {
14706 func(static_cast<updateQuickReplyShortcutMessages &>(*obj));
14707 }
14708 return true;
14709 case updateForumTopicInfo::ID:
14710 if constexpr (AllowTag) {
14711 downcast_call_tag<updateForumTopicInfo> type_tag;
14712 func(type_tag);
14713 } else {
14714 func(static_cast<updateForumTopicInfo &>(*obj));
14715 }
14716 return true;
14717 case updateForumTopic::ID:
14718 if constexpr (AllowTag) {
14719 downcast_call_tag<updateForumTopic> type_tag;
14720 func(type_tag);
14721 } else {
14722 func(static_cast<updateForumTopic &>(*obj));
14723 }
14724 return true;
14725 case updateScopeNotificationSettings::ID:
14726 if constexpr (AllowTag) {
14727 downcast_call_tag<updateScopeNotificationSettings> type_tag;
14728 func(type_tag);
14729 } else {
14730 func(static_cast<updateScopeNotificationSettings &>(*obj));
14731 }
14732 return true;
14733 case updateReactionNotificationSettings::ID:
14734 if constexpr (AllowTag) {
14735 downcast_call_tag<updateReactionNotificationSettings> type_tag;
14736 func(type_tag);
14737 } else {
14738 func(static_cast<updateReactionNotificationSettings &>(*obj));
14739 }
14740 return true;
14741 case updateNotification::ID:
14742 if constexpr (AllowTag) {
14743 downcast_call_tag<updateNotification> type_tag;
14744 func(type_tag);
14745 } else {
14746 func(static_cast<updateNotification &>(*obj));
14747 }
14748 return true;
14749 case updateNotificationGroup::ID:
14750 if constexpr (AllowTag) {
14751 downcast_call_tag<updateNotificationGroup> type_tag;
14752 func(type_tag);
14753 } else {
14754 func(static_cast<updateNotificationGroup &>(*obj));
14755 }
14756 return true;
14757 case updateActiveNotifications::ID:
14758 if constexpr (AllowTag) {
14759 downcast_call_tag<updateActiveNotifications> type_tag;
14760 func(type_tag);
14761 } else {
14762 func(static_cast<updateActiveNotifications &>(*obj));
14763 }
14764 return true;
14765 case updateHavePendingNotifications::ID:
14766 if constexpr (AllowTag) {
14767 downcast_call_tag<updateHavePendingNotifications> type_tag;
14768 func(type_tag);
14769 } else {
14770 func(static_cast<updateHavePendingNotifications &>(*obj));
14771 }
14772 return true;
14773 case updateDeleteMessages::ID:
14774 if constexpr (AllowTag) {
14775 downcast_call_tag<updateDeleteMessages> type_tag;
14776 func(type_tag);
14777 } else {
14778 func(static_cast<updateDeleteMessages &>(*obj));
14779 }
14780 return true;
14781 case updateChatAction::ID:
14782 if constexpr (AllowTag) {
14783 downcast_call_tag<updateChatAction> type_tag;
14784 func(type_tag);
14785 } else {
14786 func(static_cast<updateChatAction &>(*obj));
14787 }
14788 return true;
14789 case updatePendingTextMessage::ID:
14790 if constexpr (AllowTag) {
14791 downcast_call_tag<updatePendingTextMessage> type_tag;
14792 func(type_tag);
14793 } else {
14794 func(static_cast<updatePendingTextMessage &>(*obj));
14795 }
14796 return true;
14797 case updateUserStatus::ID:
14798 if constexpr (AllowTag) {
14799 downcast_call_tag<updateUserStatus> type_tag;
14800 func(type_tag);
14801 } else {
14802 func(static_cast<updateUserStatus &>(*obj));
14803 }
14804 return true;
14805 case updateUser::ID:
14806 if constexpr (AllowTag) {
14807 downcast_call_tag<updateUser> type_tag;
14808 func(type_tag);
14809 } else {
14810 func(static_cast<updateUser &>(*obj));
14811 }
14812 return true;
14813 case updateBasicGroup::ID:
14814 if constexpr (AllowTag) {
14815 downcast_call_tag<updateBasicGroup> type_tag;
14816 func(type_tag);
14817 } else {
14818 func(static_cast<updateBasicGroup &>(*obj));
14819 }
14820 return true;
14821 case updateSupergroup::ID:
14822 if constexpr (AllowTag) {
14823 downcast_call_tag<updateSupergroup> type_tag;
14824 func(type_tag);
14825 } else {
14826 func(static_cast<updateSupergroup &>(*obj));
14827 }
14828 return true;
14829 case updateSecretChat::ID:
14830 if constexpr (AllowTag) {
14831 downcast_call_tag<updateSecretChat> type_tag;
14832 func(type_tag);
14833 } else {
14834 func(static_cast<updateSecretChat &>(*obj));
14835 }
14836 return true;
14837 case updateUserFullInfo::ID:
14838 if constexpr (AllowTag) {
14839 downcast_call_tag<updateUserFullInfo> type_tag;
14840 func(type_tag);
14841 } else {
14842 func(static_cast<updateUserFullInfo &>(*obj));
14843 }
14844 return true;
14845 case updateBasicGroupFullInfo::ID:
14846 if constexpr (AllowTag) {
14847 downcast_call_tag<updateBasicGroupFullInfo> type_tag;
14848 func(type_tag);
14849 } else {
14850 func(static_cast<updateBasicGroupFullInfo &>(*obj));
14851 }
14852 return true;
14853 case updateSupergroupFullInfo::ID:
14854 if constexpr (AllowTag) {
14855 downcast_call_tag<updateSupergroupFullInfo> type_tag;
14856 func(type_tag);
14857 } else {
14858 func(static_cast<updateSupergroupFullInfo &>(*obj));
14859 }
14860 return true;
14861 case updateServiceNotification::ID:
14862 if constexpr (AllowTag) {
14863 downcast_call_tag<updateServiceNotification> type_tag;
14864 func(type_tag);
14865 } else {
14866 func(static_cast<updateServiceNotification &>(*obj));
14867 }
14868 return true;
14869 case updateNewOauthRequest::ID:
14870 if constexpr (AllowTag) {
14871 downcast_call_tag<updateNewOauthRequest> type_tag;
14872 func(type_tag);
14873 } else {
14874 func(static_cast<updateNewOauthRequest &>(*obj));
14875 }
14876 return true;
14877 case updateFile::ID:
14878 if constexpr (AllowTag) {
14879 downcast_call_tag<updateFile> type_tag;
14880 func(type_tag);
14881 } else {
14882 func(static_cast<updateFile &>(*obj));
14883 }
14884 return true;
14885 case updateFileGenerationStart::ID:
14886 if constexpr (AllowTag) {
14887 downcast_call_tag<updateFileGenerationStart> type_tag;
14888 func(type_tag);
14889 } else {
14890 func(static_cast<updateFileGenerationStart &>(*obj));
14891 }
14892 return true;
14893 case updateFileGenerationStop::ID:
14894 if constexpr (AllowTag) {
14895 downcast_call_tag<updateFileGenerationStop> type_tag;
14896 func(type_tag);
14897 } else {
14898 func(static_cast<updateFileGenerationStop &>(*obj));
14899 }
14900 return true;
14901 case updateFileDownloads::ID:
14902 if constexpr (AllowTag) {
14903 downcast_call_tag<updateFileDownloads> type_tag;
14904 func(type_tag);
14905 } else {
14906 func(static_cast<updateFileDownloads &>(*obj));
14907 }
14908 return true;
14909 case updateFileAddedToDownloads::ID:
14910 if constexpr (AllowTag) {
14911 downcast_call_tag<updateFileAddedToDownloads> type_tag;
14912 func(type_tag);
14913 } else {
14914 func(static_cast<updateFileAddedToDownloads &>(*obj));
14915 }
14916 return true;
14917 case updateFileDownload::ID:
14918 if constexpr (AllowTag) {
14919 downcast_call_tag<updateFileDownload> type_tag;
14920 func(type_tag);
14921 } else {
14922 func(static_cast<updateFileDownload &>(*obj));
14923 }
14924 return true;
14925 case updateFileRemovedFromDownloads::ID:
14926 if constexpr (AllowTag) {
14927 downcast_call_tag<updateFileRemovedFromDownloads> type_tag;
14928 func(type_tag);
14929 } else {
14930 func(static_cast<updateFileRemovedFromDownloads &>(*obj));
14931 }
14932 return true;
14933 case updateApplicationVerificationRequired::ID:
14934 if constexpr (AllowTag) {
14935 downcast_call_tag<updateApplicationVerificationRequired> type_tag;
14936 func(type_tag);
14937 } else {
14938 func(static_cast<updateApplicationVerificationRequired &>(*obj));
14939 }
14940 return true;
14941 case updateApplicationRecaptchaVerificationRequired::ID:
14942 if constexpr (AllowTag) {
14943 downcast_call_tag<updateApplicationRecaptchaVerificationRequired> type_tag;
14944 func(type_tag);
14945 } else {
14946 func(static_cast<updateApplicationRecaptchaVerificationRequired &>(*obj));
14947 }
14948 return true;
14949 case updateCall::ID:
14950 if constexpr (AllowTag) {
14951 downcast_call_tag<updateCall> type_tag;
14952 func(type_tag);
14953 } else {
14954 func(static_cast<updateCall &>(*obj));
14955 }
14956 return true;
14957 case updateGroupCall::ID:
14958 if constexpr (AllowTag) {
14959 downcast_call_tag<updateGroupCall> type_tag;
14960 func(type_tag);
14961 } else {
14962 func(static_cast<updateGroupCall &>(*obj));
14963 }
14964 return true;
14965 case updateGroupCallParticipant::ID:
14966 if constexpr (AllowTag) {
14967 downcast_call_tag<updateGroupCallParticipant> type_tag;
14968 func(type_tag);
14969 } else {
14970 func(static_cast<updateGroupCallParticipant &>(*obj));
14971 }
14972 return true;
14973 case updateGroupCallParticipants::ID:
14974 if constexpr (AllowTag) {
14975 downcast_call_tag<updateGroupCallParticipants> type_tag;
14976 func(type_tag);
14977 } else {
14978 func(static_cast<updateGroupCallParticipants &>(*obj));
14979 }
14980 return true;
14981 case updateGroupCallVerificationState::ID:
14982 if constexpr (AllowTag) {
14983 downcast_call_tag<updateGroupCallVerificationState> type_tag;
14984 func(type_tag);
14985 } else {
14986 func(static_cast<updateGroupCallVerificationState &>(*obj));
14987 }
14988 return true;
14989 case updateNewGroupCallMessage::ID:
14990 if constexpr (AllowTag) {
14991 downcast_call_tag<updateNewGroupCallMessage> type_tag;
14992 func(type_tag);
14993 } else {
14994 func(static_cast<updateNewGroupCallMessage &>(*obj));
14995 }
14996 return true;
14997 case updateNewGroupCallPaidReaction::ID:
14998 if constexpr (AllowTag) {
14999 downcast_call_tag<updateNewGroupCallPaidReaction> type_tag;
15000 func(type_tag);
15001 } else {
15002 func(static_cast<updateNewGroupCallPaidReaction &>(*obj));
15003 }
15004 return true;
15005 case updateGroupCallMessageSendFailed::ID:
15006 if constexpr (AllowTag) {
15007 downcast_call_tag<updateGroupCallMessageSendFailed> type_tag;
15008 func(type_tag);
15009 } else {
15010 func(static_cast<updateGroupCallMessageSendFailed &>(*obj));
15011 }
15012 return true;
15013 case updateGroupCallMessagesDeleted::ID:
15014 if constexpr (AllowTag) {
15015 downcast_call_tag<updateGroupCallMessagesDeleted> type_tag;
15016 func(type_tag);
15017 } else {
15018 func(static_cast<updateGroupCallMessagesDeleted &>(*obj));
15019 }
15020 return true;
15021 case updateLiveStoryTopDonors::ID:
15022 if constexpr (AllowTag) {
15023 downcast_call_tag<updateLiveStoryTopDonors> type_tag;
15024 func(type_tag);
15025 } else {
15026 func(static_cast<updateLiveStoryTopDonors &>(*obj));
15027 }
15028 return true;
15029 case updateNewCallSignalingData::ID:
15030 if constexpr (AllowTag) {
15031 downcast_call_tag<updateNewCallSignalingData> type_tag;
15032 func(type_tag);
15033 } else {
15034 func(static_cast<updateNewCallSignalingData &>(*obj));
15035 }
15036 return true;
15037 case updateGiftAuctionState::ID:
15038 if constexpr (AllowTag) {
15039 downcast_call_tag<updateGiftAuctionState> type_tag;
15040 func(type_tag);
15041 } else {
15042 func(static_cast<updateGiftAuctionState &>(*obj));
15043 }
15044 return true;
15045 case updateActiveGiftAuctions::ID:
15046 if constexpr (AllowTag) {
15047 downcast_call_tag<updateActiveGiftAuctions> type_tag;
15048 func(type_tag);
15049 } else {
15050 func(static_cast<updateActiveGiftAuctions &>(*obj));
15051 }
15052 return true;
15053 case updateUserPrivacySettingRules::ID:
15054 if constexpr (AllowTag) {
15055 downcast_call_tag<updateUserPrivacySettingRules> type_tag;
15056 func(type_tag);
15057 } else {
15058 func(static_cast<updateUserPrivacySettingRules &>(*obj));
15059 }
15060 return true;
15061 case updateUnreadMessageCount::ID:
15062 if constexpr (AllowTag) {
15063 downcast_call_tag<updateUnreadMessageCount> type_tag;
15064 func(type_tag);
15065 } else {
15066 func(static_cast<updateUnreadMessageCount &>(*obj));
15067 }
15068 return true;
15069 case updateUnreadChatCount::ID:
15070 if constexpr (AllowTag) {
15071 downcast_call_tag<updateUnreadChatCount> type_tag;
15072 func(type_tag);
15073 } else {
15074 func(static_cast<updateUnreadChatCount &>(*obj));
15075 }
15076 return true;
15077 case updateStory::ID:
15078 if constexpr (AllowTag) {
15079 downcast_call_tag<updateStory> type_tag;
15080 func(type_tag);
15081 } else {
15082 func(static_cast<updateStory &>(*obj));
15083 }
15084 return true;
15085 case updateStoryDeleted::ID:
15086 if constexpr (AllowTag) {
15087 downcast_call_tag<updateStoryDeleted> type_tag;
15088 func(type_tag);
15089 } else {
15090 func(static_cast<updateStoryDeleted &>(*obj));
15091 }
15092 return true;
15093 case updateStoryPostSucceeded::ID:
15094 if constexpr (AllowTag) {
15095 downcast_call_tag<updateStoryPostSucceeded> type_tag;
15096 func(type_tag);
15097 } else {
15098 func(static_cast<updateStoryPostSucceeded &>(*obj));
15099 }
15100 return true;
15101 case updateStoryPostFailed::ID:
15102 if constexpr (AllowTag) {
15103 downcast_call_tag<updateStoryPostFailed> type_tag;
15104 func(type_tag);
15105 } else {
15106 func(static_cast<updateStoryPostFailed &>(*obj));
15107 }
15108 return true;
15109 case updateChatActiveStories::ID:
15110 if constexpr (AllowTag) {
15111 downcast_call_tag<updateChatActiveStories> type_tag;
15112 func(type_tag);
15113 } else {
15114 func(static_cast<updateChatActiveStories &>(*obj));
15115 }
15116 return true;
15117 case updateStoryListChatCount::ID:
15118 if constexpr (AllowTag) {
15119 downcast_call_tag<updateStoryListChatCount> type_tag;
15120 func(type_tag);
15121 } else {
15122 func(static_cast<updateStoryListChatCount &>(*obj));
15123 }
15124 return true;
15125 case updateStoryStealthMode::ID:
15126 if constexpr (AllowTag) {
15127 downcast_call_tag<updateStoryStealthMode> type_tag;
15128 func(type_tag);
15129 } else {
15130 func(static_cast<updateStoryStealthMode &>(*obj));
15131 }
15132 return true;
15133 case updateTrustedMiniAppBots::ID:
15134 if constexpr (AllowTag) {
15135 downcast_call_tag<updateTrustedMiniAppBots> type_tag;
15136 func(type_tag);
15137 } else {
15138 func(static_cast<updateTrustedMiniAppBots &>(*obj));
15139 }
15140 return true;
15141 case updateOption::ID:
15142 if constexpr (AllowTag) {
15143 downcast_call_tag<updateOption> type_tag;
15144 func(type_tag);
15145 } else {
15146 func(static_cast<updateOption &>(*obj));
15147 }
15148 return true;
15149 case updateStickerSet::ID:
15150 if constexpr (AllowTag) {
15151 downcast_call_tag<updateStickerSet> type_tag;
15152 func(type_tag);
15153 } else {
15154 func(static_cast<updateStickerSet &>(*obj));
15155 }
15156 return true;
15157 case updateInstalledStickerSets::ID:
15158 if constexpr (AllowTag) {
15159 downcast_call_tag<updateInstalledStickerSets> type_tag;
15160 func(type_tag);
15161 } else {
15162 func(static_cast<updateInstalledStickerSets &>(*obj));
15163 }
15164 return true;
15165 case updateTrendingStickerSets::ID:
15166 if constexpr (AllowTag) {
15167 downcast_call_tag<updateTrendingStickerSets> type_tag;
15168 func(type_tag);
15169 } else {
15170 func(static_cast<updateTrendingStickerSets &>(*obj));
15171 }
15172 return true;
15173 case updateRecentStickers::ID:
15174 if constexpr (AllowTag) {
15175 downcast_call_tag<updateRecentStickers> type_tag;
15176 func(type_tag);
15177 } else {
15178 func(static_cast<updateRecentStickers &>(*obj));
15179 }
15180 return true;
15181 case updateFavoriteStickers::ID:
15182 if constexpr (AllowTag) {
15183 downcast_call_tag<updateFavoriteStickers> type_tag;
15184 func(type_tag);
15185 } else {
15186 func(static_cast<updateFavoriteStickers &>(*obj));
15187 }
15188 return true;
15189 case updateSavedAnimations::ID:
15190 if constexpr (AllowTag) {
15191 downcast_call_tag<updateSavedAnimations> type_tag;
15192 func(type_tag);
15193 } else {
15194 func(static_cast<updateSavedAnimations &>(*obj));
15195 }
15196 return true;
15197 case updateSavedNotificationSounds::ID:
15198 if constexpr (AllowTag) {
15199 downcast_call_tag<updateSavedNotificationSounds> type_tag;
15200 func(type_tag);
15201 } else {
15202 func(static_cast<updateSavedNotificationSounds &>(*obj));
15203 }
15204 return true;
15205 case updateDefaultBackground::ID:
15206 if constexpr (AllowTag) {
15207 downcast_call_tag<updateDefaultBackground> type_tag;
15208 func(type_tag);
15209 } else {
15210 func(static_cast<updateDefaultBackground &>(*obj));
15211 }
15212 return true;
15213 case updateEmojiChatThemes::ID:
15214 if constexpr (AllowTag) {
15215 downcast_call_tag<updateEmojiChatThemes> type_tag;
15216 func(type_tag);
15217 } else {
15218 func(static_cast<updateEmojiChatThemes &>(*obj));
15219 }
15220 return true;
15221 case updateAccentColors::ID:
15222 if constexpr (AllowTag) {
15223 downcast_call_tag<updateAccentColors> type_tag;
15224 func(type_tag);
15225 } else {
15226 func(static_cast<updateAccentColors &>(*obj));
15227 }
15228 return true;
15229 case updateProfileAccentColors::ID:
15230 if constexpr (AllowTag) {
15231 downcast_call_tag<updateProfileAccentColors> type_tag;
15232 func(type_tag);
15233 } else {
15234 func(static_cast<updateProfileAccentColors &>(*obj));
15235 }
15236 return true;
15237 case updateLanguagePackStrings::ID:
15238 if constexpr (AllowTag) {
15239 downcast_call_tag<updateLanguagePackStrings> type_tag;
15240 func(type_tag);
15241 } else {
15242 func(static_cast<updateLanguagePackStrings &>(*obj));
15243 }
15244 return true;
15245 case updateConnectionState::ID:
15246 if constexpr (AllowTag) {
15247 downcast_call_tag<updateConnectionState> type_tag;
15248 func(type_tag);
15249 } else {
15250 func(static_cast<updateConnectionState &>(*obj));
15251 }
15252 return true;
15253 case updateFreezeState::ID:
15254 if constexpr (AllowTag) {
15255 downcast_call_tag<updateFreezeState> type_tag;
15256 func(type_tag);
15257 } else {
15258 func(static_cast<updateFreezeState &>(*obj));
15259 }
15260 return true;
15261 case updateAgeVerificationParameters::ID:
15262 if constexpr (AllowTag) {
15263 downcast_call_tag<updateAgeVerificationParameters> type_tag;
15264 func(type_tag);
15265 } else {
15266 func(static_cast<updateAgeVerificationParameters &>(*obj));
15267 }
15268 return true;
15269 case updateTermsOfService::ID:
15270 if constexpr (AllowTag) {
15271 downcast_call_tag<updateTermsOfService> type_tag;
15272 func(type_tag);
15273 } else {
15274 func(static_cast<updateTermsOfService &>(*obj));
15275 }
15276 return true;
15277 case updateUnconfirmedSession::ID:
15278 if constexpr (AllowTag) {
15279 downcast_call_tag<updateUnconfirmedSession> type_tag;
15280 func(type_tag);
15281 } else {
15282 func(static_cast<updateUnconfirmedSession &>(*obj));
15283 }
15284 return true;
15285 case updateAttachmentMenuBots::ID:
15286 if constexpr (AllowTag) {
15287 downcast_call_tag<updateAttachmentMenuBots> type_tag;
15288 func(type_tag);
15289 } else {
15290 func(static_cast<updateAttachmentMenuBots &>(*obj));
15291 }
15292 return true;
15293 case updateWebAppMessageSent::ID:
15294 if constexpr (AllowTag) {
15295 downcast_call_tag<updateWebAppMessageSent> type_tag;
15296 func(type_tag);
15297 } else {
15298 func(static_cast<updateWebAppMessageSent &>(*obj));
15299 }
15300 return true;
15301 case updateActiveEmojiReactions::ID:
15302 if constexpr (AllowTag) {
15303 downcast_call_tag<updateActiveEmojiReactions> type_tag;
15304 func(type_tag);
15305 } else {
15306 func(static_cast<updateActiveEmojiReactions &>(*obj));
15307 }
15308 return true;
15309 case updateAvailableMessageEffects::ID:
15310 if constexpr (AllowTag) {
15311 downcast_call_tag<updateAvailableMessageEffects> type_tag;
15312 func(type_tag);
15313 } else {
15314 func(static_cast<updateAvailableMessageEffects &>(*obj));
15315 }
15316 return true;
15317 case updateDefaultReactionType::ID:
15318 if constexpr (AllowTag) {
15319 downcast_call_tag<updateDefaultReactionType> type_tag;
15320 func(type_tag);
15321 } else {
15322 func(static_cast<updateDefaultReactionType &>(*obj));
15323 }
15324 return true;
15325 case updateDefaultPaidReactionType::ID:
15326 if constexpr (AllowTag) {
15327 downcast_call_tag<updateDefaultPaidReactionType> type_tag;
15328 func(type_tag);
15329 } else {
15330 func(static_cast<updateDefaultPaidReactionType &>(*obj));
15331 }
15332 return true;
15333 case updateSavedMessagesTags::ID:
15334 if constexpr (AllowTag) {
15335 downcast_call_tag<updateSavedMessagesTags> type_tag;
15336 func(type_tag);
15337 } else {
15338 func(static_cast<updateSavedMessagesTags &>(*obj));
15339 }
15340 return true;
15341 case updateActiveLiveLocationMessages::ID:
15342 if constexpr (AllowTag) {
15343 downcast_call_tag<updateActiveLiveLocationMessages> type_tag;
15344 func(type_tag);
15345 } else {
15346 func(static_cast<updateActiveLiveLocationMessages &>(*obj));
15347 }
15348 return true;
15349 case updateOwnedStarCount::ID:
15350 if constexpr (AllowTag) {
15351 downcast_call_tag<updateOwnedStarCount> type_tag;
15352 func(type_tag);
15353 } else {
15354 func(static_cast<updateOwnedStarCount &>(*obj));
15355 }
15356 return true;
15357 case updateOwnedTonCount::ID:
15358 if constexpr (AllowTag) {
15359 downcast_call_tag<updateOwnedTonCount> type_tag;
15360 func(type_tag);
15361 } else {
15362 func(static_cast<updateOwnedTonCount &>(*obj));
15363 }
15364 return true;
15365 case updateChatRevenueAmount::ID:
15366 if constexpr (AllowTag) {
15367 downcast_call_tag<updateChatRevenueAmount> type_tag;
15368 func(type_tag);
15369 } else {
15370 func(static_cast<updateChatRevenueAmount &>(*obj));
15371 }
15372 return true;
15373 case updateStarRevenueStatus::ID:
15374 if constexpr (AllowTag) {
15375 downcast_call_tag<updateStarRevenueStatus> type_tag;
15376 func(type_tag);
15377 } else {
15378 func(static_cast<updateStarRevenueStatus &>(*obj));
15379 }
15380 return true;
15381 case updateTonRevenueStatus::ID:
15382 if constexpr (AllowTag) {
15383 downcast_call_tag<updateTonRevenueStatus> type_tag;
15384 func(type_tag);
15385 } else {
15386 func(static_cast<updateTonRevenueStatus &>(*obj));
15387 }
15388 return true;
15389 case updateSpeechRecognitionTrial::ID:
15390 if constexpr (AllowTag) {
15391 downcast_call_tag<updateSpeechRecognitionTrial> type_tag;
15392 func(type_tag);
15393 } else {
15394 func(static_cast<updateSpeechRecognitionTrial &>(*obj));
15395 }
15396 return true;
15397 case updateGroupCallMessageLevels::ID:
15398 if constexpr (AllowTag) {
15399 downcast_call_tag<updateGroupCallMessageLevels> type_tag;
15400 func(type_tag);
15401 } else {
15402 func(static_cast<updateGroupCallMessageLevels &>(*obj));
15403 }
15404 return true;
15405 case updateDiceEmojis::ID:
15406 if constexpr (AllowTag) {
15407 downcast_call_tag<updateDiceEmojis> type_tag;
15408 func(type_tag);
15409 } else {
15410 func(static_cast<updateDiceEmojis &>(*obj));
15411 }
15412 return true;
15413 case updateStakeDiceState::ID:
15414 if constexpr (AllowTag) {
15415 downcast_call_tag<updateStakeDiceState> type_tag;
15416 func(type_tag);
15417 } else {
15418 func(static_cast<updateStakeDiceState &>(*obj));
15419 }
15420 return true;
15421 case updateAnimatedEmojiMessageClicked::ID:
15422 if constexpr (AllowTag) {
15423 downcast_call_tag<updateAnimatedEmojiMessageClicked> type_tag;
15424 func(type_tag);
15425 } else {
15426 func(static_cast<updateAnimatedEmojiMessageClicked &>(*obj));
15427 }
15428 return true;
15429 case updateAnimationSearchParameters::ID:
15430 if constexpr (AllowTag) {
15431 downcast_call_tag<updateAnimationSearchParameters> type_tag;
15432 func(type_tag);
15433 } else {
15434 func(static_cast<updateAnimationSearchParameters &>(*obj));
15435 }
15436 return true;
15437 case updateTextCompositionStyles::ID:
15438 if constexpr (AllowTag) {
15439 downcast_call_tag<updateTextCompositionStyles> type_tag;
15440 func(type_tag);
15441 } else {
15442 func(static_cast<updateTextCompositionStyles &>(*obj));
15443 }
15444 return true;
15445 case updateSuggestedActions::ID:
15446 if constexpr (AllowTag) {
15447 downcast_call_tag<updateSuggestedActions> type_tag;
15448 func(type_tag);
15449 } else {
15450 func(static_cast<updateSuggestedActions &>(*obj));
15451 }
15452 return true;
15453 case updateSpeedLimitNotification::ID:
15454 if constexpr (AllowTag) {
15455 downcast_call_tag<updateSpeedLimitNotification> type_tag;
15456 func(type_tag);
15457 } else {
15458 func(static_cast<updateSpeedLimitNotification &>(*obj));
15459 }
15460 return true;
15461 case updateContactCloseBirthdays::ID:
15462 if constexpr (AllowTag) {
15463 downcast_call_tag<updateContactCloseBirthdays> type_tag;
15464 func(type_tag);
15465 } else {
15466 func(static_cast<updateContactCloseBirthdays &>(*obj));
15467 }
15468 return true;
15469 case updateAutosaveSettings::ID:
15470 if constexpr (AllowTag) {
15471 downcast_call_tag<updateAutosaveSettings> type_tag;
15472 func(type_tag);
15473 } else {
15474 func(static_cast<updateAutosaveSettings &>(*obj));
15475 }
15476 return true;
15477 case updateBusinessConnection::ID:
15478 if constexpr (AllowTag) {
15479 downcast_call_tag<updateBusinessConnection> type_tag;
15480 func(type_tag);
15481 } else {
15482 func(static_cast<updateBusinessConnection &>(*obj));
15483 }
15484 return true;
15485 case updateNewBusinessMessage::ID:
15486 if constexpr (AllowTag) {
15487 downcast_call_tag<updateNewBusinessMessage> type_tag;
15488 func(type_tag);
15489 } else {
15490 func(static_cast<updateNewBusinessMessage &>(*obj));
15491 }
15492 return true;
15493 case updateBusinessMessageEdited::ID:
15494 if constexpr (AllowTag) {
15495 downcast_call_tag<updateBusinessMessageEdited> type_tag;
15496 func(type_tag);
15497 } else {
15498 func(static_cast<updateBusinessMessageEdited &>(*obj));
15499 }
15500 return true;
15501 case updateBusinessMessagesDeleted::ID:
15502 if constexpr (AllowTag) {
15503 downcast_call_tag<updateBusinessMessagesDeleted> type_tag;
15504 func(type_tag);
15505 } else {
15506 func(static_cast<updateBusinessMessagesDeleted &>(*obj));
15507 }
15508 return true;
15509 case updateNewInlineQuery::ID:
15510 if constexpr (AllowTag) {
15511 downcast_call_tag<updateNewInlineQuery> type_tag;
15512 func(type_tag);
15513 } else {
15514 func(static_cast<updateNewInlineQuery &>(*obj));
15515 }
15516 return true;
15517 case updateNewGuestQuery::ID:
15518 if constexpr (AllowTag) {
15519 downcast_call_tag<updateNewGuestQuery> type_tag;
15520 func(type_tag);
15521 } else {
15522 func(static_cast<updateNewGuestQuery &>(*obj));
15523 }
15524 return true;
15525 case updateNewChosenInlineResult::ID:
15526 if constexpr (AllowTag) {
15527 downcast_call_tag<updateNewChosenInlineResult> type_tag;
15528 func(type_tag);
15529 } else {
15530 func(static_cast<updateNewChosenInlineResult &>(*obj));
15531 }
15532 return true;
15533 case updateNewCallbackQuery::ID:
15534 if constexpr (AllowTag) {
15535 downcast_call_tag<updateNewCallbackQuery> type_tag;
15536 func(type_tag);
15537 } else {
15538 func(static_cast<updateNewCallbackQuery &>(*obj));
15539 }
15540 return true;
15541 case updateNewInlineCallbackQuery::ID:
15542 if constexpr (AllowTag) {
15543 downcast_call_tag<updateNewInlineCallbackQuery> type_tag;
15544 func(type_tag);
15545 } else {
15546 func(static_cast<updateNewInlineCallbackQuery &>(*obj));
15547 }
15548 return true;
15549 case updateNewBusinessCallbackQuery::ID:
15550 if constexpr (AllowTag) {
15551 downcast_call_tag<updateNewBusinessCallbackQuery> type_tag;
15552 func(type_tag);
15553 } else {
15554 func(static_cast<updateNewBusinessCallbackQuery &>(*obj));
15555 }
15556 return true;
15557 case updateNewShippingQuery::ID:
15558 if constexpr (AllowTag) {
15559 downcast_call_tag<updateNewShippingQuery> type_tag;
15560 func(type_tag);
15561 } else {
15562 func(static_cast<updateNewShippingQuery &>(*obj));
15563 }
15564 return true;
15565 case updateNewPreCheckoutQuery::ID:
15566 if constexpr (AllowTag) {
15567 downcast_call_tag<updateNewPreCheckoutQuery> type_tag;
15568 func(type_tag);
15569 } else {
15570 func(static_cast<updateNewPreCheckoutQuery &>(*obj));
15571 }
15572 return true;
15573 case updateNewCustomEvent::ID:
15574 if constexpr (AllowTag) {
15575 downcast_call_tag<updateNewCustomEvent> type_tag;
15576 func(type_tag);
15577 } else {
15578 func(static_cast<updateNewCustomEvent &>(*obj));
15579 }
15580 return true;
15581 case updateNewCustomQuery::ID:
15582 if constexpr (AllowTag) {
15583 downcast_call_tag<updateNewCustomQuery> type_tag;
15584 func(type_tag);
15585 } else {
15586 func(static_cast<updateNewCustomQuery &>(*obj));
15587 }
15588 return true;
15589 case updatePoll::ID:
15590 if constexpr (AllowTag) {
15591 downcast_call_tag<updatePoll> type_tag;
15592 func(type_tag);
15593 } else {
15594 func(static_cast<updatePoll &>(*obj));
15595 }
15596 return true;
15597 case updatePollAnswer::ID:
15598 if constexpr (AllowTag) {
15599 downcast_call_tag<updatePollAnswer> type_tag;
15600 func(type_tag);
15601 } else {
15602 func(static_cast<updatePollAnswer &>(*obj));
15603 }
15604 return true;
15605 case updateManagedBot::ID:
15606 if constexpr (AllowTag) {
15607 downcast_call_tag<updateManagedBot> type_tag;
15608 func(type_tag);
15609 } else {
15610 func(static_cast<updateManagedBot &>(*obj));
15611 }
15612 return true;
15613 case updateChatMember::ID:
15614 if constexpr (AllowTag) {
15615 downcast_call_tag<updateChatMember> type_tag;
15616 func(type_tag);
15617 } else {
15618 func(static_cast<updateChatMember &>(*obj));
15619 }
15620 return true;
15621 case updateNewChatJoinRequest::ID:
15622 if constexpr (AllowTag) {
15623 downcast_call_tag<updateNewChatJoinRequest> type_tag;
15624 func(type_tag);
15625 } else {
15626 func(static_cast<updateNewChatJoinRequest &>(*obj));
15627 }
15628 return true;
15629 case updateChatBoost::ID:
15630 if constexpr (AllowTag) {
15631 downcast_call_tag<updateChatBoost> type_tag;
15632 func(type_tag);
15633 } else {
15634 func(static_cast<updateChatBoost &>(*obj));
15635 }
15636 return true;
15637 case updateMessageReaction::ID:
15638 if constexpr (AllowTag) {
15639 downcast_call_tag<updateMessageReaction> type_tag;
15640 func(type_tag);
15641 } else {
15642 func(static_cast<updateMessageReaction &>(*obj));
15643 }
15644 return true;
15645 case updateMessageReactions::ID:
15646 if constexpr (AllowTag) {
15647 downcast_call_tag<updateMessageReactions> type_tag;
15648 func(type_tag);
15649 } else {
15650 func(static_cast<updateMessageReactions &>(*obj));
15651 }
15652 return true;
15653 case updatePaidMediaPurchased::ID:
15654 if constexpr (AllowTag) {
15655 downcast_call_tag<updatePaidMediaPurchased> type_tag;
15656 func(type_tag);
15657 } else {
15658 func(static_cast<updatePaidMediaPurchased &>(*obj));
15659 }
15660 return true;
15661 case updates::ID:
15662 if constexpr (AllowTag) {
15663 downcast_call_tag<updates> type_tag;
15664 func(type_tag);
15665 } else {
15666 func(static_cast<updates &>(*obj));
15667 }
15668 return true;
15669 case upgradeGiftResult::ID:
15670 if constexpr (AllowTag) {
15671 downcast_call_tag<upgradeGiftResult> type_tag;
15672 func(type_tag);
15673 } else {
15674 func(static_cast<upgradeGiftResult &>(*obj));
15675 }
15676 return true;
15677 case upgradedGift::ID:
15678 if constexpr (AllowTag) {
15679 downcast_call_tag<upgradedGift> type_tag;
15680 func(type_tag);
15681 } else {
15682 func(static_cast<upgradedGift &>(*obj));
15683 }
15684 return true;
15685 case upgradedGiftAttributeIdModel::ID:
15686 if constexpr (AllowTag) {
15687 downcast_call_tag<upgradedGiftAttributeIdModel> type_tag;
15688 func(type_tag);
15689 } else {
15690 func(static_cast<upgradedGiftAttributeIdModel &>(*obj));
15691 }
15692 return true;
15693 case upgradedGiftAttributeIdSymbol::ID:
15694 if constexpr (AllowTag) {
15695 downcast_call_tag<upgradedGiftAttributeIdSymbol> type_tag;
15696 func(type_tag);
15697 } else {
15698 func(static_cast<upgradedGiftAttributeIdSymbol &>(*obj));
15699 }
15700 return true;
15701 case upgradedGiftAttributeIdBackdrop::ID:
15702 if constexpr (AllowTag) {
15703 downcast_call_tag<upgradedGiftAttributeIdBackdrop> type_tag;
15704 func(type_tag);
15705 } else {
15706 func(static_cast<upgradedGiftAttributeIdBackdrop &>(*obj));
15707 }
15708 return true;
15709 case upgradedGiftAttributeRarityPerMille::ID:
15710 if constexpr (AllowTag) {
15711 downcast_call_tag<upgradedGiftAttributeRarityPerMille> type_tag;
15712 func(type_tag);
15713 } else {
15714 func(static_cast<upgradedGiftAttributeRarityPerMille &>(*obj));
15715 }
15716 return true;
15717 case upgradedGiftAttributeRarityUncommon::ID:
15718 if constexpr (AllowTag) {
15719 downcast_call_tag<upgradedGiftAttributeRarityUncommon> type_tag;
15720 func(type_tag);
15721 } else {
15722 func(static_cast<upgradedGiftAttributeRarityUncommon &>(*obj));
15723 }
15724 return true;
15725 case upgradedGiftAttributeRarityRare::ID:
15726 if constexpr (AllowTag) {
15727 downcast_call_tag<upgradedGiftAttributeRarityRare> type_tag;
15728 func(type_tag);
15729 } else {
15730 func(static_cast<upgradedGiftAttributeRarityRare &>(*obj));
15731 }
15732 return true;
15733 case upgradedGiftAttributeRarityEpic::ID:
15734 if constexpr (AllowTag) {
15735 downcast_call_tag<upgradedGiftAttributeRarityEpic> type_tag;
15736 func(type_tag);
15737 } else {
15738 func(static_cast<upgradedGiftAttributeRarityEpic &>(*obj));
15739 }
15740 return true;
15741 case upgradedGiftAttributeRarityLegendary::ID:
15742 if constexpr (AllowTag) {
15743 downcast_call_tag<upgradedGiftAttributeRarityLegendary> type_tag;
15744 func(type_tag);
15745 } else {
15746 func(static_cast<upgradedGiftAttributeRarityLegendary &>(*obj));
15747 }
15748 return true;
15749 case upgradedGiftBackdrop::ID:
15750 if constexpr (AllowTag) {
15751 downcast_call_tag<upgradedGiftBackdrop> type_tag;
15752 func(type_tag);
15753 } else {
15754 func(static_cast<upgradedGiftBackdrop &>(*obj));
15755 }
15756 return true;
15757 case upgradedGiftBackdropColors::ID:
15758 if constexpr (AllowTag) {
15759 downcast_call_tag<upgradedGiftBackdropColors> type_tag;
15760 func(type_tag);
15761 } else {
15762 func(static_cast<upgradedGiftBackdropColors &>(*obj));
15763 }
15764 return true;
15765 case upgradedGiftBackdropCount::ID:
15766 if constexpr (AllowTag) {
15767 downcast_call_tag<upgradedGiftBackdropCount> type_tag;
15768 func(type_tag);
15769 } else {
15770 func(static_cast<upgradedGiftBackdropCount &>(*obj));
15771 }
15772 return true;
15773 case upgradedGiftColors::ID:
15774 if constexpr (AllowTag) {
15775 downcast_call_tag<upgradedGiftColors> type_tag;
15776 func(type_tag);
15777 } else {
15778 func(static_cast<upgradedGiftColors &>(*obj));
15779 }
15780 return true;
15781 case upgradedGiftModel::ID:
15782 if constexpr (AllowTag) {
15783 downcast_call_tag<upgradedGiftModel> type_tag;
15784 func(type_tag);
15785 } else {
15786 func(static_cast<upgradedGiftModel &>(*obj));
15787 }
15788 return true;
15789 case upgradedGiftModelCount::ID:
15790 if constexpr (AllowTag) {
15791 downcast_call_tag<upgradedGiftModelCount> type_tag;
15792 func(type_tag);
15793 } else {
15794 func(static_cast<upgradedGiftModelCount &>(*obj));
15795 }
15796 return true;
15797 case upgradedGiftOriginUpgrade::ID:
15798 if constexpr (AllowTag) {
15799 downcast_call_tag<upgradedGiftOriginUpgrade> type_tag;
15800 func(type_tag);
15801 } else {
15802 func(static_cast<upgradedGiftOriginUpgrade &>(*obj));
15803 }
15804 return true;
15805 case upgradedGiftOriginTransfer::ID:
15806 if constexpr (AllowTag) {
15807 downcast_call_tag<upgradedGiftOriginTransfer> type_tag;
15808 func(type_tag);
15809 } else {
15810 func(static_cast<upgradedGiftOriginTransfer &>(*obj));
15811 }
15812 return true;
15813 case upgradedGiftOriginResale::ID:
15814 if constexpr (AllowTag) {
15815 downcast_call_tag<upgradedGiftOriginResale> type_tag;
15816 func(type_tag);
15817 } else {
15818 func(static_cast<upgradedGiftOriginResale &>(*obj));
15819 }
15820 return true;
15821 case upgradedGiftOriginBlockchain::ID:
15822 if constexpr (AllowTag) {
15823 downcast_call_tag<upgradedGiftOriginBlockchain> type_tag;
15824 func(type_tag);
15825 } else {
15826 func(static_cast<upgradedGiftOriginBlockchain &>(*obj));
15827 }
15828 return true;
15829 case upgradedGiftOriginPrepaidUpgrade::ID:
15830 if constexpr (AllowTag) {
15831 downcast_call_tag<upgradedGiftOriginPrepaidUpgrade> type_tag;
15832 func(type_tag);
15833 } else {
15834 func(static_cast<upgradedGiftOriginPrepaidUpgrade &>(*obj));
15835 }
15836 return true;
15837 case upgradedGiftOriginOffer::ID:
15838 if constexpr (AllowTag) {
15839 downcast_call_tag<upgradedGiftOriginOffer> type_tag;
15840 func(type_tag);
15841 } else {
15842 func(static_cast<upgradedGiftOriginOffer &>(*obj));
15843 }
15844 return true;
15845 case upgradedGiftOriginCraft::ID:
15846 if constexpr (AllowTag) {
15847 downcast_call_tag<upgradedGiftOriginCraft> type_tag;
15848 func(type_tag);
15849 } else {
15850 func(static_cast<upgradedGiftOriginCraft &>(*obj));
15851 }
15852 return true;
15853 case upgradedGiftOriginalDetails::ID:
15854 if constexpr (AllowTag) {
15855 downcast_call_tag<upgradedGiftOriginalDetails> type_tag;
15856 func(type_tag);
15857 } else {
15858 func(static_cast<upgradedGiftOriginalDetails &>(*obj));
15859 }
15860 return true;
15861 case upgradedGiftSymbol::ID:
15862 if constexpr (AllowTag) {
15863 downcast_call_tag<upgradedGiftSymbol> type_tag;
15864 func(type_tag);
15865 } else {
15866 func(static_cast<upgradedGiftSymbol &>(*obj));
15867 }
15868 return true;
15869 case upgradedGiftSymbolCount::ID:
15870 if constexpr (AllowTag) {
15871 downcast_call_tag<upgradedGiftSymbolCount> type_tag;
15872 func(type_tag);
15873 } else {
15874 func(static_cast<upgradedGiftSymbolCount &>(*obj));
15875 }
15876 return true;
15877 case upgradedGiftValueInfo::ID:
15878 if constexpr (AllowTag) {
15879 downcast_call_tag<upgradedGiftValueInfo> type_tag;
15880 func(type_tag);
15881 } else {
15882 func(static_cast<upgradedGiftValueInfo &>(*obj));
15883 }
15884 return true;
15885 case user::ID:
15886 if constexpr (AllowTag) {
15887 downcast_call_tag<user> type_tag;
15888 func(type_tag);
15889 } else {
15890 func(static_cast<user &>(*obj));
15891 }
15892 return true;
15893 case userAuctionBid::ID:
15894 if constexpr (AllowTag) {
15895 downcast_call_tag<userAuctionBid> type_tag;
15896 func(type_tag);
15897 } else {
15898 func(static_cast<userAuctionBid &>(*obj));
15899 }
15900 return true;
15901 case userFullInfo::ID:
15902 if constexpr (AllowTag) {
15903 downcast_call_tag<userFullInfo> type_tag;
15904 func(type_tag);
15905 } else {
15906 func(static_cast<userFullInfo &>(*obj));
15907 }
15908 return true;
15909 case userLink::ID:
15910 if constexpr (AllowTag) {
15911 downcast_call_tag<userLink> type_tag;
15912 func(type_tag);
15913 } else {
15914 func(static_cast<userLink &>(*obj));
15915 }
15916 return true;
15917 case userPrivacySettingShowStatus::ID:
15918 if constexpr (AllowTag) {
15919 downcast_call_tag<userPrivacySettingShowStatus> type_tag;
15920 func(type_tag);
15921 } else {
15922 func(static_cast<userPrivacySettingShowStatus &>(*obj));
15923 }
15924 return true;
15925 case userPrivacySettingShowProfilePhoto::ID:
15926 if constexpr (AllowTag) {
15927 downcast_call_tag<userPrivacySettingShowProfilePhoto> type_tag;
15928 func(type_tag);
15929 } else {
15930 func(static_cast<userPrivacySettingShowProfilePhoto &>(*obj));
15931 }
15932 return true;
15933 case userPrivacySettingShowLinkInForwardedMessages::ID:
15934 if constexpr (AllowTag) {
15935 downcast_call_tag<userPrivacySettingShowLinkInForwardedMessages> type_tag;
15936 func(type_tag);
15937 } else {
15938 func(static_cast<userPrivacySettingShowLinkInForwardedMessages &>(*obj));
15939 }
15940 return true;
15941 case userPrivacySettingShowPhoneNumber::ID:
15942 if constexpr (AllowTag) {
15943 downcast_call_tag<userPrivacySettingShowPhoneNumber> type_tag;
15944 func(type_tag);
15945 } else {
15946 func(static_cast<userPrivacySettingShowPhoneNumber &>(*obj));
15947 }
15948 return true;
15949 case userPrivacySettingShowBio::ID:
15950 if constexpr (AllowTag) {
15951 downcast_call_tag<userPrivacySettingShowBio> type_tag;
15952 func(type_tag);
15953 } else {
15954 func(static_cast<userPrivacySettingShowBio &>(*obj));
15955 }
15956 return true;
15957 case userPrivacySettingShowBirthdate::ID:
15958 if constexpr (AllowTag) {
15959 downcast_call_tag<userPrivacySettingShowBirthdate> type_tag;
15960 func(type_tag);
15961 } else {
15962 func(static_cast<userPrivacySettingShowBirthdate &>(*obj));
15963 }
15964 return true;
15965 case userPrivacySettingShowProfileAudio::ID:
15966 if constexpr (AllowTag) {
15967 downcast_call_tag<userPrivacySettingShowProfileAudio> type_tag;
15968 func(type_tag);
15969 } else {
15970 func(static_cast<userPrivacySettingShowProfileAudio &>(*obj));
15971 }
15972 return true;
15973 case userPrivacySettingAllowChatInvites::ID:
15974 if constexpr (AllowTag) {
15975 downcast_call_tag<userPrivacySettingAllowChatInvites> type_tag;
15976 func(type_tag);
15977 } else {
15978 func(static_cast<userPrivacySettingAllowChatInvites &>(*obj));
15979 }
15980 return true;
15981 case userPrivacySettingAllowCalls::ID:
15982 if constexpr (AllowTag) {
15983 downcast_call_tag<userPrivacySettingAllowCalls> type_tag;
15984 func(type_tag);
15985 } else {
15986 func(static_cast<userPrivacySettingAllowCalls &>(*obj));
15987 }
15988 return true;
15989 case userPrivacySettingAllowPeerToPeerCalls::ID:
15990 if constexpr (AllowTag) {
15991 downcast_call_tag<userPrivacySettingAllowPeerToPeerCalls> type_tag;
15992 func(type_tag);
15993 } else {
15994 func(static_cast<userPrivacySettingAllowPeerToPeerCalls &>(*obj));
15995 }
15996 return true;
15997 case userPrivacySettingAllowFindingByPhoneNumber::ID:
15998 if constexpr (AllowTag) {
15999 downcast_call_tag<userPrivacySettingAllowFindingByPhoneNumber> type_tag;
16000 func(type_tag);
16001 } else {
16002 func(static_cast<userPrivacySettingAllowFindingByPhoneNumber &>(*obj));
16003 }
16004 return true;
16005 case userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages::ID:
16006 if constexpr (AllowTag) {
16007 downcast_call_tag<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages> type_tag;
16008 func(type_tag);
16009 } else {
16010 func(static_cast<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages &>(*obj));
16011 }
16012 return true;
16013 case userPrivacySettingAutosaveGifts::ID:
16014 if constexpr (AllowTag) {
16015 downcast_call_tag<userPrivacySettingAutosaveGifts> type_tag;
16016 func(type_tag);
16017 } else {
16018 func(static_cast<userPrivacySettingAutosaveGifts &>(*obj));
16019 }
16020 return true;
16021 case userPrivacySettingAllowUnpaidMessages::ID:
16022 if constexpr (AllowTag) {
16023 downcast_call_tag<userPrivacySettingAllowUnpaidMessages> type_tag;
16024 func(type_tag);
16025 } else {
16026 func(static_cast<userPrivacySettingAllowUnpaidMessages &>(*obj));
16027 }
16028 return true;
16029 case userPrivacySettingRuleAllowAll::ID:
16030 if constexpr (AllowTag) {
16031 downcast_call_tag<userPrivacySettingRuleAllowAll> type_tag;
16032 func(type_tag);
16033 } else {
16034 func(static_cast<userPrivacySettingRuleAllowAll &>(*obj));
16035 }
16036 return true;
16037 case userPrivacySettingRuleAllowContacts::ID:
16038 if constexpr (AllowTag) {
16039 downcast_call_tag<userPrivacySettingRuleAllowContacts> type_tag;
16040 func(type_tag);
16041 } else {
16042 func(static_cast<userPrivacySettingRuleAllowContacts &>(*obj));
16043 }
16044 return true;
16045 case userPrivacySettingRuleAllowBots::ID:
16046 if constexpr (AllowTag) {
16047 downcast_call_tag<userPrivacySettingRuleAllowBots> type_tag;
16048 func(type_tag);
16049 } else {
16050 func(static_cast<userPrivacySettingRuleAllowBots &>(*obj));
16051 }
16052 return true;
16053 case userPrivacySettingRuleAllowPremiumUsers::ID:
16054 if constexpr (AllowTag) {
16055 downcast_call_tag<userPrivacySettingRuleAllowPremiumUsers> type_tag;
16056 func(type_tag);
16057 } else {
16058 func(static_cast<userPrivacySettingRuleAllowPremiumUsers &>(*obj));
16059 }
16060 return true;
16061 case userPrivacySettingRuleAllowUsers::ID:
16062 if constexpr (AllowTag) {
16063 downcast_call_tag<userPrivacySettingRuleAllowUsers> type_tag;
16064 func(type_tag);
16065 } else {
16066 func(static_cast<userPrivacySettingRuleAllowUsers &>(*obj));
16067 }
16068 return true;
16069 case userPrivacySettingRuleAllowChatMembers::ID:
16070 if constexpr (AllowTag) {
16071 downcast_call_tag<userPrivacySettingRuleAllowChatMembers> type_tag;
16072 func(type_tag);
16073 } else {
16074 func(static_cast<userPrivacySettingRuleAllowChatMembers &>(*obj));
16075 }
16076 return true;
16077 case userPrivacySettingRuleRestrictAll::ID:
16078 if constexpr (AllowTag) {
16079 downcast_call_tag<userPrivacySettingRuleRestrictAll> type_tag;
16080 func(type_tag);
16081 } else {
16082 func(static_cast<userPrivacySettingRuleRestrictAll &>(*obj));
16083 }
16084 return true;
16085 case userPrivacySettingRuleRestrictContacts::ID:
16086 if constexpr (AllowTag) {
16087 downcast_call_tag<userPrivacySettingRuleRestrictContacts> type_tag;
16088 func(type_tag);
16089 } else {
16090 func(static_cast<userPrivacySettingRuleRestrictContacts &>(*obj));
16091 }
16092 return true;
16093 case userPrivacySettingRuleRestrictBots::ID:
16094 if constexpr (AllowTag) {
16095 downcast_call_tag<userPrivacySettingRuleRestrictBots> type_tag;
16096 func(type_tag);
16097 } else {
16098 func(static_cast<userPrivacySettingRuleRestrictBots &>(*obj));
16099 }
16100 return true;
16101 case userPrivacySettingRuleRestrictUsers::ID:
16102 if constexpr (AllowTag) {
16103 downcast_call_tag<userPrivacySettingRuleRestrictUsers> type_tag;
16104 func(type_tag);
16105 } else {
16106 func(static_cast<userPrivacySettingRuleRestrictUsers &>(*obj));
16107 }
16108 return true;
16109 case userPrivacySettingRuleRestrictChatMembers::ID:
16110 if constexpr (AllowTag) {
16111 downcast_call_tag<userPrivacySettingRuleRestrictChatMembers> type_tag;
16112 func(type_tag);
16113 } else {
16114 func(static_cast<userPrivacySettingRuleRestrictChatMembers &>(*obj));
16115 }
16116 return true;
16117 case userPrivacySettingRules::ID:
16118 if constexpr (AllowTag) {
16119 downcast_call_tag<userPrivacySettingRules> type_tag;
16120 func(type_tag);
16121 } else {
16122 func(static_cast<userPrivacySettingRules &>(*obj));
16123 }
16124 return true;
16125 case userRating::ID:
16126 if constexpr (AllowTag) {
16127 downcast_call_tag<userRating> type_tag;
16128 func(type_tag);
16129 } else {
16130 func(static_cast<userRating &>(*obj));
16131 }
16132 return true;
16133 case userStatusEmpty::ID:
16134 if constexpr (AllowTag) {
16135 downcast_call_tag<userStatusEmpty> type_tag;
16136 func(type_tag);
16137 } else {
16138 func(static_cast<userStatusEmpty &>(*obj));
16139 }
16140 return true;
16141 case userStatusOnline::ID:
16142 if constexpr (AllowTag) {
16143 downcast_call_tag<userStatusOnline> type_tag;
16144 func(type_tag);
16145 } else {
16146 func(static_cast<userStatusOnline &>(*obj));
16147 }
16148 return true;
16149 case userStatusOffline::ID:
16150 if constexpr (AllowTag) {
16151 downcast_call_tag<userStatusOffline> type_tag;
16152 func(type_tag);
16153 } else {
16154 func(static_cast<userStatusOffline &>(*obj));
16155 }
16156 return true;
16157 case userStatusRecently::ID:
16158 if constexpr (AllowTag) {
16159 downcast_call_tag<userStatusRecently> type_tag;
16160 func(type_tag);
16161 } else {
16162 func(static_cast<userStatusRecently &>(*obj));
16163 }
16164 return true;
16165 case userStatusLastWeek::ID:
16166 if constexpr (AllowTag) {
16167 downcast_call_tag<userStatusLastWeek> type_tag;
16168 func(type_tag);
16169 } else {
16170 func(static_cast<userStatusLastWeek &>(*obj));
16171 }
16172 return true;
16173 case userStatusLastMonth::ID:
16174 if constexpr (AllowTag) {
16175 downcast_call_tag<userStatusLastMonth> type_tag;
16176 func(type_tag);
16177 } else {
16178 func(static_cast<userStatusLastMonth &>(*obj));
16179 }
16180 return true;
16181 case userSupportInfo::ID:
16182 if constexpr (AllowTag) {
16183 downcast_call_tag<userSupportInfo> type_tag;
16184 func(type_tag);
16185 } else {
16186 func(static_cast<userSupportInfo &>(*obj));
16187 }
16188 return true;
16189 case userTypeRegular::ID:
16190 if constexpr (AllowTag) {
16191 downcast_call_tag<userTypeRegular> type_tag;
16192 func(type_tag);
16193 } else {
16194 func(static_cast<userTypeRegular &>(*obj));
16195 }
16196 return true;
16197 case userTypeDeleted::ID:
16198 if constexpr (AllowTag) {
16199 downcast_call_tag<userTypeDeleted> type_tag;
16200 func(type_tag);
16201 } else {
16202 func(static_cast<userTypeDeleted &>(*obj));
16203 }
16204 return true;
16205 case userTypeBot::ID:
16206 if constexpr (AllowTag) {
16207 downcast_call_tag<userTypeBot> type_tag;
16208 func(type_tag);
16209 } else {
16210 func(static_cast<userTypeBot &>(*obj));
16211 }
16212 return true;
16213 case userTypeUnknown::ID:
16214 if constexpr (AllowTag) {
16215 downcast_call_tag<userTypeUnknown> type_tag;
16216 func(type_tag);
16217 } else {
16218 func(static_cast<userTypeUnknown &>(*obj));
16219 }
16220 return true;
16221 case usernames::ID:
16222 if constexpr (AllowTag) {
16223 downcast_call_tag<usernames> type_tag;
16224 func(type_tag);
16225 } else {
16226 func(static_cast<usernames &>(*obj));
16227 }
16228 return true;
16229 case users::ID:
16230 if constexpr (AllowTag) {
16231 downcast_call_tag<users> type_tag;
16232 func(type_tag);
16233 } else {
16234 func(static_cast<users &>(*obj));
16235 }
16236 return true;
16237 case validatedOrderInfo::ID:
16238 if constexpr (AllowTag) {
16239 downcast_call_tag<validatedOrderInfo> type_tag;
16240 func(type_tag);
16241 } else {
16242 func(static_cast<validatedOrderInfo &>(*obj));
16243 }
16244 return true;
16245 case vectorPathCommandLine::ID:
16246 if constexpr (AllowTag) {
16247 downcast_call_tag<vectorPathCommandLine> type_tag;
16248 func(type_tag);
16249 } else {
16250 func(static_cast<vectorPathCommandLine &>(*obj));
16251 }
16252 return true;
16253 case vectorPathCommandCubicBezierCurve::ID:
16254 if constexpr (AllowTag) {
16255 downcast_call_tag<vectorPathCommandCubicBezierCurve> type_tag;
16256 func(type_tag);
16257 } else {
16258 func(static_cast<vectorPathCommandCubicBezierCurve &>(*obj));
16259 }
16260 return true;
16261 case venue::ID:
16262 if constexpr (AllowTag) {
16263 downcast_call_tag<venue> type_tag;
16264 func(type_tag);
16265 } else {
16266 func(static_cast<venue &>(*obj));
16267 }
16268 return true;
16269 case verificationStatus::ID:
16270 if constexpr (AllowTag) {
16271 downcast_call_tag<verificationStatus> type_tag;
16272 func(type_tag);
16273 } else {
16274 func(static_cast<verificationStatus &>(*obj));
16275 }
16276 return true;
16277 case video::ID:
16278 if constexpr (AllowTag) {
16279 downcast_call_tag<video> type_tag;
16280 func(type_tag);
16281 } else {
16282 func(static_cast<video &>(*obj));
16283 }
16284 return true;
16285 case videoChat::ID:
16286 if constexpr (AllowTag) {
16287 downcast_call_tag<videoChat> type_tag;
16288 func(type_tag);
16289 } else {
16290 func(static_cast<videoChat &>(*obj));
16291 }
16292 return true;
16293 case videoMessageAdvertisement::ID:
16294 if constexpr (AllowTag) {
16295 downcast_call_tag<videoMessageAdvertisement> type_tag;
16296 func(type_tag);
16297 } else {
16298 func(static_cast<videoMessageAdvertisement &>(*obj));
16299 }
16300 return true;
16301 case videoMessageAdvertisements::ID:
16302 if constexpr (AllowTag) {
16303 downcast_call_tag<videoMessageAdvertisements> type_tag;
16304 func(type_tag);
16305 } else {
16306 func(static_cast<videoMessageAdvertisements &>(*obj));
16307 }
16308 return true;
16309 case videoNote::ID:
16310 if constexpr (AllowTag) {
16311 downcast_call_tag<videoNote> type_tag;
16312 func(type_tag);
16313 } else {
16314 func(static_cast<videoNote &>(*obj));
16315 }
16316 return true;
16317 case videoStoryboard::ID:
16318 if constexpr (AllowTag) {
16319 downcast_call_tag<videoStoryboard> type_tag;
16320 func(type_tag);
16321 } else {
16322 func(static_cast<videoStoryboard &>(*obj));
16323 }
16324 return true;
16325 case voiceNote::ID:
16326 if constexpr (AllowTag) {
16327 downcast_call_tag<voiceNote> type_tag;
16328 func(type_tag);
16329 } else {
16330 func(static_cast<voiceNote &>(*obj));
16331 }
16332 return true;
16333 case webApp::ID:
16334 if constexpr (AllowTag) {
16335 downcast_call_tag<webApp> type_tag;
16336 func(type_tag);
16337 } else {
16338 func(static_cast<webApp &>(*obj));
16339 }
16340 return true;
16341 case webAppInfo::ID:
16342 if constexpr (AllowTag) {
16343 downcast_call_tag<webAppInfo> type_tag;
16344 func(type_tag);
16345 } else {
16346 func(static_cast<webAppInfo &>(*obj));
16347 }
16348 return true;
16349 case webAppOpenModeCompact::ID:
16350 if constexpr (AllowTag) {
16351 downcast_call_tag<webAppOpenModeCompact> type_tag;
16352 func(type_tag);
16353 } else {
16354 func(static_cast<webAppOpenModeCompact &>(*obj));
16355 }
16356 return true;
16357 case webAppOpenModeFullSize::ID:
16358 if constexpr (AllowTag) {
16359 downcast_call_tag<webAppOpenModeFullSize> type_tag;
16360 func(type_tag);
16361 } else {
16362 func(static_cast<webAppOpenModeFullSize &>(*obj));
16363 }
16364 return true;
16365 case webAppOpenModeFullScreen::ID:
16366 if constexpr (AllowTag) {
16367 downcast_call_tag<webAppOpenModeFullScreen> type_tag;
16368 func(type_tag);
16369 } else {
16370 func(static_cast<webAppOpenModeFullScreen &>(*obj));
16371 }
16372 return true;
16373 case webAppOpenParameters::ID:
16374 if constexpr (AllowTag) {
16375 downcast_call_tag<webAppOpenParameters> type_tag;
16376 func(type_tag);
16377 } else {
16378 func(static_cast<webAppOpenParameters &>(*obj));
16379 }
16380 return true;
16381 case webPageInstantView::ID:
16382 if constexpr (AllowTag) {
16383 downcast_call_tag<webPageInstantView> type_tag;
16384 func(type_tag);
16385 } else {
16386 func(static_cast<webPageInstantView &>(*obj));
16387 }
16388 return true;
16389 default:
16390 return false;
16391 }
16392}